Protecting the map

Status
Not open for further replies.
Level 9
Joined
Apr 7, 2010
Messages
480
hi. im about to protect my map since i want to post it on hive so people can give comments and ideas on how i can improve it. btw can someone give me a brief background on protecting the map again?

here are some of my questions

#is there a way on unprotecting the map?
- if there is, how can i assure that no one will try to unprotect it
#is there a way on getting triggers on a protected map?
- since i have too, had been able to get imports on a protected map
#where can i get a good program to protect my map?
- idk if there are many kinds of program which protects map, but anyway i would like to have something worth trusting.

EDIT: kindly move this thread. i made a mistake on posting this on questions about world editor features. i guess i should have posted this on warcraft editing tools. my bad.
 

TKF

TKF

Level 19
Joined
Nov 29, 2006
Messages
1,267
Optimizer is not enough, people who wanna put cheats in the map is able to do so regardless of protection.

However wc3optimizer is the best protection imo cuz if someone unprotects it the triggers is converted to hard to read jass.


Also you can in addition use a single WEU trigger. Even if unprotected it cannot be opened, unless the very few who uses WEU. Most people despise WEU cuz its worse than JNGP
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
Do realize that any map can be deprotected. It's just that it takes a lot of work and effort.
So usually only the ones with good intentions deprotect them.
But ofcourse that's not always the case...
There are also people out there that just do it to mess up someone's map or to have some personal fun with having total lack of respect to the creator of the map.

TKF said:
However wc3optimizer is the best protection imo cuz if someone unprotects it the triggers is converted to hard to read jass.

If you are talking about Vexorians wc3mapoptimizer, it can be deprotected in under 30 seconds depending on which options are used for protecting.

I've seen some of the obfuscated Jass code created through unprotected maps and this is the only drawback for deprotectors.
But if you understand Jass, it's not that hard to see what it does.
The only annoying thing is the variables and function calls being renamed to something like: variable a, b, c, d, function call a1, b2 etc...

However, this doesn't mean that it's hard to add for example cheats to a map like you said before.
So that's not really a valid argument. Sometimes it's even possible to get the GUI triggers back through deprotecting...
You can also get back object editor data in some cases. And terrain ofcourse (terrain is usually there).


xdep and MPQ editors...

Also, using WEU triggers to protect a map is not really a good practice at all. It's simple to deprotect everything in that case.

Putting war3map.j inside a scripts folder is also some sort of protection, but it's better to do a combination of scrumbling the listfile, obfuscate the map's script and put war3map.j inside a scripts folder of the w3x archive.
This is usually what protecting tools do...
There are always ways of unprotecting data, remember that.
I just hope that those who do it only use it for good. Like for example people who lost their original map and want to change their own map.

I would never deprotect a map of someone without being 100% sure that it's that persons map.
Which is why you need to make sure that the creator's name is inside the loading screen or credits for example, just so that their account is recognizable.
But then again it's possible to impersonate that person. But then it's usually someone with a very low amount of rep or really new to the forums.
Also a thread to the official release of the map can give an indication of authority on the map.

EDIT: I think it's better if I shut up from here on...
Just realize that protecting is only to keep the mass newbies that want to cheat away from your code. (Those who don't know how to deprotect)
Those who know how to do it are usually the good guys that also create maps and want to help other people :).
 
Last edited:
Level 14
Joined
Apr 20, 2009
Messages
1,543
its really easy to "deprotect" a map,there is no point in "protecting" it

It's not that easy, you do need some extent of knowledge. But not if you simply want to add cheats and know which tools to use.
That's just mindless copy/paste of someone's code inside the script. So yeah, what you said is very true.
 
Last edited:
Level 9
Joined
Apr 7, 2010
Messages
480
@Hashjie, what do you mean by "Putting war3map.j inside a scripts folder is also some sort of protection?"

i protected my map using optimizer and 2 new copies were given to me 1 is w3x and the other is w3x.j, what will i do with the w3x.j file? but when im downloading maps that are protected im only given the w3x file
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
Open your map with an MPQ editor, look if there is a folder called Scripts inside. If it is not inside, create the scripts folder and put your war3map.j inside it.
Make sure you are not overwriting the war3map.j if there already is one.
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
There are indeed more advanced methods of protection, but as Hashjie already mentioned: everything can be deprotected.
I suggest either one of these:
  1. Optimize the map using Vexorian's map optimizer. This will decrease the file-size and ('accidentally') protect the map to deter 90% of the people who try to hack it (9% of the other 10 will succeed anyway).
  2. Do not protect it at all. Personally, I find open-source to be a beautiful thing and it's something I encourage everyone to do.

Protecting maps only causes trouble. I don't like protection (I also find it to be an arrogant statement about your own maps).
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
There are indeed more advanced methods of protection, but as Hashjie already mentioned: everything can be deprotected.
I suggest either one of these:
  1. Optimize the map using Vexorian's map optimizer. This will decrease the file-size and ('accidentally') protect the map to deter 90% of the people who try to hack it (9% of the other 10 will succeed anyway).
  2. Do not protect it at all. Personally, I find open-source to be a beautiful thing and it's something I encourage everyone to do.

Protecting maps only causes trouble. I don't like protection (I also find it to be an arrogant statement about your own maps).

I completely agree with you. Open source can only make it better as people can give feedback on your triggers and on how to improve them.
Plus the fact that you're actually giving something back to the community.
It would be nice to share each others mapping secrets to learn everyone how to create things that where accomplished in the creation of your maps.

Eithor ways, people are just too scared that their systems will be ripped off or even worse: fake maps where people claim they made it can be created.
Also, it's easier for anyone to throw in any cheat they want. So it does have a lot of draw-backs.
I think protecting them is still nessecary for people who tend to draw the attention of cheaters and scum.
Since most experienced mappers know how to deprotect them anyways, they can still see how things where made so I don't really see that much of a problem in it.

I think the best way to go is to have a template map with all the systems inside your map (without the working gameplay) and have your original map protected.
That would probably be a best case scenario ;P

It's like: if everyone was less affraid of rip-offs and cheaters, everything would turn out much better in the end.
 
Level 9
Joined
Apr 7, 2010
Messages
480
Ok i guess i'll post my map unprotected.

since,

1. most of the triggers were imported
2. as you guys said, people can give better feedback and comments
3. people can see triggers that leak

but, although most are imported, ive spent my time editing the map. its kinda hard to accept if someone might claim it as their own. although it might not be something worth claiming. HAHAHA LOL.

EDIT : +rep to those who posted :) thanks again. problem solved!
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
That's a completely reasonable feeling. That's why I always include a comment category named "Open-source", with in that some triggers (converted to custom text, you could also use comment triggers) that contain information for everyone willing to edit.
There's just the obvious stuff in there: give credits to people who deserve it and all that, and also what triggers serve what purpose.

Aside from that, I also import war3mapSkin.txt with my name in it somewhere, so people cannot edit it out from "Advanced -> Game Interface" (and noobs, the majority of people who steal maps, usually don't know about importing text-files).

The exception to this are ORPG's. If they're open-source, that means anyone can just go and change things and get max-level, max-item heroes (unless you use some protection in the code itself, something that notices when stats have been changed - a sort of extra checksum, this can get quite advanced though).
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
That's a completely reasonable feeling. That's why I always include a comment category named "Open-source", with in that some triggers (converted to custom text, you could also use comment triggers) that contain information for everyone willing to edit.
There's just the obvious stuff in there: give credits to people who deserve it and all that, and also what triggers serve what purpose.

Aside from that, I also import war3mapSkin.txt with my name in it somewhere, so people cannot edit it out from "Advanced -> Game Interface" (and noobs, the majority of people who steal maps, usually don't know about importing text-files).

The exception to this are ORPG's. If they're open-source, that means anyone can just go and change things and get max-level, max-item heroes (unless you use some protection in the code itself, something that notices when stats have been changed - a sort of extra checksum, this can get quite advanced though).

Hmm yeah importing txt files is a good idea :D

I wonder if it would be possible to create fully encrypted code to execute ^.^... It's possible to do in PHP, would be fun if it worked for jass too, I doubt it though using eval() is quite evil :p

Would be useful for parts of code that shouldn't be changed by the user.
b.t.w. what about executing TRIGSTR's wouldn't that be possible? You'd have to find out a way of converting them to readable jass in some sort of way.
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
Haha, I have no idea whether such a thing exists in JASS :).
Although... I think that, theoretically, it should be possible. It's going to drain a lot of time, but yeah. Maybe.
Textmacro's could play a huge role in that (though the war3map.j will give it all away then).

I've thought of the TRIGSTR's as well, but didn't really come up with anything useful :(.
I only have to do with a limited amount of knowledge about all these things though.
 

TKF

TKF

Level 19
Joined
Nov 29, 2006
Messages
1,267
Aside from that, I also import war3mapSkin.txt with my name in it somewhere, so people cannot edit it out from "Advanced -> Game Interface" (and noobs, the majority of people who steal maps, usually don't know about importing text-files)
Interesting. I'm not interested in adding custom font, but how do you overwrite ingame title stuff, like if they change the name, the txt file overwrites title name or whatever spot it puts the creators name in the map?


Very useful for putting this into OS maps.
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
Interesting. I'm not interested in adding custom font, but how do you overwrite ingame title stuff, like if they change the name, the txt file overwrites title name or whatever spot it puts the creators name in the map?


Very useful for putting this into OS maps.
The game name, creator name and all that kind of stuff goes into a different file called "war3map.wts" (the file that contains all strings in the map).
I can tell you how it generally looks like, but that won't really help you: once you're certain you're not going to edit anything anymore, you have to extract it from the map's mpq, edit it and then import it in your map via the import manager.

This actually works quite well, if it works that is :p.
Every string in the entire map (not only map name and all that, but all constant strings entered in the trigger editor as well) will get stored in there and get their unique id. If the order of the id's doesn't match, the map will either not work or behave in a strange way.

If everything is still correct, then it performs quite well, with only 2 problems (more on that in a bit).
The effective name and creator of the map will not change, nor will any other text in the map.

One of the problems is this:
CHKVI.jpg

The imported name (the one above the minimap image) and the given name (in the map list) are not the same. All other values seem retain the imported strings.
Players in battle.net usually only see the imported name though (hosts need to select the map and see the given name).
Anyway, it just messes it up slightly and that's actually a good thing :p

The second problem is that they can just delete the imported file :)
I don't know what effect it has on triggered strings, but for map name etc: it reverts to the imported settings and can then be changed regularly.
 
Status
Not open for further replies.
Top