Sandboxing & Security Model Luau
Penjelasan
Luau dirancang dengan sandboxing ketat karena dijalankan di lingkungan multi-pemain milik pihak ketiga (Roblox) — script tidak punya akses ke filesystem sistem, jaringan mentah, atau kemampuan menjalankan kode native seperti Lua standar di lingkungan desktop. Ini mencegah satu game berbahaya merusak komputer pemain atau server Roblox. Selain itu, tiap script berjalan dalam "identity level" berbeda tergantung dari mana dia berasal (game milik developer, plugin, command bar) yang menentukan API apa saja yang boleh diakses — mekanisme ini menjaga agar kode yang berasal dari sumber kurang terpercaya tidak bisa memanggil fungsi sensitif begitu saja.
Contoh Konsep
-- Ini TIDAK tersedia di Luau/Roblox (berbeda dari Lua standar di desktop):
-- io.open("file.txt", "r") -- error, tidak ada akses filesystem sistem
-- os.execute("perintah") -- error, tidak bisa jalankan perintah OS
-- Yang tersedia sebagai gantinya (dibatasi & aman):
local HttpService = game:GetService("HttpService")
-- HttpService:GetAsync(url) -- request terbatas, harus diaktifkan developer
local DataStoreService = game:GetService("DataStoreService")
-- dipakai untuk menyimpan data pemain secara aman lewat API resmi Roblox
Praktikum
Tuliskan sebagai komentar tiga contoh operasi yang TIDAK diizinkan langsung di Luau/Roblox karena sandboxing, dan sebutkan API resmi apa yang seharusnya dipakai sebagai gantinya untuk kebutuhan serupa.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Jangan mengandalkan trik atau workaround untuk "membobol" sandboxing Luau — selain melanggar aturan Roblox, batasan itu memang sengaja dirancang untuk melindungi pemain dan server.