Hear Me Out…
If we can require asset IDs and whitelist the universes they can be required from, then why aren’t big games gatekeeping their main modules behind this?
Why not just make your main module—or whatever your game is using—an asset that’s private under your account?
Once these skids with decompilers come in, even if they get the game, it won’t work if the main code running the game is gatekept. Roblox won’t let you require an asset you don’t have permission to.
Another thing
It would make it more easy for the developer of the game to update it as all they’d have to do is update the model and any new server will instantly get the update, So minor changes can be made without major losses. And yes it may be a burdon but really you can make it more simple on yourself by doing this:
When you require it
This is what im gatekeeping my anticheat with
See simple i can switch between when im making live changes to the module so i can test it in studio then when im ready all i do is delete the module i was editing BEFORE PUBLISHING then just undo it so no PUBLISHED versions get the module.
local Devmode = false
return if Devmode == true then require(script.Parent.Parent:FindFirstChild("MainModule")) else require(835659254447452)
and yes im aware of :FindFirstAncestor(“Name”)
correct me.
If im wrong and its not really this simple, Bring it down on me below. Let me know.