I am not sure if this has been suggested, but I would like to see an import model protection. Saying I develop my multiplayer game successfully and distribute it, there is nothing stopping the players to make a small cube and replace the name so my game imports it instead of the "wall.mdl" file, and the players can cheat by breaching walls.
If it is out there, maybe post a link, I can't find anything on it.
Posted By: mk_1
Re: Model Security - 08/04/09 01:30
Collision should be done server side, there you go. Besides you could add a crc check on the model files to see if it has been edited. There're ways to solve that "problem" but then again protecting models isn't hard to crack, too.
Two methodes:
1) If you own Professional, publish in Resource mode.
2) If not, use a third party tool like the one from Techmuc.
If you own Professional, publish in Resource mode.
Maybe, it has changed in the meanwhile, but this doesn't help, when the user knows the model's filename, because then the engine prefers the model outside of the resource against that in the resource.
Posted By: jcl
Re: Model Security - 08/04/09 11:22
If a user replaced a model, the server still has the original model. The user can't breach a wall this way because server updates override client movements.
What we can implement, however, is an option to lock a resource so that its content can't be replaced.
[edit]Maybe, it has changed in the meanwhile, but this doesn't help, when the user knows the model's filename, because then the engine prefers the model outside of the resource against that in the resource.[/edit]
I didn't know that...
[edit]What we can implement, however, is an option to lock a resource so that its content can't be replaced.[/edit]
This would be indeed useful.
Posted By: fogman
Re: Model Security - 08/04/09 13:20
Yeah, both options are useful in some cases.
Easy patching vs. security.
Would be nice to have the possibility to change between them.
Posted By: FBL
Re: Model Security - 08/04/09 14:00
Ok, I might now be mixing up things, but what's the .pak extension for then?
I always thought if we want to be able to replace resourced files we need to name them .pak and otherwise it does not work?
What is .pak for then?
Posted By: Cowabanga
Re: Model Security - 08/04/09 14:15
The type of the file doesn't matter. Because it's just using the file for saving the files.
You can make it like: .cowabanga or .firoball or simply .pak . (And even blank!!)
And so on...
Posted By: Rei_Ayanami
Re: Model Security - 08/04/09 14:23
Cool
*.cowobanga - I want to have that file format
Posted By: Rei_Ayanami
Re: Model Security - 08/04/09 14:46
sounds not so funnny xD - i prefer: *.chickenZ
Posted By: Cowabanga
Re: Model Security - 08/04/09 14:59
Or: *.antZ (It's an old movie XD)
Posted By: Rei_Ayanami
Re: Model Security - 08/04/09 15:05
Okay
- we shouldn´t spam this thread xD
Posted By: Cowabanga
Re: Model Security - 08/04/09 15:15
Yeah, let's get back to the point.
...
Can you please tell me what's the point here??
Posted By: FBL
Re: Model Security - 08/04/09 17:31
Ah I think I found my mistake now...
.pak extension is used when copying files FROM WRS...
The type of the file doesn't matter. Because it's just using the file for saving the files.
You can make it like: .cowabanga or .firoball or simply .pak . (And even blank!!)
And so on...
Bullsh!t.
Have you ever dared to even take a look at the manual??
Posted By: Cowabanga
Re: Model Security - 08/04/09 17:45
Have you ever dared to be polite??
I was trying to help here. Oh well, you don't deserve my help.
Added to blocklist.
Posted By: MrGuest
Re: Model Security - 08/04/09 17:56
How is anything you've put in this post useful? or in any other post?
Oh well, you don't deserve my help.
I think you meant "you don't deserve my incompetence."
Sorry to others for spamming in this thread, but i think it's hidden well under the junk above it
Thanks for the replies. I am using the ANET plugin for multi-player and seeing I am trying to work on a mmorgp game, I need the client to do as much as possible rather than asking the server. If there was something I could code into the engine saying something like....
ent_create("brick_wall.mdl", vector(x,y,z), 4300, NULL);
and the 4300 would be in bytes that gives or takes 500 bytes of the file size, I think I can solve this issue. It may not be the best but this is what I have. Either that or someone was mentioning the pro version...which I don't have as I use commercial. If you say that I can buy PRO and extract my game resource files to be encrypted so no one can change them, then this will work too. Can someone clarify that? Thanks.
ps: maybe another way would have a password box in med when you save your .mdl file, and when the 3d game studio opens it using commands such as ent_create_secure(...), you will have to enter that specific password. This way if the pass is not matched, the engine shuts down.
By the way, ANET is the MAN when it comes to programming multiplayer games. I got every client using at MAX 2kb of bandwidth, and on average 700 bytes per second.
Posted By: jcl
Re: Model Security - 08/06/09 08:22
It would be quite awkward to deal with a checksum or magic number for any single file. This had better to be done resource-wise.
The commercial edition does not support resources, thus you need to implement file protection yourself. The file size won't do because a hacker could easily use a model with the same size. The best ways would be either using the add_buffer() function for implementing an own resource reader, or using some checksum algorithm that runs over all files in your folder.