Map Stealer related
#1

I've recently found a map stealer, and it clearly steals each and every object within your range (also infinite).
I also found some people stealing maps from some popular and some mid-class stunt servers, like xSF, UIF, NEF, etc.
It's basically looping through MAX_OBJECTS, and retrieves the object id, and almost everything.(GetObjectID(), GetXPos(), ...)
If someone already has a readymade fix, I request you to post it here since we all can protect our servers.
But still, I'm here to ask if we can stop players from stealing them(?) If yes, then HOW?!?!?!
Reply
#2

You know what? You read nothing!
An hour of ****** gave me nothing...
Reply
#3

I don't know, But if it's true. You should turn your Server off or Lock it untill a fix... Ofc if you have maps not downloaded :P
Reply
#4

Doubt there's any solution to this - people can steal the objects regardless of what you do - it's being loaded into their client.
Reply
#5

Quote:
Originally Posted by rymax99
Посмотреть сообщение
Doubt there's any solution to this - people can steal the objects regardless of what you do - it's being loaded into their client.
That is correct there is no restriction on the data sent to clients it is public.
Reply
#6

There has been "Map Stealers" for ages now, there is no solution once the information is sent to the client he has the opportunity to save it. It does't work by stealing objects through a loop however it steals any loaded server objects, which is why a streamer is useful as the object has to streamed in for that client to download it.

This means each time a client drives around the objects they are streamed in for everyone and downloaded by that client. They ensure they have no duplicates by running checks of object ids and positions of the ones they have, therefore the more they've downloaded the slower the stealing gets.
Reply
#7

The stealer which I've seen noe, clearly WIPES off everything from the range
So, if you're in Abandonded Airport, You can totally steal it by standing in the middle..
I've got the source of the stealer now..
So, aren't there any solutions to stop people from stealing them?
Reply
#8

Search a bit more and you'll find some code on a German website to fix the problem, it's an easy fix but it requires some searching.
Reply
#9

Quote:
Originally Posted by biker122
Посмотреть сообщение
You know what? You read nothing!
An hour of ****** gave me nothing...
I am not allow to share the mod.
EDIT: Source <Removed>
Reply
#10

Quote:
Originally Posted by SturtIndia
Посмотреть сообщение
People like you should get off the internet for life.

OT: There isn't really a fix to it, unfortunately. You could suspect them and ip ban but that's about all.
Reply
#11

Quote:
Originally Posted by SturtIndia
Посмотреть сообщение
I am not allow to share the mod.
EDIT: Source <Removed>
The source and the compiled version are on the first page of ******, if anyone wanted it. It's there quite frankly.

You could possibly work around this by sending the data in three packets (as I've looked at the source of the MOST popular one). The most popular one attacks the packet directly, and doesn't respond to SetObjectPos() or SetObjectRot packets.

https://sampwiki.blast.hk/wiki/SetObjectPos
https://sampwiki.blast.hk/wiki/SetObjectRot

Therefore you could, possibly create your own functions to prevent the most popular one getting the information:

pawn Код:
CreateServerObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance = 200.00)
{
     new Object = CreateObject(modeid, 0, 0, 0, 0, 0, 0, 200.00);
     SetObjectPost(Object, X, Y, Z);
     SetObjectRot(Object, rX, rY, rZ);
     return 1;
}
That should work you can also use a define to make your currant objects, and your streamer also use this function. Keep in mind the streamer may not go back to the script to create the object, which would make this useless for streamed objects. Although you could try, but the define would need to be above the include!

pawn Код:
#if defined _ALS_CreateObject
    #undef CreateObject
#else
    #define _ALS_CreateObject
#endif
#define CreateObject CreateServerObject
Keep in mind however, this WILL NOT work, with the alternatives out there. This is because others seem to extract the information from the objects after they are streamed in by players. This means the positions are correct, on the bright side this one which seems more popular will no longer work.
Reply
#12

It's the same principle as people wanting to protect their websites from being copied/'ripped'/stolen. You can't do it, the data HAS to be loaded into the 'client'/web browser in this case in order for the 'client' to render the page. The principle is the same with mapping.
Reply
#13

I'm sure this doesn't collect texture data either texture the living shit out of your maps
Reply
#14

Quote:
Originally Posted by Pottus
Посмотреть сообщение
I'm sure this doesn't collect texture data either texture the living shit out of your maps
Correct, I tried it before and it didn't actually copy the scripted textures.
Reply
#15

Quote:
Originally Posted by Pottus
Посмотреть сообщение
I'm sure this doesn't collect texture data either texture the living shit out of your maps
The less popular one, which is newer and likely why. Does collect object textures, movements, everything! Absolutely everything, the fix above is just for the older one. Other than that, there is no fix what so ever for it. :/.
Reply
#16

Quote:
Originally Posted by IceCube!
Посмотреть сообщение
The less popular one, which is newer and likely why. Does collect object textures, movements, everything! Absolutely everything, the fix above is just for the older one. Other than that, there is no fix what so ever for it. :/.
Now that's gay...
There's nothing possible? no way even with an update? Like From Kalcor.
Reply
#17

Quote:
Originally Posted by Rudy_
Посмотреть сообщение
Now that's gay...
There's nothing possible? no way even with an update? Like From Kalcor.
Nope, because the information is required in order to load the map on the clients side. The only thing Kalcor could do is encrypt the data, and then send that encrypted data to the client, for them to decrypt. However that still wouldn't stop the newer version, where it downloads the objects when they spawn, move, etc from in game.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)