Attempting to prevent geometry theft

I have got a pretty reliable method of detecting geometry theft by looking at the memory usage of a player, my issue is I have no idea what to do with that information.
Detected another 3 alt accounts stealing copies of one of my showcases today, and I know full well geometry theft is always going to be possible, but ideas for further measures to annoy the hell out of the people doing it would be appreciated.
Tried emailing Roblox already to get them taken down but got given the usual “oh they could have just recreated it.” rubbish.
Would be nice if they at least admitted it was a intractable problem to users who email them about it.

2 Likes

Out of curiosity, what is geometry theft?

A more specific term for place theft, only use that as the term because it sort of implies why it’s always going to be possible for people to do.
It annoys me the fact you can literally google how to do it and find convenient youtube tutorials. Roblox could at least make an attempt at getting easy to find tutorials taken down.

Specifically I’m talking about exploits that involve taking a copy of everything loaded on your client, rather than exploits involving gaining access to a users account etc.

2 Likes

Unfortunately, theres no real way of detecting geometry theft. I would not recommend looking at memory usage as there a huge change of getting false positives (especially on lower end machines). There are ways to go after stolen assets that are re-uploaded by going through the process in this devfourm post. As stated in this post:

You own the IP of the games and other content you create

1 Like

Yeah the reason I currently don’t do anything with that information is to prevent false positives, but I haven’t got any so far as far as I can tell.

I am aware of that process. I thought I’d mention here that if you email general Roblox support their response is to still just tell you they might have rebuilt your place from scratch, rather than suggesting you go about that process, or even just a link to that dev forum post.

My friend has some code that if it thinks they are likely to be stealing the place, it place teleports them to a rick roll place. Small victories.

2 Likes

You can’t prevent theft of geometry data and you shouldn’t. I’m not sure what “memory usage” trick you’re applying but it sounds circumventable, unsupported and/or hacky. Just leave it be and update your game. There’s frankly not much you can do even in the realm of “annoy” (which is fairly pointless, since place theft ignores quite a lot).

Doesn’t hurt to spend a few hours trying to make it harder to do when hours worth of work can get stolen in a few seconds.
I still say a more invasive system like BattlEye or EAC is something no big platform should be without, Roblox included. Would certainly help to a decent degree.

Memory-based detections are never a good idea. A client’s memory can suddenly raise for whatever reason, even due to your own scripts.

The purpose of the Stats service was never detecting exploiters, but rather debugging stuff & finding memory leaks.
Besides, since it would be a clientsided check, the exploiter can bypass it by:

  • Hooking Stats functions
  • Disabling your script
  • Making your script yield endlessly
  • Getting rid of the method you use to stop them. If it’s while true do end, they can use ScriptContext:SetTimeout(), if it’s requiring coregui modules, they can hook require, etc.
1 Like

Your best bet will be looking at the most common place theft scripts that exploits use and find ways to detect their usage. This obviously won’t stop everyone, but it’d stop the script kiddies that can’t be bothered to make their own scripts.

Personally, if they’re gonna take the meshes let them take it. It’s already been triangulated. Good luck working with that mess. And if they were to use it, just hit em up with the strike power.

Other than that I mean your game is your game. It’s your vision and your idea. So it’s not like if they even duplicated it they would be able to keep up with the updates, or use it in a meaningful way. After all, no one knows whats in store for the game but you… (unless you kinda got a roadmap…Rip)

And if it was used to build a different game, they would still end up in the strike zone. Is there any benefits to stealing geometry that I’m missing here?

1 Like

You really can’t “make it harder”. Place theft is a client-sided exploit. Any checks you do naturally also have to be on the client. An exploiter can circumvent those checks. You can give yourself the comfort of thinking you did anything significant but exploiters can circumvent or ignore those checks entirely.

Preventing place theft is a myth. The client can take whatever is on its machine and you can’t beat an exploiter on their own machine. You can maybe fend off undedicated exploiters but it’s a matter of time until your system is breached again.

Again with the first point of my response:

1 Like

Unless you intimidate them, and give them the: “Fear of the strike copyright strike” lol

But for those nasty people who don’t care about messages in game saying: “Stealing things in-game is unlawful and will give you a roblox copyright strike” It will be best to ban them, by their userID, and if they opensourced / used your content in in their game, just email roblox about it :smiley:

The reason people steal games is more often than not to leak them. Realistically, you only need to go after blatantly leaked sources of the game or plagiarised games that are gaining traction. If the assets are bound by a third-party license, then that may require a witch hunt.

Not really. Players who already stole your game will almost definitely not come back because they have no reason to. Even if they do, it’s not going to be on the same account.

For sure. Just make sure you have credible on-platform proof. It’s frankly quite difficult (or at least in my own personal experience) to get plagiarised games taken down unless it’s doing well on the market and in game statistics.