Don’t worry too much about your game getting copied/stolen, people who use a stolen copy of your game usually don’t make that much profit of it,
it’s against Roblox ToS too so if they get caught the place gets [Content Deleted] along with their account.
People who’ve played your game will usually know and recognize that you’re the real creator of it and the stolen copies won’t gain that much.
From what I’ve studied on Krnl’s saveinstance, it won’t save scripts and objects if the server moves them from serverstorage to startergui/starterplayer before the player joins
We had Crystal in our game just for the reason to stop stealing our games, what happens we get leaked and then the owner admitted it wasn’t that reliable, so no.
If there was a way to detect any amount of exploits on injection alone, why doesn’t every single frontpage game have an anticheat for that? They definitely have the budget to pay for an anti-injection script, or at least pay someone to make one, so why don’t they? Simple: Because there isn’t any such thing (yet)
The only way you could really detect if someone injects is if they have a script in their autoexecute which is detectable.
If your game’s map is large, you could use Site-DELTA’s method of preventing map theft, you can make a chunkloading system, unloaded chunks will be stored in the ServerStorage or ServerScriptService, these two services are server-sided, therefore the hackers cannot access/download stuffs stored inside them. You don’t necessarily need to worry about server-sided scripts being stolen, as It’s near impossible to steal them. Hope this helps.
There’s no point in chunk loading for the sake of preventing map theft, do it because you want to optimise your game properly. Chunks should be in ReplicatedStorage so that they’ll be replicated to the client’s memory and quickly accessible when needing to load chunks.
Setting up a chunk loading system where the client doesn’t have access to the chunks is the antithesis of a chunk loader and using it to prevent map theft instead of to optimise is also not using it correctly. It’s a waste of time and there’s also no guarantee exploiters can’t just save chunks after they load.
Not nearly impossible, completely impossible. No server-side code is ever sent to the client because it doesn’t have a need to compile or run that code.
I would argue no it’s not. The response already does a good job at explaining itself that it’s not the best method by saying it isn’t perfect.
Injection is client-sided so that means your solution also needs to be client-sided and no client-sided solution is completely flawless, the most it may do is stop a casual exploiter with no depth knowledge as to what they’re performing. The server can’t flag injections because nothing happens on its end until the client starts sending something through over the network or modifying something it has authority over.
Also, instances are still available in memory after destruction awaiting garbage collection. Exploiters can fetch instances back, make copies or stop the process completely.
Add a script in ur map or a hidden part of ur map that sends a webhook to ur discord server notifying if the game.placeid is not your game.placeid it means ur map was stolen so.
Then u use that information to report the player.
If u want u can go an extra step, and befriend that person using an alt and get to know them and then build trust and u then take all the robux they got for their birthday.
Place-stealing exploits can only copy what is accessible to the player, so any server scripts will get lost in the download. A local script could do that but the exploiter could just search for anti-theft scripts and delete them after the download.