Google Translate:

Script by 3ICE.




  • 23Nov

    Protecting Warcraft III maps:

    Protecting means damaging a Warcraft III map in a way that the World Editor can not, but the game can still read, load and play it. The editor uses a lot of extra files and headers that Warcraft III doesn't need. You can safely delete them and still play the map.

    Map protection might keep newbies from opening your maps in the world editor, but as long as Warcraft III can open your map, it is wide open for an expert user. (3ICE: Like me!)

    Vexorian's Map Optimizer:

    This is the best available map protecting tool to date.
    Download: WC3MapOptimizer5.0 (438kb, zip) (or visit original website for latest.7z version)

    How to use:

    Open Your Map
    Open your map in the Optimizer

    First, open your w3m or w3x map file in the Optimizer by clicking on the Open button and then locating it in the dialog.

    Locate War3Patch.mpq
    Locate War3Patch.mpq

    If this is your first time using the Optimizer, you'll have to locate the War3Patch.mpq file which is required for safely obfuscating your map script.

    Settings and Save
    Check all checkboxes and Save

    All checkboxes need to be checked, even the one that isn't automatically checked by the Check All feature. Proceed by clicking Save, typing in a new filename for your optimized version (I usually append " -opt" after the map's filename, like 3ICE's Demo Map -opt.w3x) and watching the Optimizer bring down your map's filesize by 20%-80%.

    That was it! (This tutorial ends here, unless of course you are interested in how the Optimizer works, what it does, how and why, and what else you can do to prevent others from opening your map.)

    Deleting editor-only files:

    (The Optimizer does this automatically)
    You can delete the following files from your map to make it unopenable. (Their contents are stored in a file called war3map.j too. Only the editor uses these files, the game uses war3map.j)

    • war3map.wtg - triggers (GUI form, not used ingame)
    • war3map.w3c - camera
    • war3map.w3s - sounds
    • war3map.w3r - regions
    • (there are more)

    The above four files are only used by the editor. A missing or alternated version of them will cause the World Editor to fail loading the map.

    To be able to delete/move/modify files in a Warcraft III map, you will need to download an MPQ editor, like WinMPQ.

    Modify war3map.wtg:

    (Can't be used together with the Optimizer)
    This serves as an extra kick in the face for people trying to open your map. Download this war3map.wtg file and import it into your map with an mpq editor, overwriting the original one. Then delete the (Attributes) file from your map to prevent it from crashing.

    Result: All trigger functionality will disappear the next time your map is saved by someone! This is a perfect protection and a nice effect too. Prevents map rigging and displays a "This map is protected" message instead of your triggers. (Don't forget to create a copy of your map so you can keep editing it.)

    Hiding the war3map.j file:

    (The Optimizer does this automatically)
    Regular map files contain the war3map.j file in the root directory. But a map still works if the file is moved into a directory called "Scripts\". Older versions of map unprotector software and most listfiles do not have the "Scripts\war3map.j" entry.

    Scrambling the war3map.j file

    (The Optimizer does this automatically)
    Rename all variables and function names with random numbers and letters. This renders the war3map.j file very hard to read by normal people. (Even if they know JASS!)

    Pros of protecting:

    • Keeps newbies from opening and altering your map. Some people have been known to seriously rig the game in their favor, or edit your map and claim it as their own.
    • The map becomes smaller. (Trimming down the file size by 30-50% is quite common. My record is 80% compression!)

    Cons of protecting:

    • Other people cannot learn from your map, thus you are hindering map development.
    • Blizzard encourages people to open other maps to learn. Shouldn't prevent that.
    • You can accidentally lose the original map. (Can't work on the protected ones!)
    • No matter how well you protect a map, there are people who can still open it (3ICE: Like me!). If Warcraft can read the map, anyone can (if they know how).
    • As there are map protectors available for download, so are various scripts for unprotecting them.
    • Even if you delete the GUI triggers from a map, the JASS format of them are still there (and required by Warcraft III).

    MPQ editors:

    You will need an MPQ editor if you chose not to use Vexorian's Map Optimizer.

    Appendix - Deprotecting/Unprotecting protected maps:

    People who read tutorials on how to protect maps are not yet ready for unprotecting them. But all it really takes is reversing the effects of map protection or using programs that do it automatically.

    There is a very nice, command line based Russian program called xdep. I used it for hacking some rpgs (getting myself a max lvl, 9999 all stats, best items equipped hero's savecode) only for fun. I have hacked TBR, Defi4nc3, COT and pe0 the day they came out. I do not play on my hacked characters, it's only for showing off.

    Once you have opened a protected map, you will find a huge wall of text instead of triggers. That is the map code, it's in JASS. All triggers are in there, somewhere. You can not access the GUI triggers in a protected map unless you manage to restore the war3map.wtg file, which is nearly impossible. You may, however, add triggers under, or insert JASS functions directly into the map code. I will deprotect anything for cash.

    Note - My stance on map protection and deprotection:

    All my released maps are protected, even though I don't feel it's right. But since I like to keep map size down I must delete war3map.wtg and obfuscate war3map.j thus protecting my map. I used to offer unprotected versions for download, but many people rigged them, so I no longer email maps to anyone who asks.

    There is nothing I would need to open a map for, but this is not the case with other people. Most map makers don't know everything yet, so it is important for them to be able to open maps in order to learn. I make a lot of tutorial maps to teach proper mapping techniques. All systems developed by me are available for download too.

    Deprotecting a protected map is just wrong. If someone wants to hide his triggers then it is his decision and we must respect it. Cracking a map open is unethical behavior. It's even worse if you release such unprotected maps publicly, making it available to riggers. Hacking RPGs to show off is okay with me. I do it too.

    Update - Damaging the MPQ headers (For advanced users):

    The first four bytes of the map hold the filetype-identifier (usually "HM3W"). We'll leave that and the next 508 blocks alone. The next four (4th, 5th, 6th and 7th) bytes always hold hex: {0×00 00 00 00}. The following 508 bytes hold the map name, some data with unknown purpose, some more nullbytes and then finally, after byte 512 the MPQ file begins with "MPQ " and hex {0×20 00 00 00} Which is actually another (but smaller) header, and we can damage it:

    Leave the string "MPQ " alone, and change hex {0×20 00 00 00} after it to hex {0×33 49 43 45} (We are at byte 516 now) and MPQ extractors will fail to open the map. Warcraft does not look at this information, so your map will be still playable. This method effectively crashes most deprotector scripts and programs, but any knowledgeable user can reverse the effect within seconds so it'll only help against beginners (People who don't know about this header corruption method).

    Posted by 3ICE @ 12:41 am

442 Responses

  • DH_Maker Says:

    Cool, I always wanted to protect my maps!

  • 3ICE Says:
  • Zoltee Says:

    i love this site, useful tutorials with warcraft 3

  • Zoltee Says:

    i bookmark this…

  • [MMH]Mod Says:

    thanks for the tut
    easy 2 read
    easy 2 understand

  • Tasper Says:

    3ICE, when I click on the Vexorian's map optimizer download link, it gives me an error. Can you upload the file to your website? Or can u link a mirror page where I could download it?
    Thanks 3ICE nice guide. Number 1!

    EDIT by 3ICE: Fixed grammar and language.

  • 3ICE Says:

    Yes, is sometimes down.
    Mirroring the file would require asking for permission from the author (Vexorian). But I'm sure he wouldn't want it. I don't know of any legit websites that are actively mirroring the latest version. Wait a few hours and try again.

    Edited by 3ICE: (Update) Yes, I have been mirroring the download for a while now.

  • 3ICE Says:

    Updated! I added a tutorial on how to work the Optimizer: (Scroll up)

  • Sylvano Says:

    Hi there would you be willing too give lessons on how to unprotect certain WC3 maps qoz me and a few of my buddies love rpg maps but some times we want too use those original maps and change the models with our own balanced heroes it takes too long too make new maps everyday and we dont play on Bnet but we rather play local at our home LAN our intensions are not too rig the games and or copy or beter on them or post them but just change them for our own enjoyment please email me at (removed) TY…..

    Edited by 3ICE: Hiding e-mail address…

  • 3ICE Says:

    Congratulations on completely ignoring my opinion on map deprotection.

    But as I said in the article:

    I will deprotect anything for cash.

    By the way how to unprotect maps is explained here.

    p.s.: Are you willing to learn JASS? Hacking is only for programmers. This is a strict rule. No programming → No hacking.

  • bounty Says:

    Hey 3ICE, could you explain me how to Damage the MPQ headers?
    Do i need to open my map with notepad or what? Please explain it :).


  • 3ICE Says:

    Use a Hex Editor and keep backups of your map. You will most likely break it for the first few tries.

  • bounty Says:

    Yeah but i cant understand :( could ya explain with screenshots?

  • 3ICE Says:

    No. That part was not written for you.
    Notice how it says: "For advanced users". That's obviously not you.
    So just don't do it.

  • Serbian Says:

    Having trouble unprotecting island defense. Could you do it for me and give me a link to unprotected version? It would be really great if you did and it would only take you 5 minutes.

    Btw… not trying to rig, trying to learn

    EDIT by 3ICE: Merged doublepost.

  • 3ICE Says:

    You don't even know JASS, so what would you learn from obfuscated code? Nothing!

    Pay and I will do it, otherwise my answer is a no.

  • Ultimate_Loop Says:

    3ICE cool site! I have some questions about map making… I will post them at your forum.

  • Filip Says:

    Hey! Can you help me open a protected map?

    I'm not an advanced user in triggers but this map is very nice and I really want to open it and see some things from editor… please help me! :)

    Edited by 3ICE: Only fixed one apostrophe, one article and one capitalization. Finally a good comment. :)

  • 3ICE Says:

    As stated in my post: "I will deprotect anything for cash." So cough up 5 dollars and we can talk.

    Proof that I unlocked the map: WoW Risk in my Editor.jpg Edit: See below.

    The file World of Warcraft RISK v2.84 DEPROTECTED BY 3ICE.w3x is 1.3 MB big, but reportecting brings it down to 800kb again.

    Delivery upon payment to your email address. The file will be attached as a zip archive containing the deprotected map and all imported files within. And I will also upload it to a file sharing service of your choice. Redistributing (even resell) rights granted.

    Edited by 3ICE: Fuck imageshack for deleting all old images without notice. I managed to get a backup of this particular screenshot from a content thief (they don't deserve a backlink). I commented over there this though:

    Hey content thief, that's my screenshot. You had no permission to use it. Thank you for stealing it by the way, as I've lost all copies and was able to steal a copy of it back from you. Unfortunately the quality here is far worse than that of my original was…
    –3ICE (I took that screenshot)

    WoW Risk in my Editor

  • theorchero Says:

    Hello 3ICE, would you be willing to deprotect a map for me? It is called Island Defense, although it has some pretty steep protection, If possible I would like the triggers in GUI, I'm not yet very proficient in JASS at the moment, and I feel the map is going to shit, so I have a friend who is a more experienced editor who would like to help the map out (I AM willing to pay you if you want, though I know you will, lol)
    P.S. I tried the best on grammar, because I noticed you are pretty picky on that note :)

    Edited by 3ICE: Fixed spelling of "profecient", "experianced", "grammer".

  • 3ICE Says:

    Island Defense was written in JASS. Protected maps do not have any GUI triggers left in them even if they were made in GUI. Protection deletes war3map.wtg as you can clearly see above.
    And Island Defense has a very strong map maker base, so it is not "going to shit" anytime soon.

  • theorchero Says:

    Do you actually play Island Defense?
    Pandamime (Wall.Up) or whoever the hell it is, IS fucking up the map.
    He took away tomes, nerfed perfectly balanced builders for no reason,
    plus, he's a control freak on his own site.
    Could you be willing to restore "War3map.wtg"?
    How much do you ask, by the way.

    Sorry for double post, but I accidentally pressed submit before I wanted to lol. If you feel that you don't want it edited, could you make it read-only (so that I could at least learn from it :P)?

    Edited by 3ICE: Merged your doublepost, added some <br>s to make answering easier, added "I", fixed spelling of "accidently".

  • 3ICE Says:

    Yes, I do.
    No, he isn't. (Well, okay, maybe he is…)
    So what? Play an old version that you like.
    But being in control feels good. Can't blame him.
    No, war3map.wtg can not be restored, as it was deleted from the map.*
    I don't have any set rates, I usually ask for a minimum of 5$.

    *Restoring a deleted war3map.tgs is only possible with several months of non-stop work and reverse engineering. I would rather not torture myself with stuff like that.

    And as I said above, the map was actually written in JASS, so even after restoring the so-called triggers, they would still be JASS, and not GUI.

    Hand written JASS can not be translated back into GUI, because JASS has tons more functions than GUI.

    For example in GUI, there are 2 functions for writing text on the screen, but in JASS there are at least 6. (DisplayTextToForce(), DisplayTextToPlayer(), DisplayTimedTextFromPlayer(), DisplayTimedTextToForce(), DisplayTimedTextToPlayer(), and BJDebugMsg())

  • theorchero Says:

    Very well, my friend can read JASS, so it'll be ok. I'm in the process of learning it, so it'll help either way. Deprotect it asap. 10$ sound good? (Btw, what payment method do you prefer, is Visa Debit ok?)

    Edited by 3ICE: Capitalized "very", added a question mark.

  • 3ICE Says:

    Consider it done.

    But first, please provide a link to the version you would like me to deprotect. There are too many different authors and spin-offs: Yacapo, Dildamesh, Panda, Darox, Sidd, Wall.Up, etc…

  • theorchero Says:

    Ok. mapgnome,org/map-download/346631 is the map. How do you want me to pay you? Is there a donate button somewhere?

    Edited by 3ICE: RIP mapgnome :( It's a spam site now.

  • 3ICE Says:

    Yes, there is one in my signature on my forum. Here is a copy:

    Donate to 3ICE via PayPal

  • theorchero Says:

    Ok. Payment on verification of deprotection, Delivery by email please.

    Sorry for double post, but paypal is giving me issues. Is there any other way for me to pay you, without going through paypal?

    Edited by 3ICE: Merged doublepost.

    Sorry, just delete previous comment. Use the "request money" function on paypal, and send it to my email (should be visible to you, if not, let me know) and I will pay it.

    Edited by 3ICE: Merged triplepost, request money sent.

  • 3ICE Says:

    Proof: Island-Defense in my Editor.jpg

    The file Island-Defense.3.0.3d DEPROTECTED BY 3ICE is 2.2 MB big.

    Delivery upon payment to your email address. The file will be attached as a zip archive containing the deprotected map and all imported files within. And I will also upload it to a file sharing service of your choice. Redistributing (even resell) rights granted.

    However, there are two pieces of bad news:

    One, I have no means of receiving payment except through PayPal. (Also, we should call it "Donation" as I do not wish to pay tax after 10 dollars.)

    Two, the map code is heavily obfuscated. Every variable name consists of the same three characters; I, O, and 0.
    Example: IOOII, IOOOI, IOO0I, IO0II, IO0OI. Also see screenshot:
    Obfuscated JASS code
    This kind of obfuscation is pretty scary, because it takes weeks to rename every variable to something that is more meaningful. (There are scripts for automating the process, but they are not that helpful. In this case sound IIO00OIOI0=null would turn into sound global_sound_variable_12=null.)

  • theorchero Says:

    Damn. I have to "activate" my paypal account, with either acquiring a paypal credit card or with a bank account, and I don't have one. Any in-direct ways to pay? I'm willing to cover any tax.

  • 3ICE Says:

    Not that I know of :(
    And I like to keep my money in one place (PayPal), so other payment services won't work.

  • theorchero Says:

    damn. This is a REAL pain in the ass. There's got to be some way D:
    Is there a way to pay directly to your bank account? If all else fails, hell, I'll pay for a WoW subscription or some crap.

  • 3ICE Says:

    I agree.
    No, I don't even have a bank account. PayPal sends me real money.
    I don't play WoW.

    Strange thing is, my PayPal account is not activated either, but I can still send or receive money. (Although there is an annoying limit of 500$/month on unactivated accounts.)

  • theorchero Says:

    O have a limit of 0$, lol assholeish service -.- I was walking about any subscriptions of a game i could pay for as a gift card or w/e

  • 3ICE Says:

    I don't play any games :)
    But I will try Starcraft2 when it comes out. Just to support Blizzard with my purchase.

  • theorchero Says:

    sorry for double post, but apparently i have a SENDING limit of 0 D;
    i'm in the process of googling ways to pay; let you know of any results..

  • 3ICE Says:

    My sending limit is 500$. Receiving has no limits whatsoever.

  • theorchero Says:

    Pay pal is being a bitch. You are the most anti game gamer i've ever seen lol.
    or i coukd just give u billions of gold in battlenet =D
    (sorry for the trouble D:)

  • 3ICE Says:

    I'm not a gamer. I never tried diablo, other games don't support giving gold.

  • theorchero Says:

    lol the "giving gold" was sarcasm. I hate this situation… Could I just mail you cash? (it'd take forever, but at least you'd get paid for your work…)
    P.S. This anti spam filter gets me every time :(

  • Pandamime Says:

    Can you deprotect a version for me too, I lost my copy.

  • 3ICE Says:

    Deprotect a version of what?
    "me too"? Who else?
    You lost your copy of what?

  • Striker Says:

    Excellent read.

  • AoW_Hun7312 Says:

    ^ vouch.

  • Garthummn Says:

    I give a 10 of 10 on the gnarly scale.

  • anti-noob Says:

    u can deprotect maps tht r protected by a map protector like this map protector and hack teir map s right….
    because for me i can deprotect a map useing dep

    Edited by 3ICE: This is the worst comment I have seen yet. Your spelling disgusts me.

  • 3ICE Says:

    Dear reader!

    If your message looks anything like the above, you might not want to click the "Submit Comment" button just yet. If you do, then I will hit the "Delete Comment" button just as fast.


  • Coaster_Man Says:

    Well that was a nice read. Heh, I tried to deprotect Island Defense too but I can't read JASS anyways. :( Oh but I did happen to get an older version of it so that's good but its got old races and it has already been changed. :/ Haha Pandammime…lost your copy…
    P.S. I hope my grammar was good I did the best I could. :D

  • Balla shakala Says:

    Hey does this work on macs?

  • 3ICE Says:

    Stupid question.

    Try it!

    And go read about emulators. Apparently you have never heard of them. They are very useful.

    I am sure most applications can be run on every platform. There are emulators for every os today. (Win on Mac, Linux on Win, Mac on Win, Linux on Mac, Mac on Linux, Win on Linux… all possible.)

  • Flarbin Blarbin Says:

    I don't know if you can, but where it says 'AUTODETECT', can you add more detail to the tutorial or possibly tell me what the other options mean in that drop-down box? I know that I can reduce the map to whatever size I want, but will it affect game quality or what?

    What is the best one to use? I see one that says (Blizzard) but can't make out the other half. Would that be the best to use to size it down?

    One more thing I want to ask, when I use the default settings listed within the entire tutorial (including AUTODETECT) and I optimize my map, it only reduces the size to 3.5%, which is not much. My map size is nearly 2.5 Mb. How are you getting 20% to 80% reduction and I am not? Could you explain how I can lower it more than 3.5%? By the time I was done, I only saved 85 kb…

    Edited by 3ICE: Merged doublepost, removed useless sentences, reworded questions, reordered commas and apostrophes.

  • 3ICE Says:

    Of course. (But I won't put this in the article itself, because it is too long already.)

    Reducing the size to 3.5% is HUGE! A whooping 96.5% reduction. Are you sure you worded that right? Doubtful. "Reducing by 3.5%" is how you should have put it.

    Anyway, the reason why I left it at AUTODETECT, is because it is supposed to be left at AUTODETECT. Study the readme that comes with the program and you'll find out about all the useful things AUTODETECT does.

    Are you using wav files in your map? Get rid of them! (Wav files are not compatible with the optimizer, because Vexorian hates them and so do I. Mp3s are way better, due to them being compressed.)

    Are you using imported models or mp3 music? Get rid of that junk! The real value in the map is not about the stupid music in it or the ugly bugged models. People listen to their own music while playing. I bet 99% even has war3 music disabled like I do. And not many people care about custom models. If they are overused, it is just annoying.

    The reason why my maps are optimized so well, is because my maps are about the triggering. JASS is text, it can be zipped very effectively.

    Data that is already compressed (mdx/mp3 files) will not lose much of their size during optimization.

    Edited by 3ICE: I removed your last 3 comments as they had no value (but were quite lengthy!) Please realize that the first two paragraphs were intended to be sarcastic, and that there are more timezones on Earth than your own. I happen to be in GMT+1, you are probably in UTC-5 (Based on your IP address, you are a citizen of Homosassa, and live in the state of Florida.)

    Edited by 3ICE: 2 more comments removed. Please stop!

  • Martin Says:

    i opened the map in a hex editor but when i try to open it with mpq master it opens as if i have never done anything to it :S

  • 3ICE Says:

    As I already said, corrupting the header is easily reversed. MPQMaster can do it.

  • Martin Says:

    oh… ok thx ^^

  • Sneakonyou Says:

    I could give you the BS "I'm a new map maker help me by deprotecting something" But I'm not going to :O.
    I'm trying to deprotect something that is way over my head (I think) and it may be a challenge for you (maybe) well anyway-The map I wish to be deprotected is Metastasis (current version is 1.3.8) I want to screw around in LAN with a few of my buds. I'm willing to pay (A bit broke but willing to pay). So anyway contact me at nexon.****@*****.com if we have a deal.

  • 3ICE Says:

    I hid part your email address so should spambots find my site they won't pick it up. I also sent you an email asking you to give me more details.

  • Seeyabye Says:


    Just wondering, since you have mentioned the MPQ Header corruption, what is the other method of corrupting it completely where MPQ Master can never open it? What is it called and can you briefly describe how it's done?

  • 3ICE Says:


    Sorry I can't help you with that as I don't know the answer. Though Google might… :)

    p.s.: Just because MPQMaster can't open the map, other tools will. MPQMaster is not even the most popular tool, WinMPQ is.

    Edited by 3ICE: UPDATE: I now know the answer, though I won't name it just yet. Know that I have determined it to be a really creative method. Looks like it is unique. A clever, tiny piece of code, written in python by a member (or several members?) of the wc3edit hacking community. I spent some time on decompiling the executable (turns out you need to have the exact (now considered ancient) version of python that was used to compile it) and then I studied the reconstructed source code for a few minutes to determine what it does, and how clever it is. Turns out it's very clever. But I'm keeping the method and its name to myself for now, as it is a paid tool, protected by copyright law. I dare not illegally open source it while the copyright protection lasts. Here is an md5 hash pair as proof/hint: && db2ec8628694cab3cffc8840673d5877

  • AnAngryCustomer Says:

    I tried this out, because making it so nobody could get into my games would be cool. So, I followed the instructions and it didn't work. Then I try to launch WarCraft III TFT and that doesn't work… What gives?

  • 3ICE Says:

    Either you have an outdated version or you did something wrong.

    Edited by 3ICE: I seriously hope you didn't attempt to optimize war3.mpq itself! Do not do that…

  • Kanxion Says:

    even if i use this map optimzer and protect my map and my map still can be open by people?

  • 3ICE Says:

    Of course.

    There is only one way to protect your map perfectly: Delete it!

    Every other method has flaws.

    As long as Warcraft 3 can open the map and load it, anyone can do the same with some work.


    p.s.: Your English sucks!

  • duckne55 Says:

    i feel RMPQEx.exe by D07.Riv is a better MPQ editor.

  • 3ICE Says:

    And I have to agree.

  • Kanxion Says:

    No matter what method I used to protect my map it's still openable.
    Do you make RPG maps?
    How do I make a starting position without a town hall appearing like in some other RPGs?

    Edited by 3ICE: My god, did this post suck! Please learn to spell.
    useI used
    to portectto protect
    …stil open-able!!! lolz! do you…Start different thoughts on new lines!
    do youDo you
    …map? how i…Learn to use paragraphs!
    + do
    makmake a
    startlingstarting (Are you trying to be scary!?)
    townhaltown hall (Never seen it misspelled this bad…)
    like somelike in some
    rpg'sRPGs You are worse than an illiterate peasant! Greengrocers' apostrophes are incorrect. (Look it up if you don't know what I mean.)
  • Kendoggs Says:

    Oh God!
    I LOVE PEOPLE LIKE YOU. You are just like my English tutor, so dam crazy about spelling and grammar.
    Anyway I was just wondering what is happening when i use Wc3 Map Optimizer on a map i get 2 files (map name).w3x and (map name).j.
    The resulting file is not playable in Warcraft 3.
    Looking forward to you corrections as i suck at spelling and grammar.

  • 3ICE Says:

    Short: The file: (map name).w3x should work in Warcraft 3 without any problems, so I think you are doing something wrong.

    Long response:

    I'm glad people find my grammar enthusiasm entertaining.

    One of the resulting files, (map name).j, should be deleted on sight as it is not useful to you in any way.
    The other file, (map name).w3x, should be playable in Warcraft 3. Make sure it is inside your Maps folder (Usually C:\Program Files\Warcraft III\Maps\).

    Tip: To find the protected map easily, I have a folder called "!" (yes, its an exclamation point) inside my Maps folder. This is useful, because its on the top and also because too long map names or deep folder structures trigger a limitation in Warcraft 3, which makes the map not appear ingame. (I used to have folder structures like "Maps\3ICE's\Work in Progress\3ICE's Fastest Map Possible\3.7\Release Version\3ICE's Fastest Map Possible 3.7.w3m", but war3 didn't like it.)

    So try renaming your map to test.w3x and move it to C:\Program Files\Warcraft III\Maps\!\test.w3x - it will work.


  • iTWilli Says:

    its a really good programm but can you also unprotect other maps?

  • 3ICE Says:

    Yes it is.
    Sure, I can.

  • Benji_9 Says:


    I tried open a map that I think is protected. When I follow the tutorial and make a new map with a different name, and try to open it in World Editor it says: "Level Info data missing or invalid".

    I'd appreciate any help!


  • Goron Says:

    I first tried to use this protector, and it worked perfectly, but after When i tryes to open the map protector inside the winrar it says there is an error and i just can't open it, and when i try to open it outside of the winrar, nothing happens.
    Do you know what do i need to do to the map protector works again?

    by the way, your tuturial is very good, and it helped me a lot, thanks :D

  • derp mc derp Says:

    do you happen to know the what the name of the song in escape shroom world is?
    if not could you unprotect it and tell me for possibly free, due to i'm a poor and lazy bastard who just wants the damn song

  • 3ICE Says:


    There aren't any imported sound files in "Shroom World v2.5 -Protected-.w3x".

    However, the obfuscated map script does have a few lines that contain the word "music".
    I'll list them for you:
    From Trig_Start_Map_Actions:
        set gg_snd_PH1 = "Sound\\Music\\mp3Music\\PH1.mp3"
    From Trig_Lose_Actions:
        set gg_snd_SadMystery = "Sound\\Music\\mp3Music\\SadMystery.mp3"

    Most likely the music you are looking for is this file: PH1.mp3
    Check out to learn more about sounds.


    EDIT: Found a slightly newer version, "Escape Shroom World v2.6". And it does have a 1.7 MB file called in it. I renamed it to BGMUSIC.mp3 and it plays fine in Winamp, but it has no description and without the ID3 tags I can't tell you anything about the author or title. The best I can do is upload the extracted song to mediafire for you to download. Link:

    Hope that helped.


  • 3ICE Says:

    Dear everyone:

    From now on, please post unrelated questions on my forum at (requires registration)
    This blog post is getting hundreds of off-topic comments…
    What falls under off-topic? The blog post is about protecting maps, the comments are all about deprotecting them. Totally different.

    Thank you.

  • Icefrog_123 Says:

    Can you assist me in unprotecting Genesis of Empires 2? The jass text and variables don't add up because new characters are reintroduced in the text in random spots. If you could look at it and give me your feedback. It would be greatly appreciated and respected. I will pay you anything under $3000 and nothing over.

  • 3ICE Says:

    Read and then read it again. …Until you get it.

  • Charles Says:

    Can unprotect the Battle Stadium Don pls make the trigger GUI instead of jass because i can't understand jass ill pay you anything under $100

  • 3ICE Says:

    Sigh… At least read the article before making a comment.

    Especially this part:
    It says, "GUI can not be restored from protected maps!"

    Please also read
    It says, "Do not post deprotect requests here!"

  • Patrick Says:

    Can you extract Admin keys/Activator from a map I will pay?

  • 3ICE Says:

    Yes, I can, for 5$. Sent you an email.

  • Patrick Says:

    I sent you an email please take in mind It took someone over 4 hours to get an older version of the activator.

  • 3ICE Says:

    Over 4 hours? In that case, it might cost twice as much. Time is money :)

  • Ian Says:

    I have a question about replacing the war3map.wtg file.

    Does this mean that people can open and view all the data in your map using the editor and the trigger data is removed when the map is saved next?

    I would like that so people could view triggers, but if they try to save the map after making changes the trigger data would be removed/lost.

  • Anonymous Says:

    Wow this has actually been running for two entire years.
    Well it was a good read, I couldn’t seem to stop, for some reason it was somewhat entertaining.

  • 3ICE Says:

    Dear Anonymous,

    Yes, and actually even longer! :) My copyright notice says 2007-

    Because I write in an entertaining style.


  • 3ICE Says:

    Dear Ian,

    Yes, replacing the war3map.wtg file only protects (and hides) your triggers. All other data (Units, Items, Abilities, etc) remains "stealable". But nobody will be able to rig your map, because as soon as they try saving, all triggers disappear. And what is a map without its triggers? :)

    I know of a method that achieves exactly what you want. It shows triggers as they were, and crashes the editor when the thief tries saving. I couldn't find the tutorial on it so I'm going to have to write this thing off the top of my head. Hope I remember it right… What you have to do is:

    • Save a copy of your map, this will be the "protected version".
    • Introduce errorneous JASS code that crashes the wc3 parser. (See below.)
    • Make sure you hide that code in the middle of a big folder or trigger, because once the code is deleted your map becomes saveable again. Put it in multiple places for best protection.
    • Save, causing your editor to crash.
    • Find the temp files the editor created right before crashing. It should be exactly where you saved, in a folder called YourMap.w3xTemp
    • Use the war3map.wtg file from that temp folder as your replacement. Import it into the copy we saved in Step 1.
    • Done. All triggers will be visible, but your map will crash the editor if they try saving it.


    p.s.: I made you a triple-safe crasher:
    function Crash takes nothing returns nothing
    if GetExpiredTimer()==null then

    Don't forget to rename it. Make it look like a real function.
    It uses three of the many JASS crash bugs I know, and you should run it on map initialization for the third one to kick in properly.
    Crash #1: In-Editor (if with no endif)
    Crash #2: In-Editor (loop with no endloop)
    Crash #3: In-Game (Safety crash. If the editor is ever patched to ignore missing endif/endloop, we will still crash the rigged map, ingame! Because GetExpiredTimer() crashes the game if there are no expiring timers. That's why this should run on map init.)

    Tell me if it worked or not. I might have forgotten a step or a special requirement.

  • very pissed Says:

    sometimes i get when i try to make a map unprotected i get the error out of memorie and when i am done i load the map i get level info data missing or invalid and when i did a map it was seccessful and when i loaded it it did the same error again: not enough storage to procces this command what do i do plz plz plz plz help me

  • Anonymous for obvious reasons Says:

    I have deprotected a map - not to rig it or add cheats, but to make improvements to it that have been discussed for a long time. The map editors refuse to change the map, however, and that's why I have resulted in deprotecting the map myself. I have the knowledge and experience it would take to make these additions, but as you know I can't save the map because it's in JASS and there are hundreds of errors that occur upon saving. Is there a way I can extract the triggers from the protected map, or is there any other way to deprotect the map into a save-able format?


  • Anonymous for obvious reasons Says:

    Sorry, I just scrolled up and saw what you said about deprotection. I will go to the forums.

  • orchlon Says:

    just protected the map and it says THE NEW FILE IS 4.76% BIGGER

  • 3ICE Says:

    That is a common problem if you use wav files. Reason for switching over to mp3: wav is inferior to mp3. And mp3 files are much, much smaller.

  • orchlon Says:

    tnx my map is 5.70% smaller

  • Ian Says:

    I finally got around to testing the .wtg file protection, but it didn't work. I took the .wtg file and replaced it with the one already in the map, but the bad code wasn't there when I opened the map using the normal WE and JNGP. Would JNGP affect this protection method?

  • 3ICE Says:

    Yep, the JASS NewGen Pack prevents the editor from crashing on those simple syntax errors and properly displays error messages like "missing endif", "missing endloop" instead.

    However, it is still possible to crash JNGP with a corrupted wtg file. I just haven't tried making one yet. (My first attempt would be adding an invalid function name with a hex editor. I heard it causes JNGP to freeze until termination.)

    p.s.: Most people who know about JNGP also know how to deprotect maps. Therefore it is best to just obfuscate war3map.j and delete the war3map.wtg file from the map.
    p.p.s.: There are simple to use tools for inserting a cheatpack into any map with one click. No knowledge required, and it does not matter how well said map is protected.

  • orchlon Says:

    one question if jass triggers can be written from the .wtg file why can't it be vice versa

  • 3ICE Says:

    Because it is obfuscated by the optimizer. Obfuscation prevents automated tools from rewriting the GUI triggers.
    Yes, there are tools for reconstructing GUI triggers (the wtg file) from JASS (the war3map.j file), but they only work if war3map.j is untouched.

    And because JASS is more advanced. It has more features than GUI. GUI is a dumbed down version of JASS. It is more user friendly. (Where user means a beginner map maker or someone who has never met a programming language before. If you know how to program, or want to improve, you will prefer JASS.)

  • orchlon Says:

    hey i'm wondering how come there's 3 types of .j files? like 1 gives you a proper introduction like the map name and stuff like that and all the triggers are in their own line with some space between some words and there's something that jumps straight into the triggers and all those triggers don't have much space between themselves and another one has so many triggers in one life and looks like shit. I thought there were supposed to be only 2 types can you explain this.

  • 3ICE Says:

    Check the third image in the blog post above. (

    In the script optimization section (on the left side) we have a lot of choices that control how the war3map.j file will look.

    Type 1 .j file: No optimization at all. This is the default map script the world editor generates. Maps that have this type of war3map.j file are usually not protected. Though weaker map protectors exist, for example one that only replaces the war3map.wtg file with an empty one.

    Type 2 .j file: Light optimization. If you try turning off every option in the optimizer, you will find that the "Remove comments and useless spaces" option is grayed out, you can not disable it. If the map is optimized at all, it will have no whitespace in it for sure. ("whitespace" means useless spaces, like indentation, extra newlines. Whitespace is only needed by humans for readability, war3 skips over it anyway.)

    Type 3 .j file: Heavy optimization. With all options turned on, for maximum protection, the script file is as compressed as it can be. Function and variable names are 1 or 2 letters long. (3 or more if the optimizer runs out of all 2 letter combinations.) Secret/fun fact: The first 8 global variables try to spell out "VEXORIAN" with their names, though it doesn't always happen for some reason. Example:

      integer V=0
      integer E=8
      integer X=4
      group O=CreateGroup()
      real R=3.1
      force I=CreateForce()
      force A=CreateForce()
      boolean N=true

    Type X .j file: You can mix&match the other options and get a slightly different looking war3map.j file. More: For example to get very hard to read results like I posted a screenshot of in comment-223, you can click the "Tweaks…" button. Set "Custom charmap for new function/variable names" to "01IO" and the optimizer will rename every variable and function to a combination of those four hard to distinguish characters. Some not so experienced people might even think its binary (omg hacks!), though it is not. Just random letters and numbers. Downsides: The map size will be slightly bigger (by 1 kb), because we are only using 4 characters instead of all 63. 4 characters are only enough for 4^4 (256) 4 letter long function names, but two of those characters are numbers, so we only get 2*4*4*4 (128) half of that. (Because we can't start valid function and variable names with numbers.) On the other hand 63 letters give us a stunning 63^4 (15 752 961) four letter function names. But lets not forget the ten numbers and the underscore this time. 52*63*63*63 (13 002 444) 13 million possible function names from just 63 characters. (My charmap is "3ICEice_a4Ab8BdDfFg6GhHjJkKl1LmMnNo0OpP9qQrRs5St7TuUvVwWxXyYz2Z".)

  • orchlon Says:

    okay so i guess light optimization is to just prevent from builing the .wtg file i don't get what variables are i mean what's the difference between
    caster=triggering unit
    create 1 footman for caster
    create 1 footman for triggering unit?

  • 3ICE Says:

    Huh. You managed to surprise me there. Having the best equipment available (JNGP), knowing about JASS and map protection, before even knowing the basics of map making.
    You are quite resourceful. I like that.
    You definitely want to read a tutorial on variables before delving into advanced stuff. A new mapper's first couple maps are usually not worth protecting anyway, unless he has a strong programmer background or at least some experience in making games.

    No, whitespace-removing optimization should not prevent the rebuilding of the war3map.wtg file.

  • orchlon Says:

    i did read a tutorial on variables and my brain tells me there's no difference between
    caster=triggering unit
    create 1 footman for caster
    create 1 footman for triggering unit?
    are they just shortcuts to stuff or something? or is it to just hold memory like the special events on x-hero

  • 3ICE Says:

    Please find and read a real tutorial on variables then.

    This blog post is about map protection, which is an advanced topic. It does not look good to have newbie comments like "What are variables?" answered here. I have a forum.

    Variables store data. If you want to use information (like who the caster unit was) later, you will have to store it in a variable first. Common sense dictates when to use triggering unit and when to introduce variables.
    I don't know what an x-hero is, but to properly remove special effects you will need variables. Read a tutorial on memory leaks to find out why.

  • orchlon Says:

    well sorry if i changed the topic this changing the variable names made me curious about variables

  • Noname Says:


    Amusing that {0×33 49 43 45} results in 3ICE.

  • 3ICE Says:

    Haha. Yeah, my name is magical. :)

    But you are right, you can actually put anything there and it will still serve as protection. I just thought I could immortalize my nickname this way. Smart eh?


  • Kenny Says:

    Hi there. Can you teach me how to get around with the map protection of crashing the WE while saving the map? I have deprotected a map, but I have trouble saving it in WE.

    I know this sounds inappropriate as you only deprotect maps for cash. I would appreciate if you can teach me on that. If not, I apologise for the intrusion on your webpage. =/

  • 3ICE Says:

    Check out #comment-458. It tells you how to make the editor crash upon saving. Then simply reverse the steps (do the opposite) and the crashes will stop.

    What error messages does the editor display when it crashes?
    If you show me a screenshot I might be able to identify and tell you what kind of crasher-script you will have to look for.

    Though the most common reason for crashes upon saving a deprotected map is not removing the restored JASS script from the GUI Trigger Editor. Some deprotectors put it there for no reason…

  • Kenny Says:

    I don't really understand those steps in comment458. You 1st said "Save a copy.. it will be your protected version", then subsequently saying to introduce erroneous codes in. So do you introduce the codes in the protected version, or introduce the codes in another version?

    Furthermore, you said import the wtg file in the Temp folder into the "protected" version. Wouldn't importing the wtg file overwrite the entire trigger script, which means the erroneous codes you introduced to it will be erased?

  • 3ICE Says:

    Oh… Did not know you had the dumb version of windows. Those windows 7 (or vista) error messages are not helpful in any way whatsoever.

    It does not matter in which map you put the erroneous code, as the editor will crash before saving over it. All we care about is getting the war3map.wtg file (with the crasher-script in it) from the Temp folder the editor creates before crashing.

  • Kenny Says:

    I see. In that case, I tried Ctrl+Shift+F to find the word "Crash" but to no avail. So does that mean I have to go through line by line, to find out which section has no endloop and endif?

  • 3ICE Says:

    Nah, just run it through a syntax checker. JassCraft has my favorite: its called PJASS.
    And obviously the crasher-function will not be called Crash or anything similar. It might not even be a whole function.

  • Kenny Says:

    Ah I see.. So what do I do when it says Undeclared variable:udg_locations25, or udg_locations25 is not an array? Do I just delete those lines off?

  • 3ICE Says:

    Never seen that kind of map protection before. It didn't obfuscate the variable names at all.

    A map script is supposed to have zero syntax errors by the way. And an uninitialized variable does not crash the editor so it has no reason to be there unless by mistake.
    Just add it to the globals block:
    location array udg_locations25
    // ...

  • Kenny Says:

    The problem now is, that is not the only error lol. Whenever I scan, it shows me up till line 100+ of errors. When I delete those lines and scan again, there is another up till line 100+ errors again. It's impossible for me to add in the script u mentioned for EVERY single error. OMG. I'm fainting soon.

  • 3ICE Says:

    Are you working with war3map.j or something else? Grab the original war3map.j and syntax check that.
    A map with that many syntax errors can not be played in Wc3. The game can only ignore so much…

  • Kenny Says:

    That I'm not too sure since the map isn't created by me, but the codes in that file seems pretty like triggers too. I can't syntax check that as some words will turn into funny characters because of opening it in Notepad.

  • 3ICE Says:

    Well, get a programmers' notepad! Its about time anyway, since you started doing programming-related stuff. :)
    I recommend Notepad++.

    And I bet JassCraft could open open it fine as well. Just use the good old File → Open… ( → All files (*.*))

    Funny characters are either caused by missing [CR]s from before [LF]s or some sort of encoding that windows doesn't support natively in Notepad. (UTF-16 maybe?)

  • Kenny Says:

    Ok, I managed to change the words to viewable form using Notepad++. Now there's no syntax errors in war3map.j. So… what should I do now? Lol…

  • 3ICE Says:

    Compare the war3map.j generated from war3map.wtg to the original war3map.j file. The difference should only be a few lines. Once you found it, you can fix war3map.wtg easily.

  • Kenny Says:

    Ok, I compared the 2 files using Notepad++. They showed me tonnes of lines with Green +, tonnes of lines with Red -, tonnes of lines with a Light Brown !, and tonnes of lines without any symbols beside them. So… does that mean only the Green + are the one that matches?

  • Kenny Says:

    Nvm, I realised what do those symbols mean already, but just to clarify something. The 2 files that you are mentioning earlier on.
    1) war3map.j generated from war3map.wtg
    2) original war3map.j

    Am I correct to say that
    1) is the trigger text found when you open the map in WE?
    2) the war3map.j file extracted using MPQ Editor in the original file?

  • 3ICE Says:

    The generated map script can not be used for comparison yet, as it is not protected and contains a huge amount of whitespace and comments that makes all compare results bloated and generally unusable.
    Try running war3map.j through the optimizer, but disable some options (like variable renaming) until the result looks exactly like the original war3map.j (Or you could just protect both scripts with all options turned on in the optimizer. If you are lucky it works and saves you time.)

  • Kenny Says:

    I am still not sure which 2 files you are exactly referring to. Would you kindly tell me if the ones I am mentioning below are the correct ones?

    1) war3map.j file extracted from original file using MPQ Editor (original war3map.j?)
    2) war3map.j file generated while saving the map and crashing the editor

    Then, which should be the main file that I will base my editing on? For e.g. I see File 1 missing some of the lines in File 2, so I add those lines in File 1, and delete those lines that are not present in File 2?

    Thank you very much.

  • 3ICE Says:

    1) Correct.
    2) Correct.

    You will base your editing on File 1.

    But File 1 and File 2 should look exactly the same after one round of protection ("optimization"). Except for the crasher-script(s) you are looking for in File 2.

  • Kenny Says:

    Hmm, I don't see the option for variable renaming in my optimizer. Here's a SS for it.

    Another problem is that, upon saving the optimized version for File 2, there's an error saying "Unterminated String". What should I do?

  • 3ICE Says:

    1 It is called "Compress names".

    2 Find a string that is not terminated.
    "  terminated string"
    "unterminated string

  • Kenny Says:

    This is the line that is not terminated, but after placing an " right behind, the Syntax Checker shows even more problems.

    set udg_string05 = "……………………………!.#$&'()*+,-./0123456789:;.@ABCDEFGHIJKLMNOPQRSTUVWXYZ[.]^_`abcdefghijklmnopqrstuvwxyz{|}~………………………………………………………………………………………………….

  • 3ICE Says:

    You can give up or pay up at this point. That map really, really does not want to be hacked.

  • Kenny Says:

    Lol… I guess I'll find some other ways then =/ Anyway, thanks for all the help since yesterday.

  • 3ICE Says:

    I just deprotected it. Successfully. You probably got your hands on a version with cheatpack installed.

  • Kenny Says:

    Huh? I didn't even give you the map, how did you deprotect it? Lol… What's with the cheatpack installed thingy anyway? I don't really understand.

  • 3ICE Says:

    Cheatpack? Google it. Second result atm.
    And your screenshot had the map opened, thats where I know its name from.

  • Kenny Says:

    Yea I just googled it also, but copying and pasting the exact line does not make it better.


    " !\"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"

    to replace


    does not work. =/

  • Kenny Says:

    Ah.. Forget it. I don't know why it didn't show me the same result anymore in the Syntax Checker. Originally it just showed me one error, now it gives more errors despite me not changing any codes in the file.

    And, seriously those 2 files can never be 99% similar. Far too many lines are different. I think I'll just give up. =/

  • 3ICE Says:

    The reason why only one error shows up initially, is because of the unterminated string. Basically the whole script beyond that point is considered a string, a very long one at that. Common sense tells us this much. :)

  • Kenny Says:

    How can that be possible if I didn't even change anything from the script? It's like A=X, then A=Y.

  • 3ICE Says:

    Yes, exactly like that.

    Consider the following example:
    Case 1: A=30; s="this is an unterminated string; A=300
    Case 2: A=30; s="this is a terminated string"; A=300
    In case 1, A will equal 30, because A=300 is still part of your unterminated string and is not executed.
    In case 2, A will equal 300, because A=300 is not a string, but real executable code.

  • Kenny Says:

    What I'm saying is, when I copied the whole code and do a Syntax Check, it shows me 1 error. When I copied the SAME code on another occasion and do a Syntax Check, it shows me even more errors. Your example clearly shows that you added a " in the codes, while on my part, I copied 2 EXACT same codes and got different results. >.<

  • 3ICE Says:

    I find it hard to believe that. PJASS is reliable enough to give the same result however many times you check the same code.
    The two possibilities I can think of are:
    • JassCraft makes a temp file and sends that over to PJASS for checking. If PJASS freezes for some reason, or if you press the Syntax Check button twice and too quickly, the temp file will no longer be deletable, and the same script gets checked twice (append vs overwrite). This causes a lot of errors, like two global blocks, and every variable and function gets redeclared (name already in use).
    • Or you didn't actually Syntax Check the same code.

  • AL0NE Says:

    Hi, i'm wondering why after i used the Vexorian Map Optimizer on my map, the filesize gets bigger, not smaller. when i tested it on other maps, they do get smaller. Can u tell me what's the problem? =(

  • 3ICE Says:

    Read comments 283 and 472.

  • hehe Says:

    86% compression eat it! <3

  • 3ICE Says:


    /me eats a sammich.

  • arctic Says:

    Downloaded it and ran it, but my map can't be played as it can't be seen in game. Any way I can fix that?

    Edited by 3ICE: Merged with spelling fix. (+be seen)

  • 3ICE Says:

    Maybe the name is too long. WarCraft 3 has a limitation on path length, so it is always a good idea to keep them short.
    C:\Program Files\Warcraft 3\Maps\Download\My own maps\Recently updated\Tower Defense\My awesome cool new Tower Defense map.w3m is probably too long.
    C:\Program Files\Warcraft 3\Maps\Download\My\TD.w3m is short enough.
    And get the Optimizer from the official download location as my rezipped mirror might be outdated.

  • arctic Says:

    Thanks very much! It was the name, I'd saved it 4 folders in on the drive. I tried saving it only 1 folder in and it was ok. I then moved it back and it seems to work now.

  • 3ICE Says:

    You moved it back to the 4 subfolders-deep structure and it still works? Is the name the same?
    Because if yes, then something else was the culprit. The path-length limitation is hardcoded.

  • arctic Says:

    Yeah, what happened is as follows;

    -First I had the optimized map created at D:\Games\Warcraft III\Maps\OptPrtMaps and it could not be seen in game.
    -Then I created it at D:\Games\WarOptMapTemp.
    -I moved the map from there to D:\Games\Warcraft III\Maps\OptPrtMaps and it can now be seen in game. I have no idea why, but it seems to work.

    I don't know if I checked all the boxes - I'm pretty sure I did most of them, but that's the limit of my knowledge reguarding the issue.

  • arctic Says:

    Also, thanks again for your help! This is a HUGE map I've been working on in one form or another for several years with heaps of features; so I want at least a bit of copy protection so no one claims it as theirs. Whether someone would like my map enough to do that is anyone's guess, but eh, I want to protect it anyway.

  • Hoezai Says:

    after i protected my map there have a J file .that j file for what?and i able to restore my map too?

  • 3ICE Says:

    Delete the .j file, it is not used for anything. (It is there for no obvious reason.)
    It is very hard to restore your map from a protected version… But thats why we keep the originals!

  • Garo Says:


    Please deprotect WoW Arena Allstars v4.2b. The link is provided below. $5 will be transfered to your PayPal account (not a very complicated map to deprotect as far as I can tell) immediately following verification that you have, in fact, deprotected it. Do not worry about triggers and such. All I am after is the unit and spell data which I am using for my own private use, not for redistribution under my name. Thank you.

    Edited by 3ICE: Merged doublepost, fixed my name.

  • 3ICE Says:

    Neat, an almost 8MB map.
    I'm on it.

    :01 - Download complete.
    :02 - Spells extracted. Testing…
    :03 - Testmap complete.
    :04 - Test failed in a crash.
    :05 - Attempt #2…
    :06 - Success! Uploading screenshot…
    :07 - Imageshack continues to refuse it. Perhaps its the dimensions?
    :08 - Using Photobucket…
    :09 - No! I refuse to sign up.
    :09 - Using my own server.
    :09 - Upload complete: (EDIT: Added version with icons.)

    :10 - Added 1px border to image.
    :11 - Awaiting your response.
    :12 - Question: Do you want the spell icons? If you need them then I can grab them for you. (The map with all the spells but no icons is 500KB at the moment. If you wanted the icons it would increase the map size by ~5MB.)
    :21 - Since you did not respond within 10 minutes, I will assume you said yes and started extracting the icons for you.
    :22 - Also, here is a screenshot of the units:

    :40 - Response received, "Done." posted.
  • Garo Says:

    Haha yes, the spell icons are a must, thank you. Just post another reply when you are completely done and I will transfer the money.

    Can you please post another link to your PayPal? Not really in the mood to scroll through a million pages of comments to find the one I saw earlier :P

    Edited by 3ICE: Merged doublepost.

  • 3ICE Says:

    Done. Just gotta upload the map. (I decided to throw in terrain too, so its gonna be 9MB, not 5.)

  • Garo Says:


  • 3ICE Says:

    Payment (4.5$) received, uploading the 8.82MB map.

    Click: WoWArenaAllstarsDeprotectedBy3ICE.w3x
    (The above text will turn into a link in the next 20 seconds. Just waiting for the upload to complete.)
    Edited by 3ICE: Upload complete, link enabled.

  • Garo Says:

    File downloaded. Just verifying that it actually works lol…

  • Garo Says:

    Update: Appears to be working. Thanks for the unprotect. I assume the triggers were unsalvageable? Don't really need them, but would be nice to have them.

  • 3ICE Says:

    Yup, triggers are a tough nut to crack. I wouldn't do it, not even for 100$.
    I just edit the JASS when I need something. Restoring GUI is too much of a pain.

    Edited by 3ICE: I can upload the JASS script if you want it. Its a 1.8MB text file, perfectly obfuscated by Vexorian's Optimizer.

  • Garo Says:

    No need for the JASS Script. Turns out the way Catze created the map makes the spells pretty much useless as I am assuming the spells were heavily reliant on triggers. I contacted him for an original, unprotected version of the map.

  • 3ICE Says:

    Well, that was to be expected. Spells without triggers are pretty basic. They can stun, heal, damage, summon units, cause an AoE effect (but only in a circle or wave), and that is basically it. (There are also some special spells like Eat tree, Stat bonus, etc.)
    Recreating abilities from World of Warcraft… Well, it can probably be done without triggers, but it is much simpler for a programmer to write code than to click on buttons and fill in spreadsheets.
    StarCraft 2 is better in this field. But I still prefer trigger-driven spells to messing around with actors, effects, and validators.

    What are you going to do if he refuses to give you an unprotected version of his map?

  • Garo Says:

    "What are you going to do if he refuses to give you an unprotected version of his map?"

    This question is now irrelevant as he kindly provided me an unprotected version of the map. :) Thanks though for your help, it saved me a lot of time unprotecting it myself…I have a lot of programming experience, just none with JASS. JASS looks pretty basic at first glance, but it wasn't worth my time to go figure it out lol. I might look into it though since I think it would be helpful in general for map modding and WC3 editing as a whole.

  • Garo Says:

    I didn't really expect to have the spells work, but I didn't want to do more work than I absolutely had to, and since only remaking the triggers was less work than remaking the triggers and units and spells I figured it would be economical to deprotect it :P

    And yes, in regards to SC2, the editor seems to be far more advanced than wc3's ever was or will be. I dont personally own sc2, but I have several friends who do. People have done some pretty ridiculous stuff, such as recreate, in complete detail, the Thaddius fight from WoW, including the whole +/- debuffs. Pretty impressive, and I know that castbars can be created without the need for scripting, although the castbars cannot be displayed to the enemy which is kind of a killer.

  • Grammar Nazi Says:

    Son, you are wrong. "It's" is the correct abbreviation for "it is". I had that one burned into my head at college.

  • 3ICE Says:

    Thanks! I fixed the mistake in comment 554.
    In my defense, I do know - and live by - that rule (see, I just got it wrong that one time.

  • UnLiMiTeD Says:

    You know i want to unprotect 1 map, and make it avaiable to play in this new update of game. Is it possible, i dont wanna change it or something, just to availe it to play it. ;P

    Waiting for any answers…:_)

  • 3ICE Says:

    Yes, it is possible.

  • UnLiMiTeD Says:

    If it's not hard, could you explain it?

    Or i can even send map to you and you make it usable, ofc for money :PPP

  • 3ICE Says:

    Send it. I'll fix it up for v1.24e and post my results.

  • UnLiMiTeD Says:
  • 3ICE Says:

    Thats a foreign language map and Google Translate struggles hard with it. I can't patch something I do not understand.

    And my simple idea of replacing deprecated function calls like everything related to GameCache has failed.


    Edited by 3ICE: How about version 3.86? It is four version numbers higher.

  • UnLiMiTeD Says:

    Well if you could actually up to date this map you mentioned , it would be great :)

  • 3ICE Says:

    Yeah, it would be…

  • UnLiMiTeD Says:

    So , i guess my childhood game cannot be played , ohh, such a shame ^^

    Anyway, maybe if you find some way, could you send it to me ar e-mail : Removed


  • 3ICE Says:

    Yeah, I saved your address and the map and will let you know when it is done.

  • Anonymous Says:

    Edited by 3ICE: Removed anonymous doublepost. (Both flaming)

  • UnLiMiTeD Says:

    Im wondering, how is it going? Couse if its so hard… ;)

  • 3ICE Says:

    I have not been trying at all.

  • UnLiMiTeD Says:

    BTW, several days ago new patch came out, does it do something, i mean that helps somehow with the patching maps?

  • 3ICE Says:

    Thanks for letting me know it's finally out.
    I tested the patch on the PTR (Westfall) weeks ago, and found that it changes nothing related to map making.

  • UnLiMiTeD Says:

    Ok, then i should just wait for any other good news. ;)

  • ImmortalRic Says:


    Would you be willing to deprotect & unobfuscate the map script of Warlocks Brawl 097? The link is available here ( and I can pay you for the effort through Paypal after you verify it. I'm primarily after the spell/items/mechanics data & the precise way they function for my own interest. I've tried other venues of obtaining that information by asking but the map's small community is dying out (the forums are almost dead as well).

    Let me know if you're interested.

  • 3ICE Says:


  • ImmortalRic Says:

    That was a prompt response o.O

    Any specific reason why?

  • 3ICE Says:

    I don't do deobfuscation. It is too much work.

    Edited by 3ICE: Now this was a prompt response! :) Within the same minute.

  • ImmortalRic Says:

    Could I persuade you to do it for a higher fee possibly? I really want to know the mechanics behind it :/

  • 3ICE Says:

    I don't think you have 200$ to blow on a WarCraft 3 map.

    Edited by 3ICE: However, if you have one (or a few) specific spell(s)/item(s)/mechanics in mind, I could teach you how to trigger them for 5-10$ each. (Price depends on how long it takes me to recreate them.) And let me throw this in for free: Most spells in Warlocks Brawl have a knockback effect, available at

  • gotrunk Says:

    Can you deprotect bleach vs one piece 2.08 and give it to me please?

    Edited by 3ICE: Proper capitalization and sentence structure.

  • 3ICE Says:

    Sure. Here is proof that I have deprotected it: terrain(jpg) minimap(jpg) units(png) items(png) editor(jpg)

    Please send 5$ to for the download link.

  • gotrunk Says:

    OMG so fast

    sorry i don t have money

    Edited by 3ICE: Merged doublepost.

  • 3ICE Says:

    Sorry. No payment, no service.

  • Flaz Says:

    Why I Cant Play My Map?

    I Protected It Using Your Program

  • 3ICE Says:

    It isn't my program. It was made by Vexorian.
    You forgot to tell me the error message that pops up, or what happens when you try playing the map. (Is it not visible? Does it send you right back to the main menu?)

  • Flaz Says:

    It Sends Me Right Back To The Menu…

    I Dont Know Why :(

  • 3ICE Says:

    Run the .j file that is generated during protection through a syntax checker, like Jasscraft's pjass.exe and tell me the results.

  • Flaz Says:

    How Do I Run That?

    Sorry This Is My First Time Using This Protector

  • pksss Says:

    ive checked everything as mentioned above in vexorian optimizer..

    some names gets cut off when i played map

  • 3ICE Says:

    Could you show us a screenshot? The expression "some names" can refer to just about anything. Is the map name getting cut off? Or units? Heroes?

  • Dota 2 guide Says:

    hey, thanks for this, I've been searching for WC3 prot. map

    Edited by 3ICE: Removed advertisement

  • silentgamerz Says:

    how will I decrease the map's size if it has wave sound files. it always gets bigger whenever i try to protect it.

    Edited by 3ICE: Unnecessary URL removed (was just a link to this page)

  • 3ICE Says:

    Use mp3

  • UNLIMITeD Says:

    Hello again 3ICE. I had search for other versions( hoped maybe is some new one) of Naruto Buzz, and found the first one working, but it was created on 2006. Maybe there is a way to use codes from this map, to update the previous i send to you?

  • 3ICE Says:

    That would be way too much work.
    Porting every feature from new
    version to old and hoping it
    still continues to work after
    the patch: I would not do it
    not even for money.


  • Lethhh Says:

    Why when I play the map, it sends me right back to the menu?

    Edited by 3ICE: Removed website (was mine;, capitalized first letter of the sentence, removed triple question marks from the end (???), capitalized I, removed unnecessary second "why", and fixed "its send" -> "it sends" (What do we call that? "grammatical structure", "word order", "conjugation", or maybe "affixation"?). I did not bother rewording for easier understandability. ("try playing")

  • 3ICE Says:

    • WarCraft 3 can't open the map (decompress mpq)
    • or read a file from the map
    • or war3map.j contains a syntax error.

  • Lethhh Says:

    How can I fix it?

    Edited by 3ICE: Capitalized "how", capitalized "i", removed website again. This guy never learns, does he…

  • 3ICE Says:

    If the map is protected, you can't. The map needs to be saved again with the most recent version of World Editor.

  • Ber352 Says:

    3ICE, I agree with you that unprotecting maps is wrong, but what you think about it?:
    I've been playing a GREAT campaign called Nature's Call (search for it in hiveworkshop or anywhere else, the first part is the Spiderqueen second is Ret. of the Dragon). And it really is a great campaign. The first part is OK, no bugs nor anything.
    But this campaign was published around 2001 (gotta re-check information, not sure about it). At that time, the Ret. of the Dragon campaign had no bugs and was great, but with the passing of time and Blizzard's updates the campaign acquired some bugs (I had knowledge of it because of a commentary posted at hiveworkshop).
    I said: "Nah, let's play it, it's worth going around some bugs to see the ending).
    I managed to finish all maps without doing everything (left the optional quests mostly aside because those where the ones that bugged the most…)
    The problem is: I was able to play the campaign normally and see the storyline until map 8… From that on I couldn't play anymore, it just came back to main warcraft campaign page. Worse yet, it didn't unlock map 9. I tried even Motherland [race] [level] cheat but it didn't work, since the race said isn't an official race, neither the campaign is official.
    I tried opening world editor to "unfold" maps 9 and 10 but I didn't manage to, since it has been protected. All I wanted was to play those maps and finish the storyline…
    So I'd like to know, is it hard to unprotect a map? Because if the program you said (xdep) is Russian, it may be in Russian. Plus, I don't know if the program would do it all by itself or I'd need to first learn how to use the program and how to do it… Because the campaign has around… Idk, maybe 5 triggers corrupted or something like that…
    I suggest that you play the campaign, just so you know what I'm talking about.
    Note that there is one more thing I can try to finish the campaign… If that doesn't work, then I guess there is no other way other than unprotecting.
    Also note that AllYourBaseAreBelongToUs cheat doesn't work aswell.

  • Ber352 Says:

    Oh! By the way, 3ICE, I don't want you to unprotect the map for me… I'd like just some tips, since I don't have… Well, income… After all, I'm a teenager, in fact. And I don't have work, plus I'd need my parent's approval and all, so… Yeah. Some tips so I do it on my own would be great. In case you can't give me tips, I'll have two options:
    1st: I'll search on the Internet how to unprotect maps
    2nd: I'll give up that campaign. It's great and all, but sometimes not everything goes as planned, right? :)
    I may also ask someone who played that campaign when it had no bugs (if I knew someone who did) for the "grand finale"
    Also, thanks for your help anyways, I know reading long comments isn't something people often do…

  • 3ICE Says:

    The campaign does not appear to be protected in any way.

  • ber352 Says:

    But when I try to open on the campaign editor the Return of the Dragon campaign (didn't try to open the Spider Queen one) I can't because of errors in triggers (which I believe it's protection).

  • 3ICE Says:

    Wow, that is a 100MB file, give me 10 minutes to download it.

  • 3ICE Says:

    Nope, no trigger errors for me. I loaded up the last map (RotD09s01.w3x) and it works fine. Try getting the JASS NewGen Pack (JNGP) from wc3c, it handles errors better.

  • Ber352 Says:

    Hmmm…. Weird, because when I try to open the campaign into the campaign editor it says:
    "Trigger function does not exist in database: SaveGameCacheBJ"
    "Trigger function does not exist in database: ffOn"
    "Trigger function does not exist in database: nit_nzin_0247"
    "Trigger function does not exist in database: CustomScriptCode"
    And then it appears:
    "Worldedit: This application has encountered a critical error: Not enough space to proccess this command.
    Program: (place where world editor is located)
    Object: .PAVCWETriggerFunction@@

    Press OK to terminate the application"

    This isn't happening only with World Editor, it happens with some maps and I guess it is indeed protection…
    But now something came to my mind. I downloaded this campaign from
    maybe that version is protected. Could you tell me where you downloaded your version from? Then I'll download it here so I can "unfold" map 9 and 10.

  • 3ICE Says:

    Reinstall warcraft, your trigger data is corrupted.

    I downloaded the "FIX" version. Was first result on google for "return of the dragon w3n".

  • Ber352 Says:

    Weird, because that's the same version I downloaded. I read the comments before downloading so I got the FIX version. But before commenting and stuff I downloaded the normal version (the one at hiveworkshop) after the first didn't open on world editor. But the normal version didn't open up aswell… Typing "return of the dragon w3n" sent me to hiveworkshop again (lol).
    I'm trying something inside warcraft, something I hadn't tried before. If it works and I pass onto the next map, great. Thanks for all your help 3ICE, and sorry for all my comments being all that long. But, if it doesn't, I'd like to ask you: Since it seems to open on your world editor, could you send the map 8 and 9 for me?
    My e-mail is removed
    In case you already deleted the campaign, there is no problem. I'll try opening the campaign into mt bro's computer, since mine, for some reason, doesn't open Reign of Chaos. I'm starting to think that something used to open RoC is damaged and the same thing doesn't let me open that campaign into world editor…
    My bro's computer opens RoC, so in case you can't send me the maps, I'll just try to open on his computer and pray.
    Thanks for all your help, 3ICE.

    Edited by 3ICE: removing email

  • Ber352 Says:

    Oh, btw. I will reinstall warcraft if I need to, because I no longer got the CD (accident happened with it, lol).
    As long as my bro's computer works, I'll stick to it till I need to change mine :)

  • 3ICE Says:

    Campaign maps are a pain to send. Some files are imported into the w3n file, some into the w3x inside w3n. Merging that and the object data takes a long time and too much effort.

    The map is TFT, not RoC.

  • Ber352 Says:

    I know, that's what I think weird, because TFT works just fine into my computer. That's what "bugs" me. In case my bros computer fails, I'll try to search for an solution then.
    (Oh, btw, still trying a solution inside warcraft).

  • NoMY Says:

    Please help, I can't host the map. It sends me back to the menu. What should I do?

    Edited by 3ICE: Removed fake email address, converted the whole comment to lower case, removed excess amount of exclamation marks and repeated letters. (He wrote "PLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" at the end.) How immature…

  • 3ICE Says:

    You can't host "the map"? What map?


  • Ber352 Says:

    Well, it didn't work on my bro's computer… I'll try to see what I can do, since I can no longer re-install warcraft… Anyways, thanks 3ICE for your help.

  • 3ICE Says:


  • DotAFan22 Says:

    Hi 3ICE! I guess you know DotA, right? Can you deprotect the latest DotA v6.72c by IceFrog? Visit If you're done, just let me know, and I'll send you 5$ straight away via PayPal. Thank you. :) . I give you my email, when its ready. I'm kinda busy for a meantime, I'll try to check back here as soon as possible. Post some screenshots too. :) . See ya. I'll be back within this week.

  • 3ICE Says:

    Actually all I needed was

    DotA is a big map so I have the balls to ask for 15$. The 5$ is for smaller maps only.

    Update: While I wait for your reply (about whether this is okay with you or not.) I started the process of extracting the map contents.
    There are 1254 files in Dota.w3x so this will take a while. I'll post again when I am done. (Will take screenshots of course.)

  • 3ICE Says:

    Update: 1680 files extracted and it is still going… The mpq editor I used to spy inside at first showed 1253 (not 1254) files so I suspect some duplicates.

    The extraction took a while to complete. My stronger server has been on the task for half an hour, going at a speed of 50 files per minute (average).

    I am still looking for the names of the 131 unreferenced files. Without those the deprotection would not be usable as a duplicate of DotA, just as a tool for learning and of course extracting assets in an easy way.

    RMPQ to the rescue! It found 81 (then 8 in a second round) of the unknowns.
    The rest will be found by a second full deprotection and few more rounds of RMPQing.

    Reporting back in half an hour… (More like 50 minutes actually. RMPQ takes a while and I am manually merging and autosorting my new listfiles all the time.)

  • 3ICE Says:

    After an hour of trying to find those last 30 missing names, well, I gave up.

    I combed through the script looking for string concatenation trickery that my tools can't detect automatically, I converted every mdx to mdl and did the same with those, I wrote a new script (will be useful later) for extracting additional file path possibilities from wc3's data files (w3d - doodads not data, w3b, w3u, w3t, w3s, w3h, w3a, imp, etc…), but still did not find everything.

    It is now official. I can't deprotect the latest DotA.

  • 3ICE Says:

    And of course my world editor is not even patched to handle over 1024 files. Typical oversight, fixing…

  • DotAFan22 Says:

    Owh, i see. Hmmm, let me think first. Anyway, I've just gotten DotA map v6.67 deprotected from other website. Quite a lot of stuffs in there. All triggers is in Jass, with unproper variables name. Seems like it has been changed. After half an hour go through the script, I gave up. I just stalk around with the models, skin and what so ever. The triggers just pull my eyes out.

    "It is now official. I can't deprotect the latest DotA."

    You mean DotA v6.72c? Or all the DotA version by IceFrog?

    So, how is it going so far?

    Owh, yeah, by the way, if I only want the models, skins, and other stuffs that were imported in DotA, is it free or how much do you charge? Most of the stuffs I already have, just some of it I doesn't have. So, what says you?

  • 3ICE Says:


    "You mean DotA v6.72c? Or all the DotA version by IceFrog?"
    I haven't tried the other versions, but I am sure the results would be the same: Some file names missing. And I don't consider incomplete jobs sale-worthy at full price. If even one file is missing I automatically give a 50% discount.

    "So, how is it going so far?"
    I completed the job in 2 hours. I stopped trying to recover further missing files on June 30th, 2011 at 9:55 am.

    Here is the state of all the files:
    Known and extracted file count: 1213
    Unknowns: 30 (Will be included as File001, File002, etc.)
    Total (unpacked) size: 23.7 MB
    Packed size (mpq): 15 MB
    Packed size (zip): 8.2 MB

    868 blp files (of which 826 are icons, the rest are skins)
    (Further details: 16 dispasbtn, 33 pasbtn, 426 disbtn, the rest are normal btn.)
    253 mdx models, most of them are spell effects
    17 mp3 files (Dominating, Double kill, First blood, etc)
    11 slk files (They hold widgetized ability data, item data, etc)
    5 tga files (loading screen cut into 4 parts and the minimap preview picture)
    49+1 txt files including war3mapMisc and war3mapSkin (the +1 is the strings file, with custom extension: wts)
    1 of each war3map file is also present (j, doo, imp, shd, mmp, wtg, wct, w3a, etc)

    "I only want the models, skins, and other stuffs that were imported in DotA, how much do you charge?"
    You can have it for $7.50 (~half cents per file)
    That is 15$ (the original price) with 50% discount applied because of the the incomplete job. I was unable to recover 30 file names.


    p.s.: I am ready to send the files to any email address you specify, as soon as your payment arrives at

  • DotAFan22 Says:

    Owh, okay. Quite lots of mdx files there as I aspected, which I want some of it. $7.50 quite reasonable though with all the efforts you pour into. I give you my answer as soon as possible. :)

  • 3ICE Says:

    All right. I uploaded the files to my mailserver so they can be sent off instantly.

  • 3ICE Says:


    Identified all the unknowns for you. (28 blp and 15 mdx files) I still don't know their name, so the price remains the same. $7.50

    I manually renamed each file to have the correct extension. (blp files begin with BLP1[NUL][NUL][NUL][NUL][EOT], mdx files begin with MDLXVERS[EOT][NUL][NUL][NUL])

    DotA v6.72c.w3x 15 MB, deprotected (Loads successfully and is playable, but the minimap is black and the night elf tree model is missing. There might also be other problems with it.) 7.8 MB, 1212 extracted files
    listfile.txt 62.4 KB, holds every extracted file's name (can be imported into the original dota map to partially deprotect it) 132.6 KB, 43 files (30 of which I was unable to identify and 13 duplicates. Got 28 pictures and 15 models in there.)


    p.s.: Total size: 23 MB (15 416 + 8 059 + 63 + 133 = 23 671 K)

  • DotAFan22 Says:

    Hi. I'm not sure yet either I want to buy the deprotected DotA v6.72c from you. Hope you can wait for a period of time. Within this week I confirm my decision to you. Owh, yeah, by the way, do you know how to make an Impale System like DotA? If you can, make it in GUI. I'm not pro at JASS, frankly 1% JASS knowledge. I have found some of the Impale System from some websites, but not working in my map. It runs only once, after that, only the impale effects triggered, the others (flying triggers, damage and stun triggers) doesn't work. I've test the test map, it works, only in my map. I've check all triggers in my map to be exact with the test map, but, epic fail. Kind of disappointed though. What's wrong with the triggers. Your help is very appreciated 3ICE. Here the link for the Impale System >>> (, could you have a look with the triggers? Half an hour spent, but nothing I've found what's the problem with. Thanks man.

  • DotAFan22 Says:

    The indexing system of the Impale System kind of poor though. About the DotA deprotected map, the other missing files still unknown?

  • 3ICE Says:


    #718 (1)
    That impale system is most likely graveyarded because it doesn't work or wasn't updated. It is also in GUI which is a good enough reason in itself for deleting. (Yes, I am not a big fan of GUI triggers.)
    I will not make systems in GUI, because it would be like trying to hammer in a nail with my hands. Painful and ineffective. I'd do it in JASS.

    #719 (2)
    I read Maker's post too.
    There are no missing files, just unknown file names. 30 of them.


  • DotAFan22 Says:

    "I will not make systems in GUI, because it would be like trying to hammer in a nail with my hands. Painful and ineffective. I'd do it in JASS."

    Yeah, agree with that. But, I need someone to guide me as my tutor instead of myself reading the JASS tutorial, kind of not getting it into my head. To me JASS coding seems like pseudocode.

    "I read Maker's post too."

    Okay!? How did you know that? So, you know that I'm the one who asking the question at THW. Okay.

    Okay about JASS, firstly I don't really understand it. Second, I don't know how to import JASS stuffs into my map, it just giving me script error which I know it is the raw code problem, spell ID and so on, if I'm not mistaken. Can you suggest me the best friendly JASS tutorial? I'm interested in learning JASS, but need something that can make me to understand it. I don't really know the warcraft scripts either, such as the call, destroy, and so on. Really need someone to guide me. I also don't want to use the ineffective GUI.

  • 3ICE Says:

    Terminology: Pseudocode is the easiest kind of code to read and understand, not the hardest. The hardest is machine code, it looks like this: 01001000 01100101 01101100 01101100 01101111 00100000 01010111…

    IF condition THEN
        //do stuff
        //do other stuff

    I am a member of the THW community and follow every topic in the map development and scripts section.

    The errors are most likely related to you not having JNGP - Jass NewGen Pack installed. No, rawcodes don't cause syntax errors, the worst they can do is cause your triggered spells to not fire.

    I learned JASS over at in 1 hour.

  • DotAFan22 Says:

    About the custom scripts, I know a few of them, not all.

  • 3ICE Says:

    There are as many custom scripts as there are possible JASS lines (~infinite).
    There are as many kinds of custom scripts as there are JASS functions in Blizzard.j, common.j and combined. (1543)

  • DotAFan22 Says:

    Owh, i see, no wonder you read Maker's post. You've join since 2007. No wonder I saw your name before. When I came across your blog, I was like, "hmmm, the name seems familiar…". You from Hungary? How old are you? If you don't mind telling. Just want to know you more 3ICE.

  • 3ICE Says:

    I have an about me page at and my age can be calculated from my birth date.

  • DotAFan22 Says:

    Owh, i see. Thanks for the tutorial link. I'll try to understand it. :) . Owh, so, if there's anything deal with jass scripts, JNGP is required? Owh, you're two years older than me. You still studying? Wow, lots of programming language you've mastered. I'm still studying, I take engineering in computer and networking course, but not so much concentrate on programming, more to networking though, is like 65% networking stuffs, 35% programming. My favor is more to programming. By the way, I'm from Malaysia. Quite lots of language you know there. I'm fluence at english and malay, chinese is like 50%/50%, plus, few other language such as japanese and so on. You understand malay? Nice knowing you 3ICE. Owh, yeah, if I want to call your real name, what should I call you? Daniel? My name is Danial Shah by the way, you can call me Danial. ;) . If I have any problems or what else, I just contact you here. Again, nice knowing you man. :D

  • 3ICE Says:

    Useful key on your keyboard:

    Use it.

    "Owh" is not a word. (At least not in English.)

    Yes, I go to university. I am looking to get two doctorates, which will take 8 more years.

    I'd prefer if people used the off topic section on my forum to discuss things like your comment above.
    Off topic = not related to this blog post (protecting warcraft maps)

  • DotAFan22 Says:

    I'm using my handphone, kinda lazy to type in a new line. :p

    I know 'owh' isn't a word, just using it for impression. :)

    I see. Good luck then.

    I realised that, just want to make a fast chat. Sure do next time. :)

  • DotAFan22 Says:

    Mind if you reply some of my question that you didn't answer yet. Thank you.

  • 3ICE Says:

    Sure, but first what about DotA? I have been waiting for 2 days.

  • DotAFan22 Says:

    By this week, you will have my answer. If I be able to find all the DotA mdx files, I don't need to spend my money though. The other files seems unuseful for me.
    Anyway, you'll have my answer as so on as possible. Okay? By the way, sorry keeping you waiting.

  • DotAFan22 Says:

    edit : as soon as possible

  • DotAFan22 Says:


    Its okay man, I think I don't need the unprotected DotA map, because of a few model, I need to spend $7.50, quite not reasonable.
    Anyway, I appreciated your effort and your help 3ICE.
    I will ask your help in the future, if I need your help.
    By the way, if you can make dota impale system, let me know, really need that system.
    I guess you didn't answer my previous questions yet. If you mind, thanks.
    Thanks again bro.

  • 3ICE Says:

    Not a few models, 268 of them.
    I don't appreciate you making me work for hours and then calling off the deal 5 days later. I don't have infinite amounts of free time, that is why I only work for paying customers now. If you don't want to spend money, go find someone else or learn to do it yourself.
    Sure, I answer all questions and help requests for free on my forum, but that only takes 5 minutes. Your little project took much longer.
    Leeches are not welcome here. You will not ask me for help in the future.

  • DotAFan22 Says:

    Yeah, I know about that, but what I mean is I only
    want a few of the models not all. Its like 15 more
    models I need from DotA, others I already have it.
    Got it?

    I know that, but one thing, you don't aspect your customers to 'must pay'.
    Customers wanted to see either you can get the request done or not, then, if they wanted to buy it or not, that doesn't matter. Customers are always right.
    If you wanted to do business, you should have balls to take the risk, either minor or major.

    Yeah, time is precious. But if you afraid to spend your time doing something either its worth it or not, you couldn't know something.

    I'm willing to spend my money, but not for something
    that is not worth for me, even it is 1 cent.

    "You will not ask me for help in the future."
    Don't be like that man, you shouldn't said that, its like you kind of ego there. Chill, don't be mad.
    Anything happened, there are something behind
    it that you don't know.

    I don't mean to harsh with you man, I have my own concept too, not only you. I don't want to mess with anybody. I treat you like my own friend, not like an unknown stranger.
    Anyway, sorry if I make you feel bad.

    Quote :
    "it is better you have 1000 friends than 1000 enemies".

    By the way, I really, really, really want a DotA-like impale system that can run smoothly and function properly. (if possible, in GUI since I'm not quite into JASS).


  • Fatty Mieo Says:

    Can help me to disprotect a map?
    I trust you…
    Download link is on my facebook, Fatty Mieo(Page).

    Edited by 3ICE: Deleted a total of 5 messages from this guy. What do we call that, a quintuple post?

    Edited by 3ICE: And his 7th post was worth merging into this one instead of deleting:
    I just addciently deleted my disprotected map while I am fixing my map, help me pls…

  • 3ICE Says:

    Sure, send me 5$ and I'll do it.

    But please don't triplepost.

    Edited by 3ICE: Your Facebook links won't work unless I add you. Which I won't. Please use or any of the following:,,,,

  • Fatty Mieo Says:
  • 3ICE Says:
  • Fatty Mieo Says:

    Can help me without paying?
    I really no money for you, I am just a kid…
    How can I pay for you?

  • 3ICE Says:

    Ask your parents

  • Fatty Mieo Says:

    Thx, but I can't go into the website, it says need to login.

  • 3ICE Says:

    If you have never used paypal before, you will have to register.
    You are underage so you will need your parents' consent. (And their credit card.)

  • Fatty Mieo Says:

    I will pay you when I get the money.

  • 3ICE Says:

    And I'll send you the map when I get paid. Deal.

  • Fatty Mieo Says:

    Pay in US Dollar?

    Fatty Mieo Says: Addition: Can you fix the comment page? Too many comments out here.

    Fatty Mieo Says: Money sent.

    Fatty Mieo Says: Where is my map?

    The King that rudes you Says: May I ask you a question? What is "Open Map Batch" use for?

    Anonymous Says: How to disprotected a map? Can give tutorial?

    Edited by 3ICE: Merging 6 comments into one.

  • 3ICE Says:

    1: "Pay in US Dollar?" → You can pay in whatever currency you like. Just make sure it is worth 5$ (USD). I accept ringgit too. (But keep in mind that 1 Malaysian ringgit is only worth 0.3 U.S. dollars.) I accept yuan too. (But keep in mind that 1 Chinese yuan is only worth 0.15 U.S. dollars.)

    2: "Can you fix the comment page? Too many comments out here." → No. I like the comments. They keep a public record of all my past interactions and answer most questions if anyone cares to read them.

    3: "Money sent." → You sent me an e-mail with "5$" written in it. That is hardly real cash. (Fake payment.png) If you don't know how to use paypal, ask your parents.

    4: "Where is my map?" → Where is my money?

    5: "What is Open Map Batch use for?" → I use it when I have a lot of maps to protect at once.

    6: "How to disprotected a map? Can give tutorial?" → The tutorial is above in the comments. Or just reverse the effects of protection and you've got yourself a deprotection tutorial.

    Yes, I know that Fatty Mieo = The King that rudes you = Anonymous = IP: = (resolved IP) = Fong Jian Ping (real name). You don't have to hide behind aliases, I answer all questions no matter who asks them.

  • I'm lame Says:



  • Risugami Says:

    Deprotecting isn't that hard.

  • 3ICE Says:

    Of course it isn't…

    …for some of us at least.

  • Hygarion Says:

    Hey 3ICE,

    i have a few troubles with this program.
    It used to work well, and since i made some modifications on my map - and i don't know what because i did some one day and others an another day, and no way to remember what i've done - i have an error message

    " optimize string usage: Extremely big number of mods in object.
    address;1195620 ; 7006"

    When i uncheck "Optimize string" there's no more error message BUT no way to play with my map anymore.

    I ran into your post randomly, and well, i hope you'll be the man for me as you have been for the others.

    In anyway, thanks!

    And now when i try to erase an unit, there's an error message saying "not enough memory" and the world edit shuts down itself…

    Edited by 3ICE: Merged doublepost, removed 1 swearword

  • 3ICE Says:

    Not without seeing your map first.

    If you don't trust me, send your map to Vexorian, and he will tell you what's wrong with it.

  • Hygarion Says:

    Thanks for answering me quickly.

    It's fine i can send you my map. It is not a secret map that i don't want to share.
    To which email do i have to send it?

  • 3ICE Says:


    I can receive from any address at this domain name (* but I'd prefer a link to some file upload website (MediaFire comes to mind) as to not clog up my inbox with a big file.


  • Hygarion Says:

    I don't know if i get it right, but i sent you an email at Hygarion@3***.hu

    I don't know how to upload a map so i sent you an email. I will try after dinner to upload to your MediaFire.

    Let keep in touch.


    Edited by 3ICE (2016.01.14.): Finally I found out why I get spam… After more than four years!

    Blanking out my global email domain name — — from the above comment, to stop the ever increasing amount of spam email I get there.

    A handy note to all website administrators: Don't EVER leave plaintext email addresses on your website anywhere. Bots harvest these with ruthless efficiency. I now receive at least 5 new spam emails per day just to this one throwaway address alone.

    I've not blocked that inbox because what if Hygarion wants to contact me again and his email program's contact search offers me, "3ICE" up via that address instead of one of my more usual addresses.

    He is one of my top ten supporters (via donations in exchange for my work), so I'm committed to giving him all the special treatment possible.

    Yes, I delete my spam by hand, so that each email gets a one second chance to convince me it's actually a false positive.

  • Hygarion Says:

    Here the link = -removed-

    Edited by 3ICE: Removing link as requested:

    Ah, could you hide the link i gave you 2 day ago to my buggy map ?

  • 3ICE Says:


    I checked and found that there are 131645 lines in your string table. It is ridiculous!

    Some entries are repeated hundreds of times.

    For example this one 2002 times:
    A0WW (Psychic Link)

    This one 1014 times (Has multiple copies, each with different Ability IDs):
    One to another

    This one 402 times:
    A0WK (Encore)

    This one 324 times:
    A0X9 (Dark Connection)

    This one 222 times:
    A0WX (Necrophage)

    And so on…

    I am almost too afraid to look at the object editor.

    Yup, I guessed that right. Tabbing to Abilities froze my computer and crashed the editor after 2 minutes of hard lock up. I gave it some more processing power on my second attempt and got it to load. There are two Psychic Link abilities (One is named "Bad Psychic Link", I think for a good reason), and another one with 600 levels. This is too much.

    To fix this, you are going to have to rework that ability. You can't have 600 levels on an object and expect it to work efficiently. You can, however use triggers to achieve the same effect (nearly the same, anyway).

    After deleting the biggest offender, A0WW (Psychic Link), I am able to protect your map. Though it would benefit both your editor's and the players' game load times to fix the other abilities too. (The ones I listed above.)

    In case the editor crashes when you try deleting it (mine did), you can use any external tool or hex editor to force-delete the ability and then clean up the string table with a regular save command.


    p.s.: It also takes a very long time to load your map in the editor. Twenty to fifty times as long as my biggest project, Maze Designer. 11 seconds vs 9 minutes. (Though my map is in JASS so I have a slight advantage there. Not having to load any GUI triggers helps.)

    It has been a pleasure seeing the World Editor being taken to the extreme, thank you. I learned a new thing today. (Ability level limit.)

    Edited by 3ICE: Added p.s.

  • Hygarion Says:

    Oh yeah, thanks!

    Mind if you fix those abilities? I will pay.
    Of course i will send you 10$ right now for the time you spent on my map. As i've spoken on my mail time is money.

    And what advice(s) could you give me to greatly reduce the loading time ?
    you can teach me good things, and i'm all listening.

    And i read upper you can teach how to create GUI and MUI triggers, that would be nice to learn. Maybe after Christmas if you're busy.

    Again thanks!

    Ps: it would be nice to at least fix the "Psychic link" because it is very important for my map.

    Edited by 3ICE: Merged doublepost.

  • 3ICE Says:


    Thanks for the 10$, you are very generous.

    I'm working on a fixed version of the map as we speak. I'll be mailing it to you in a few hours. (Feel free to move the "Psychic Link fix" trigger to wherever you like. I'll put it at the top.)
    Working with GUI after such a long time of pure JASS really opened my eyes to just how bad GUI is. So slow and limited! But everything is possible. :)

    Loading time is reduced by wigetizing. PitzerMike made a nice tool:
    I don't use it myself, as none of my maps suffer from too long load times. (Generally 7 to 10 seconds.)
    The order in which you should use the two tools are: Widgetize, then optimize (protect).

    MUI triggers in GUI used to rely on a trick:
    You created placeholder global variables and then overwrote them with local variables using custom script. Then you could use those globals as locals in triggers that have this trick at the beginning. This workaround was very limited, and a better solution exists today with hashtables.

    Sadly, there are no good tutorials out there that I could find. Maybe use the one with indexing (first result for mui gui war3).

    I can't use hashtables at all, because I decided to leave my editor unpatched, for better compatibility with third party tools.


    Edited by 3ICE: Update - It is going to take a while. War3 simply refuses to open your map and I need to play it in order to see how the abilities work.

    Edited by 3ICE: Update - It opened! Everything is in order now.

    Edited by 3ICE: Update - Err, it is still loading after 10 minutes. Stuck at 27%

  • 3ICE Says:

    I would love to play your map but loading is still stuck after hours. This is too much for my computer to handle… You are going to have to fix this on your own. Here are some ideas:
    Create hidden buffs that add +1% +2% +4% +8% +16% etc bonus damage to the affected unit.
    Or if you don't like binary maths, use the much simpler (only simpler for us, not for computers) decimal system: +1%, +10%, +100%.
    Or if you want to be really cheap, just use one buff: +1% and apply it hundreds of times. (Advantage: you don't have to remove any buffs or do maths. Disadvantage: Adding 600 buffs to one unit is likely to break the game)
    Count the kills in variables, add/remove the buffs to the units as many times as needed. Here are four examples and 5 example steps:

    253 kills:
    Binary: +1% + +4% + +8% + +16% + +32% + +64% + +128%
    Decimal: +100% + +100% + +50% + +1% + +1% + +1%
    Single: +1% + +1% + +1% + +1% + …+1% + +1% + +1% 253 times.

    254 kills:
    Binary: +2% + +4% + +8% + +16% + +32% + +64% + +128%
    Decimal: +100% + +100% + +50% + +1% + +1% + +1% + +1%
    Single: +1% + +1% + +1% + +1% + …+1% + +1% + +1% 254 times.

    255 kills:
    Binary: +1% + +2% + +4% + +8% + +16% + +32% + +64% + +128%
    Decimal: +100% + +100% + +50% + +1% + +1% + +1% + +1% + +1%
    Single: +1% + +1% + +1% + +1% + …+1% + +1% + +1% 255 times.

    256 kills:
    Binary: +256%
    Decimal: +100% + +100% + +50% + +1% + +1% + +1% + +1% + +1% + +1%
    Single: +1% + +1% + +1% + +1% + …+1% + +1% + +1% 256 times.

    To go from 253 to 254:
    Binary: remove +1%, add +2%
    Decimal: add +1%
    Single: add +1% (always this simple)

    To go from 9 to 10:
    Binary: remove +1%, add +2%
    Decimal: remove +1% 9 times, add +10%

    To go from 10 to 11:
    Binary: add +1%

    To go from 11 to 12:
    Binary: remove +1%, +2%, add +4%

    To go from 255 to 256:
    Binary: remove +1%, +2%, +4%, +8%, +16%, +32%, +64%, +128%, add +256%

    A much simpler idea would be to rework the towers into hero towers. Each kill levels them up by one, balance it with the attribute gain. They would share xp globally, so no extra work necessary.

    By the way, what are your computer specs? Must be very impressive to be able to handle such an enormous project. I'm on 4GB ram with a core i5 cpu, and a mid range 1GB video card (Runs Starcraft II at 200 fps when all settings are on lowest.)

    While waiting for warcraft to load, I found a map symmetry bug: Move Chez Antoine 1 unit to the right to fix it.

    If you want the map without the Psychic Link ability, let me know. (Takes a bit of work to delete it without crashing.)

  • Hygarion Says:

    Hello, sorry to answer you with delay. I had to buy gifts for Christmas and was quite busy lately.

    I've found tutorials about indexing and hashtables into hiveworkshop but i'm too lazy to read and do them.
    The funniest thing is i was about to release this last version on my map and quit and this one is full of bugs. Haha

    I don't have the strength to jump into a massive project anymore. But you're a very good teacher. I will do what you wrote about adding % of damage. It is clever to add/remove depending of how many kills it gets. 100 kills = removes +99% and add +100%, better than add +1% 100 times.

    Say more about that widgeting-thing. if i was able to greatly reduce the loading time that'd be awesome or even perfect.

    Hmm about my laptop i don't now the specs. I just bought the best computer as always. A sony one.

    You spent a lot of time on my map, i will send you 10 more dollar. Time is money my friend.

    If you found a way to clean up my map, to make it playable again and why not to rework that "psychic Link" ability, i will send you 50 buck (at least) up to 100 depends on the job.

    Answer me if you're interested because i don't want to look into this problem while you're doing it too.

    Anyway you're a great guy!! Approachable, gentle and very clever. And you have a big heart to help someone like this.Thumbs up for you 3ice. And i mean it.
    Ps(1); Oh yeah, to check up my map, i used to use vexorion mapoptimizer first and play the game. When i don't do that, i must wait for 1 hour because the game is up … taht might help you to play it… if it is stille playable.

    I have an "old" version without maybe things but it will be ugly for me to restart from this one, because i've spent several hours to produce the lastest buggy version which wasnt buggy until 3 days ago though i only added few featurers.

    Ps(2): Sure. if you're not interested or you cannot help me anymore, a version without the Psychik Link ability would be nice.

  • 3ICE Says:

    Thanks for the second 10$ donation.

    I got to play your map today, and I have to say it is very impressive. There is a ton of content!
    Warcraft handled the 600 levels of Psychic Link without any lag. All I had to do to get it running is Widgetize it. (I did it with all except 2 options checked, but the default settings are good too).

    The process took 6 minutes.

    And the widgetized map loads in under a minute! (Still can't protect it though…)

    Widgetizer makes a copy of the map, so no backup is needed. The result will be at:
    C:\Program Files\Warcraft III\!\Widgetizer\Output\ (Path depends on where you extracted the Widgetizer folder to.)


    Edited by 3ICE: Working on a version that doesn't crash when deleting abilities, in case you still want it. (Abilities over 80 levels reduced to 3) I went through all abilities one by one, and found these: One to another, Ancient, Bad Psychic Link, Coppery Breath, Dark Connection, Encore, Water Coagulation, Water Coagulation Test, Necrophage, Ancient (1), One to Another (On Tower), and of course Psychic Link with its 600 levels takes the prize. (I used Zepir's Editor to avoid crashing.)

    Edited by 3ICE: Done. I'm e-mailing it to you right now.

  • Hygarion Says:

    I tried to delete an unit (the one called "Joka" that i don't have any use) and the world editor crashed :(

    And i still have the same problem when i use the vexorian's map optimiser ==> Same error "too much mods in object".

    I guess i must forget about mapoptimiser and use the widgetizer ?

  • 3ICE Says:


    I can delete it for you. Send me the latest version.

    Yeah. We can't optimize, even if we drastically reduce the object count. I removed over 2000 objects (ability levels) and it still fails to optimize. I guess there are about 1000 more objects that need to be removed. But that'd mean a great deal of your work was for nothing and that's unacceptable. (I base this on the error messages. The "what I'm guessing is a variable counter / array index" keeps decreasing as we lower the object count, it will hit zero (no error) after around 3000 objects are removed.)

    But widgetizer makes your map hard enough to edit. Only people who have the Dewidgetizer tool can mess with your map now. And the load time is wonderfully short after widgetizing. (Doesn't help the map size though.)

    Also, send your map to Vexorian, he can fix this. I think all we need is the removal of a hardcoded limit. Say he has an array initialized as: mod object[10000];, that can only hold 10k mods. If the map has more than that, there is no support for that map. To fix this all we need is to change that to int mod_count = count_mods(); and then mod object[mod_count];. This way the next hardcoded limit would be: 32k (already 3 times better), or on a 64bit system: 2B (awesome).


  • 3ICE Says:

    Man you are making me rich beyond belief. (For a student, that is.)

    Just received 70$!

    Edited by 3ICE: Of course that's only 67 dollars after paypal's ridiculous transfer fees. They milk us hard, one transaction at a time.

  • Hygarion Says:


    Oh no it is alright. There are many unsused or useless units even skills i dont mind if i cannot delete them.
    But if using that zepir's editor could avoid crashes AND if it isn't too hard to use it would be nice to use it once and for all to erase useless stuffs.

    So do i have to send to Vexorian my map or just to ask him to remove that limit ?
    Do you have his email or forum website ?

    You spent a lot time on my map and you gave him a lot of advices that deserves 70 $ !

  • 3ICE Says:

    Zepir's editor was just an example.
    A more mainstream and easier to use editor is JNGP. Jass NewGen Pack. Get that instead.

    PM him on wc3c, you will need to send the whole map.


  • Hygarion Says:

    Ok i Will pm him tomorrow or the day after. It is Time now to drink and eat. Merry christmas dude.

    Let keep in touch.


  • 3ICE Says:

    Merry Christmas!

    I'll be back on Wednesday. (Visiting parents, then grandparents, then my nieces and nephews.)

    Edited by 3ICE: Oh yeah, and after that it's exam season until February… :s

  • Hygarion Says:

    No problem.

    It's not like the world is going to explose right now.
    Good luck with your exams even if "luck" is nothing to deal with exams.

  • Hygarion Says:

    Haha i didn't noticed your answer about those 70$!
    It is nothing. Thanks yourself for being awesome lol

    More seriously, time is money my friend. For me, it is normal to give you what you deserve. Otherwise that would make me like a …an asshole.

    Some people has created their consulting firm and they get richer day after day - as paypal i guess. You're like a consultant for me. You did the duty you're rewarded.
    This is capitalism.
    And Santa Clauss likes capitalism! ahah

    Ps; i sent an email with the link of my map to Vexorian. let see if i'll have an answer.

  • 3ICE Says:


  • Hygarion Says:

    I just sent an email to vexorain, he answered me like you did (quickly i mean) he gave me a version without any limit but he wasnt sure than i will work… and guess what dude??? IT WORKS!!!!!! hahahahhah

    I'm a so happy.

    Thanks both for that present for chrismas. Awesome!

    So what's now? Can i widgetised an optimised map or the opposite?

    Tell me more to reduce loading time and why not turn my map into an awesome one. Even if it is already awesome right? :p

  • 3ICE Says:

    Yeah, Widgetize, then Optimize. The map is already going to be awesome then. My brother wants to play it. Put a release version here:

  • Hygarion Says:


    Give me some days to release a final version. And i will put it in your forum. Even if i don't know how. But you will tell me in time.

    Mind if i name one of my hero "3Ice" ? for you great job?

  • 3ICE Says:

    That'd be an honor, thank you. Hope my in-game representation turns out OP. :) (Connect it to the Psychic Link buff and I'll be a happy hero.)
    Though I insist on having a fully capitalized name: 3ICE (Or I'm willing to accept a compromise: 3ice. But I'm no 3Ice.)

    Edited by 3ICE: Fixed a typo, added a request for my hero to be slightly overpowered, a note about capitalization of 3ICE, and some screenshots on how to register below.

    First, find the website (

    Then, click register in the top-right corner menu (register).

    By the way if you click "I agree" you officially sell me your soul and I inherit all your belongings. (joke)

    Your username will probably be Hygarion.

    Your e-mail address and a safe password for your account, like:
    I like to generate my passwords with Random.­org:

    Realm, account name, Clan tag are all optional (But 99% of the members fill it in, because that's how I know they are real people.)
    And as an extra safeguard against spammers you have to type 333 in the 4th box. (It works on most spam scripts, even ones that have a captcha solver.)

    Solve the captcha. (I can guarantee it won't be as easy as in the example above. But I set it to the easiest difficulty as to not waste anyone's time.)

    Click "Submit" to register.

  • Hygarion Says:

    Deal then!
    Time to go to bed for me, tomorrow i have to get up at 7 in the morning to go to work and i still have to digest what i ate for christmas! i'm so greedy.
    And the honor is fully shared:)

    Ahaha nice :)
    I'm creating your character right now. And his name will be 3ICE! with a Psychic Link of course ;))

    hum… first could you erase for me some unused skills or units?
    I send you the list in a few minutes

    actually no need to erase for now

    i tried to open a my map on zepir editor and i had an error!
    I tried to dl the Jngp but no way to find it on google. And when i found a link.. the link was empty.

    Edited by 3ICE: Merged 5 posts into one.

  • 3ICE Says:

    I am surprised you managed to find a working download for Zepir's editor. (I couldn't.)
    Here is a direct link to JNGP:
    You might need to be logged in for it to work. Scratch that, I logged out to test it and it worked fine.

  • Hygarion Says:


    But my antivirus Mcafee treats it like a virus. And when i try to extract it from the zip, it erases four files so the editor cannot be launched.

  • 3ICE Says:

    Yes, many lesser known anti virus solutions treat JNGP like a virus and block it. The way JNGP works is indeed virus-like. They hook into an other process (World Editor) to add features into it. But antivirus programs have no way to tell the difference between hooking with bad or good intentions, all they see is: This software is touching another application's memory, therefore it is very likely a virus. Lets delete it!

    You will have to whitelist JNGP or disable your antivirus. (The latter is strongly not suggested!)

  • Nightwing Says:

    Is there any optimizer besides this?

  • 3ICE Says:

    Sure, there are tons. This one is the best though. In my opinion (and everyone else I know).
    Look at pages 1 through 10 on this google search: and you will find the other map protectors.

  • Hygarion Says:

    Happy new year my friend!

    I'm working on a final version but i have a few issues. The widgetiser erases some units' skin. So you can build those units but they've got not model at all. So i guess i have to uncheck some squares.
    Not a big deal i guess.

    I just wanted to say hi.

    When i will finish, i will register myself and post my map.

    Ps: I have created your hero :)

  • 3ICE Says:

    Yeah, the widgetizer likes to eat things. Especially trees. (That is why doodads are unchecked by default.)


  • Hygarion Says:

    It took time but i finally made it :))

    I've changed many things. Tonight i will test it with a friend and tomorow i will register myself!

    I hope you're doing well !


  • 3ICE Says:

    Great news!

    I am doing all right. (But I have exams tomorrow, next week and the week after next.)

  • Hygarion Says:

    Registration done.

    Where do i am supposed to post my map?
    On the topic?

  • 3ICE Says:
  • Hygarion Says:


    Maybe i need a picture of my Map…?

    I will try without it and if it is badly needed, i will try to capture something.

    Edited by 3ICE: The correct phrase is "badly needed" instead of "hardly needed".

  • 3ICE Says:

    Posting screenshots is always an excellent idea.

  • Hygarion Says:


    And how to add screenshots?

    Edited by 3ICE: Merged doublepost.

  • 3ICE Says:

    Writing guide…

  • Hygarion Says:


  • 3ICE Says:

    Step 1: Start creating a new topic.

    Step 2: Attach your screenshot.

  • Hygarion Says:

    Dude you rock!!!!!xD

  • Hygarion Says:

    At to post the adress where i have uploeaded the name i must put it this way ?
    [url][/url] ?

  • 3ICE Says:

    Please use the preview feature and experiment.

    p.s.: The answer is yes.

  • Hygarion Says:

    Done !!!!
    I hope it's readable and comprehensive. can you check for me?

  • 3ICE Says:

    Done. Everything checks out. The screenshot is quite big, but that's just my small screen's fault.

  • Hygarion Says:

    Thanks a lot :)

    If your brother plays the game and you have any feedback good or bad criticisms i count on you to share them with me!

  • DyS Says:

    Dude, I came across this page for w3x information, and I must say, I couldn't stop reading your posts. You sir, are an excellent human being. Keep it up!

  • 3ICE Says:


  • Hygarion Says:

    Hey 3iCE my friend,
    First how are you ?

    Dude, i need you more than ever !!
    My map is finished, i made many changes since the version i've posted on your forum… But the loading time is about 1 min.
    The loading line stays blocked during 1 min before running normally, i guess it has to upload by heavy map first.
    The thing is 1 min is too long.

    I used the widgetizer…the loading time dramaticaly falls to 20 seconds BUT many units are "eaten" they can attack but theirs skins have disapeared, si you cannot sell them. Sometimes it is even the structure itself that is skinless and then you cannot buy stuff into it.

    Dude help your old friend!!!
    I've played maps bigger than mine but their loading time is about 10 seconds max. How come… So i was wondering if you want to earn some money and help me again.

    -rm- This is the link of my map

    -rm- this is the link of vexorians mapop ex with no mod limit. you will need it to mapop the map

    Erase links as soon as you can.

    If you don't accept, thanks anyway ^^

    Edited by 3ICE: Deleting links as requested.

  • 3ICE Says:


  • Hygarion Says:

    You're the dude!! GOOD LUCK!

  • Hygarion Says:

    Hmmm, i don't know if you're working on my map or not. I will start to deal with these issues by myself because people are waiting for that!

  • 3ICE Says:

    Sorry about that. University is taking up most of my free time.

  • Hygarion Says:

    No problem! School before everything!!! That's the point!
    Courage !

  • 3ICE Says:

    In my heart, school comes last…

    If it was interesting I would love it, but they just spew dry mathematics at my head and expect me to memorize all of their theses for the next exam. I came here for a programming degree, not a mathematician one! (Too late now…)

  • Hygarion Says:

    ahah that's school dude ! There is no logic at all. They always spread theorems, formulas, and they do not care if you haven't understood them, but they just want you to memorize everything!

  • 3ICE Says:

    5.0 was released.

  • Gold1 Says:

    hey 3ICE! long time no see!

  • 3ICE Says:


  • VAn_DAmme Says:

    can i use this program to play witout lagg a map created by another person ? sry imn new at online and kinda retrde question sry english me frm maroc

  • 3ICE Says:

    This program does not reduce lag.

    However, you can use the Widgetizer application to make maps made by other people load faster.

  • VampIrE Says:

    Please my map is too big and I need your help.

  • 3ICE Says:

    I'm here to help.

  • VampIrE Says:

    My map size has exceeded 8mb. I cant create it at LAN.
    Please can do you show me a path to decrease the size?

  • 3ICE Says:

    Delete some big files from it.

    In my maps I have two rules:
    No music
    No custom models

    Keeps my map sizes below 0.1 MB.

    But why is the 8 MB map size limit applied to LAN now? I remember playing 70 and 180MB big maps on LAN.

  • VampIrE Says:

    Err.. Okay I will Delete the musics than.But Seriously, I really cannot create it in LAN with 8mb

  • brandon Says:

    music does add up

    email -hidden-

    hi can you unprotected my map? ill pay you! my hard drive got wiped :(

  • 3ICE Says:

    Yes, I can.

    But are you aware of all caveats of map deprotection?
    Such as not being able to restore GUI triggers?
    You'll need to know JASS.

    Sent you an e-mail.

  • brandon Says:

    i know nothing of jass :( but i guess i can start over…

  • 3ICE Says:


    It is done.

    Please send 5$ to and you'll receive a 3.6MB zip file containing:

        • wok.3.43.w3x - Your deprotected map that already contains everything below:
        • war3map.j - The map script
        • war3mapExtra.txt - Sky model and time of day settings
        • war3mapMisc.txt - The gameplay constants
        • Fullscreen.blp - The loading screen
        • War3mappreview.tga - The map icon
        • wok.terrain.w3x - Just the terrain in a separate map
        • Units, items, abilities, etc.w3o - and a file containing all objects

    You can import the w3o file into the terrain map in case you want to work in a clean environment instead of the deprotected version. I usually do it that way.

    Here's a screenshot of the terrain:





  • Halosheep Says:

    Alright, I give up. I've been attempting to add cheats into this Korean map (my friend and I are attempting to find out how to tier-up) but after adding the JASS script for the cheats the map is then too big. So after many Google searches and a few hours of trying other things, I came here.
    I followed everything and did the tutorial, but once it came to "Rebuilding Mpq with new buffer size and Zlib deflate compression…" I get an I/O error 998.
    Another few google searches ensued but that ended with me being even more confused than I was before.
    If you know anything about what might be causing this, I would appreciate the help.
    If not, I can send you the map and have you take a look at it. I wouldn't ask for you to do anything but tell me if I'm missing something.

  • 3ICE Says:

    Send me a link to the map, that's the fastest way.

    I have a test build of the optimizer that works better with big files, I'll see if it makes a difference.

    I/O 998 is a block read error so I assume the optimizer went into an infinite loop and wrote a big 4GB file to your hard drive in the process. I advise you to go see if it's still there, and delete it. No reason to waste that much space.

  • Halosheep Says:

    Here's the map:

    I looked around the Warcraft folder for any files that seem out of place, nothing seemed to be there. I've got enough space so it wouldn't matter too much, I'll just remove them if I ever come across them at some point (I tried around 20 times with different options, so I'm sure if they were on here I would find them).

    Edited by 3ICE: RIP mapgnome :( It's a spam site now.

  • Lacolst Says:

    Добрый Вечер) Мне нужна защита лучше spazzler, что бы MPQ программы такие уву WinMPQ, MPQ Editor, MPQ master… и особенно не могли открыть мою карту warcraft особенно MPQ viewer, т.к я хочу вставить туда читы и закрыть её. Могу заплатить за вашу работу.

  • 3ICE Says:

    Google Translate to the rescue!
    I sent you an email:


    I can install cheatpacks for 5$. Please send me a link to the map and which cheatpack you'd like.

    Or if you are looking for better protection against cheatpacks, I can do that too. Send me 7$ and your map script. (It can be protected or unprotected, makes no difference.) Once I protect your script, it will be protected from cheatpacks, and crash the game if a cheatpack is installed.


    p.s.: If I misunderstood your intent, please let me know. Google Translate is not very good, as you can see below:

    Good Evening) I need better protection spazzler, whatever MPQ program such UBV WinMPQ, MPQ Editor, MPQ master … and especially could not open my map warcraft especially MPQ viewer, I want to unnecessarily put there cheats and close it. I can pay for your work.

  • Lacolst Says:

    Мне просто нужна защита что бы не кто не мог открыть мою карту в увидеть активацию читов. Например как spazzler но его уже взламывают( и MPQ viewer может его открыть, а мне нужна защита что бы не одна программа не могла открыть мою карту и посмотреть активацию читов.

  • 3ICE Says:

    Google Translate:

    I just need the protection that would not be who could not open my map to see the activation of the cheats. Such as spazzler but he was breaking into (and MPQ viewer can open it, but I need the protection that would not be a single program could not open my map and see the activation of the cheats.


    What you are asking for is impossible. As I explained in an earlier comment: There is only one way to protect your map perfectly: Delete it! Every other method has flaws. As long as Warcraft 3 can open the map and load it, anyone can do the same with some work.

    The Spazzler tool is really impressive. It almost got it all right… But you can never achieve perfection in this ecosystem, as we are all limited by Wc3. The requirement that "the map should be openable by Warcraft 3" is the factor that limits us all.

    I have a DeSpazzler, which fixes all corruption introduced by Spazzler.pyc
    This is true for every tool as well; All kinds of protection can be undone with more or less work.
    Spazzler - DeSpazzler
    Protector - DeProtector
    Compressor - UnCompressor
    Widgetizer - DeWidgetizer
    Obfuscator - DeObfuscator

    What I can do is hide the activator string to make it very hard to find, for 3$. But no matter how well I hide it, someone that can read and understand JASS will still uncover it if they work at it hard enough. No protection is unbeatable. But I can get very close to unbeatable. For as cheap as 3$.


    p.s.: I also received your email with the video in it.
    Google Translate is really struggling to make sense of it all:

    I need to protect whatever MPQ program could not open the map and see Activation cheats. Here's a video for this protection. (Protection from opening in MPQ.wmv)

    My answer: Impressive demonstration, albeit a bit slow. Practice your windows skills! Use the keyboard.
    Indeed there will always be a tool or combination of tools that can open any protected map you throw at it. There is no way around that.
    You need to scramble the map script much more than it is now.

  • Lacolst Says:

    Вот карта на ней стоит защита от открывания в MPQ. но DeSpazzler её не может снять. Её обходит только MPQ viewer. Возможно ли сделать такую же но что бы уже MPQ viewer не мог её открыть? Мне нужна защита именно от MPQ программ. map email

  • Lacolst Says:

    Понятно что знающие люди её откроют. Они это будут делать за деньги. Кто заплтатит вряд ли скажет кому потом активатор бесплатно. Может всё таки у вас получится сделать защиту как у cyber_rpg_2.8ver.w3x + защиту от MPQ viewer

  • 3ICE Says:

    Google Translated: "Here is a map on it is protected from opening at MPQ. DeSpazzler but it can not be removed. It costs only MPQ viewer. Is it possible to do the same but that would have MPQ viewer could not open it? I need to protect it from the MPQ programs. map email"


    Got your email. I looked at that map, it wasn't even Spazzled. Every Spazzled map has the string "SPAZZLER" in it. Or "53 50 41 5a 5a 4c 45 52" for hex viewers. (I got this info from Dr Super Good, here.)

    Further research: I found the string "MoonLight" near where "SPAZZLER" was supposed to be, not sure if that's a different tool's signature or just an author name or something. Edit: Found lots of occurrences of "LastMoon" and "koon2001" too. What is this?

    Either way, that map can still be opened and deprotected. And if I add further protection on top of what it currently has, it will still remain openable. You'd just need to use two tools for opening it. One that repairs protection #2, then another that repairs protection #1. Some guesswork is involved in determining what those tools will be. Until a new tool comes out that can handle both protection #1 and #2 at once.


    Google Translated: "It is clear that the people who know it will be opened. They will do it for the money. Who zapltatit hardly tell who then activator free. Maybe all the same you'll have to make the protection like cyber_rpg_2.8ver.w3x + protection from MPQ viewer"


    Again, it is not possible to protect a map from all MPQ viewers. But I don't think I understood you correctly. Especially the part about "zapltatit".

    About the activator: I would hide it deeper in the code, and not save it in the globals block. I wouldn't keep it as a string either. Or call the variable "Activator". I wouldn't even use a variable, just some magic numbers (or as I like to call it: "hardcoded").


  • Lacolst Says:

    Вы можете мне сделать такую защиту как на этой карте или нет? + что бы она не открывалась MPQ viewer. Больше мне не чего не надо))

  • 3ICE Says:

    Translated: "Can you tell me how to make such a defense on the card or not? + That she would not open MPQ viewer. More I do not what not to))"
    I told you it's impossible. Any map protection can be reversed.

    The reason why we protect our maps at all is so noobs can't access them. An experienced enough person will always find a way to get inside your maps. We need to learn to live with that. And might I suggest you obfuscate your scripts better. The variable names are still human readable. The Optimizer can rename them for you to gibberish.

  • Lacolst Says:

    я понимаю что знающий человек откроет. Но не мелкие читеры. Так вы можете сделать защиту которую я прошу?

  • 3ICE Says:

    Translated: "I understand that a man of understanding will open. But not small cheaters. So you can make the protection that I ask?"
    I'm sorry, but all I can do at this point is hide the activator string. Spazzler is the limit at the moment.

    But small cheaters won't have that specific MPQ Viewer application, they only know how to download and use WinMPQ or MPQMaster, which we are protected from quite well.


  • ogmaend Says:

    The map:

    is it possible to somehow unprotect this map so that i can make changes in the skill descriptions?
    my friends have trouble understanding what the skills do and the damage/range information……
    i already know how to use the world editor, but i cant seem to open this map or unprotect it


  • 3ICE Says:

    Sure, send 15$ to and I'll send you the map.

  • ogmaend Says:

    im sorry sir, i cant afford to spend any money right now, but is it possible for me to learn how to unprotect it somehow on my own? perhaps a tutorial on it?

    sorry for for trouble……thanks

  • 3ICE Says:

    Instructions for that are in the blog post: #deprotect


  • ogmaend Says:

    oh ok, thank you sir.

  • Halosheep Says:

    Hey, 3ICE, did you ever get around to trying that map?

  • 3ICE Says:

    I did, to no avail. They have some modern protection that I can't deal with yet. Giving up for now…

    Some of the automated cheatpack installers might work, but I don't trust them at all. So I haven't tried that route.

    Sorry about forgetting to let you know this earlier, that Russian guy distracted me. He showed me some great stuff while being completely ignorant of others.

    He still believes in "perfect protection", which I say is impossible.

  • Ario Says:

    Hi 3ICE
    I just wanna open a map, and make the heroes just stronger for more Fun. Infernals from sky perhaps!!:-)
    But: it is not opened anyawy. The editor begins to load everything but at the end a message comes up telling there are triggers missed or invalid. Then the map doesn't get opened at all.
    I don't need the triggers. I hardly can work with the editor.
    Any help?
    The maps is old Taylor Hero Siege V1.0.
    Thanks for your handy site

  • 3ICE Says:


    Yes, those are the symptoms of map protection.
    Help me (financially) and I'll help you (by making all heroes 200% stronger).


  • Lacolst Says:

    Добрый вечер) у меня проблемка не могу найти активатор вот этой карты

  • 3ICE Says:

    Translated: "Good evening) I can not find a poser activator here this card"


    I deprotected the map and it contains no activator string. At least not a commonly known one.

    But, it does contain a trigger named tr_ggg_zTrig_zCheatz. So yes, the map contains cheats. And whoever added them did a bad job protecting it…

    There is also a suspicious global variable that follows a similar naming convention (unnecessary "z" at the end of the variable name to make it look "cool"):

    string Playerz="-WasabiNaim"

    But I think the real way to activate the cheats is to execute a meticulously crafted and complex set of steps. Yes, whoever hacked this map, probably made their own activator trigger! That counts.

    Reading the code in tr_ggg_zTrig_zCheatz, you will see that you have to be in the unp_termit_tr7 player group if you want to use any of the cheats. To get in, you have to pass:

    local player tr_ggg_p2p=GetTriggerPlayer()
    set unp_termit_tr5="   "
    if SubString(GetEventPlayerChatString(),0,100)==unp_termit_tr5 and not IsPlayerInForce(
    call ForceAddPlayer(unp_termit_tr7,tr_ggg_p2p)
    call TriggerRegisterPlayerChatEvent(unp_termit_tr3,tr_ggg_p2p,"-",false)
    call SetPlayerName(tr_ggg_p2p,"~["+GetPlayerName(tr_ggg_p2p)+"]~")
    call PlaySoundBJ(gg_snd_lt01)
    elseif SubString(GetEventPlayerChatString(),0,100)==Playerz then
    call SetPlayerState(tr_ggg_p2p,PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(tr_ggg_p2p,
    call SetPlayerState(tr_ggg_p2p,PLAYER_STATE_RESOURCE_LUMBER,GetPlayerState(tr_ggg_p2p,
    call CustomDefeatBJ(tr_ggg_p2p,"?????, ??? ????? ??????!")

    Reading the code above, you can see that the activator string "-WasabiNaim" is actually a well crafted trap. (I knew it was too good to be true!) Look at this part:

    if SubString(GetEventPlayerChatString(),0,100)==Playerz then call CustomDefeatBJ(tr_ggg_p2p)

    So if you type in the fake activator, you get kicked from the game. That's clever. Very clever.

    The actual activator is a very commonly used trick of typing three spaces ("   "). But that's only a small part of it. There are variables all the way from unp_termit_tr1 to unp_termit_tr7. That means multiple steps need to be passed.

    Digging deeper… During a different activator sequence, the following trigger is enabled for the player that passed:

    function tr_ggg_zTrig_zDirectCheat takes nothing returns nothing
    local player tr_ggg_p2p=GetTriggerPlayer()
    local string tr_ggg_s2s=GetEventPlayerChatString()
    if SubString(tr_ggg_s2s,0,10)=="-clearkeys"then
    call DisplayTimedTextToPlayer(tr_ggg_p2p,0,0,5,"|cffff0000Key Bindings Cleared.")
    elseif SubString(tr_ggg_s2s,0,7)=="-bindup"then
    call DisplayTextToPlayer(tr_ggg_p2p,0,0,"|cffff0000'"+SubString(tr_ggg_s2s,8,30)+
       "' was bound to Up Arrow Key")
    call tr_ggg_zTrig_zBindKey(tr_ggg_p2p,SubString(tr_ggg_s2s,8,30),"up",
    elseif SubString(tr_ggg_s2s,0,9)=="-bindleft"then
    call DisplayTextToPlayer(tr_ggg_p2p,0,0,"|cffff0000'"+SubString(tr_ggg_s2s,10,30)+
       "' was bound to Left Arrow Key")
    call tr_ggg_zTrig_zBindKey(tr_ggg_p2p,SubString(tr_ggg_s2s,10,30),"left",
    elseif SubString(tr_ggg_s2s,0,10)=="-bindright"then
    call DisplayTextToPlayer(tr_ggg_p2p,0,0,"|cffff0000'"+SubString(tr_ggg_s2s,11,30)+
       "' was bound to Right Arrow Key")
    call tr_ggg_zTrig_zBindKey(tr_ggg_p2p,SubString(tr_ggg_s2s,11,30),"right",
    elseif SubString(tr_ggg_s2s,0,9)=="-binddown"then
    call DisplayTextToPlayer(tr_ggg_p2p,0,0,"|cffff0000'"+SubString(tr_ggg_s2s,10,30)+
       "' was bound to Down Arrow Key")
    call tr_ggg_zTrig_zBindKey(tr_ggg_p2p,SubString(tr_ggg_s2s,10,30),"down",
    call tr_ggg_zTrig_zCheatz(tr_ggg_p2p,tr_ggg_s2s)
    set tr_ggg_p2p=null
    set tr_ggg_s2s=""

    This is standard functionality I first saw in JJ's cheatpack. But most cheatpack authors "borrow" code from each other so I'm not going to go hunting for the original author.

    Either way, the map has a cheatpack with a trapped activator string and a hidden, real way to activate it. You can find it all in the map script. I'll leave the rest of the research to you.



  • Lacolst Says:

    Спасибо=)) уже нашоел как активировать

  • arsid Says:

    I've done what's on this website
    but why when I open a folder that had me edit the throne warcraft 3 frozeen why there is written:

    This application has encountered a critical error:


    why is it sir

    an explanation please!

  • 3ICE Says:

    You can't open a folder with TFT. It only handles files (maps, campaigns, and replays).
    You were not supposed to edit Frozen Throne.exe, only yourMap.w3x

    The purpose of this article is to cause a fatal error in the World Editor, not in Frozen Throne.

    Please share with us the result of your work so that we may find out what went wrong.

  • Halosheep Says:

    Well thanks for trying 3ICE! Glad to know I'm not just stupid and even a pro couldn't do much more than I could.
    I tried some of the automated installers, didn't do anything, sadly.
    Anyways, thanks for the try!

  • 3ICE Says:

    No problem. I still have that map on my hard drive by the way. So if I come across any new tools I'll try them on it right away.

    Try asking the guys at wc3edit for help, they are a much bigger community and their combined knowledge far outshines mine.

    Remember my saying: no protection is unbreakable. That map _can_ be cheated. We just haven't tried hard enough.


  • Obnoxius'fly Says:


    I started reading trough all of the coments, but after reading perhaps two thirds of them; I realized how manny there were, so I skipped the rest.

    I was wondering about two things:
    1. Why have you protected your own map? I felt that you're exactly the kind of person who would leave it open for people to learn, but perhaps I'm terribly misstaken.
    2. Could you make a video set (forgive me if such a set already exists) where you explain some basics for JASS and how to learn about it. That would be really cool.

    Hope I had no spelling defects.


    Edited by 3ICE: Removed website. (Was "http://Idonthaveone!".)

  • 3ICE Says:


    Indeed there are far too many comments here to read in one sitting. Eventually I'll need to paginate the comments section. (Hoping to avoid that for as long as I can.)

    Here are your answers:

    1. That's explained in the blog post: #myopinion. Basically I want to discourage map thieves and reduce the number of cheated versions of my maps in circulation. I used to offer unprotected versions in email, but stopped with it a while ago.

    2. Other people have made such videos: (But I cannot comment on their quality because I have not watched any.)


    p.s.: Not many spelling defects at all, just the three: coments (+m), manny (-n), misstaken (-s).

  • Johnysone Says:

    Hello guys , I used to be reading this tutorial many times , and indeed that worksssss , but , please tell me how to decrease the map's size more than 8% , I saw Naruto Castle Defence , this map has more than 8 MB size , and he imported more than 17 MB , How could the maker import all of this and could he protect it more than 8% , besides , How does a 8,375 MB map work in Wc3 in 1.24e patch ? NEEEEEEEEEEEEEEEEEEEEEEED ANSWEEEEERS

    Edited by 3ICE: Removed URL, was "none".

  • 3ICE Says:

    Nobody said 8% is the limit. I have gotten 80% or more.

    Show me the map and I'll show you the results.

  • Davis Says:

    This article is truly a pleasant one it helps new the web people,
    who are wishing for blogging.

    Edited by 3ICE: This comment is truly a pleasant one it helps new the web sites,
    …get higher Google Page rank by spamming my blog. (URL removed, was a blogspot link about Diablo 3 hacks.)

  • nhattuanbl Says:
  • Daniel "3ICE" Berezvai Says:

    The following email conversation is published with permission from both parties.
    Subject: [PAYED] Map Deprotection

  • Inyush34 Says:

    I'm in need of your assistance in de-protecting a map. Payed upon completion.

    My attempts, have included using "RMPQEx.exe" to scan the mpq to recover names and imports of unknown file. I then use "xdep.exe" to deprotect the map using the listfile made with the first tool.

    The issues are, triggers are all compiled into 1 lump of JASS and the functions of all the names in the coding is compressed to names such as W4C8. The placements of units and such have been removed from the map, but once trying to play the map leaving map untouched from changes the units are at their right place which seems to be a characteristic of Vexorians Optimizer with the being said, i guess that tool was used to protect the map.

    Units, items, abilities, buffs, upgrades, regions, and camera have all been removed, and couldn't be recovered for some reason, but the majority if not all of the imports of the map seem to have been recovered.

    I am offering to pay for your assistance to de-protect the map, the main reason for it is to fix some coding issues and unit balancing adjustments. I have an acceptable understanding of both GUI and JASS.

    I do understand that recovering the original triggers within the map might be nearly impossible, but i am willing to pay for that.

    If the map is deprotected with all the data recovered(Imports, Units, abilities, items etc..) im willing to pay $10 PayPal. if the triggers are recovered im willing to pay $20 PayPal (and by triggers recovered i mean, when i open the map, the triggers are all there, in the folders etc… without having to extract the ,j and edit)

    The maker of this map stopped playing around 2010, and as since, his 2 clans have died, no help there, his website last activity was late 2010.

    I've attached the map to this email. Let me know.

    Edited by 3ICE: Map link:

  • Daniel "3ICE" Berezvai Says:

    I'm sorry to hear that the map author (Gotenkz?) quit. This kind of regression happens more and more nowadays as people move on to other games…

    And I'm also sorry to bring you the following bad news:
    The map you have been playing isn't official. It has a cheatpack installed inside it by a Brazilian gaming community. You can enable cheats using the "-BrazilRPGRoom" command. The message "Saindo da Brazil RPG Room para nunca mais voltar. Nao usem o cheat pls." will confirm it worked. A list of all the cheats will then be available to you through the -list1, -list2, … -list8 commands. The map has invulnerability, infinite resources, editable health, mana, xp, agility, and other attributes.

    Further bad news:
    Reconstructing war3map.wtg (the GUI triggers) has been proven to be impossible. (Unless you manually recreate the whole map trigger by trigger.)
    So this is actually the best level of deprotection we can currently do. And it most likely won't get better in the future as there are no active developers on the project anymore.

    From my comments:

    Because it is obfuscated by the optimizer. Obfuscation prevents automated tools from rewriting the GUI triggers.
    Yes, there are tools for reconstructing GUI triggers (the wtg file) from JASS (the war3map.j file), but they only work if war3map.j is untouched.
    And because JASS is more advanced. It has more features than GUI. GUI is a dumbed down version of JASS. It is more user friendly. (Where user means a beginner map maker or someone who has never met a programming language before. If you know how to program, or want to improve, you will prefer JASS.)

    From the article itself:

    Once you have opened a protected map, you will find a huge wall of text instead of triggers. That is the map code, it's in JASS. All triggers are in there, somewhere. You can not access the GUI triggers in a protected map unless you manage to restore the war3map.wtg file, which is nearly impossible. You may, however, add triggers under, or insert JASS functions directly into the map code.

    I've attached a zip file file containing the data necessary to recreate units and items (all in one file) that I was able to recover from the map. You can import it to your deprotected version by clicking:–Import-all-object-data.png (Link to larger version of the above picture)

    But if you want to continue this project I recommend a different approach:
    Try contacting Gotenkz for permission to do it. (best)
    If that doesn't work, you should edit the game files directly instead of deprotecting. (second best)

    When I have to make changes to a map I generally like to extract war3map.j and the following data files:

    • \Units\AbilityBuffData.slk
    • \Units\AbilityData.slk
    • \Units\ItemData.slk
    • \Units\UnitAbilities.slk
    • \Units\Unitbalance.Slk
    • \Units\UnitData.slk
    • \Units\Unitui.Slk
    • \Units\Unitweapons.Slk
    • \Units\Upgradedata.Slk
    • \Units\CampaignAbilityFunc.txt
    • \Units\CampaignAbilityStrings.txt
    • \Units\CampaignUnitFunc.txt
    • \Units\Campaignunitstrings.txt
    • \Units\CampaignUpgradeFunc.txt
    • \Units\CampaignUpgradeStrings.txt
    • \Units\CommonAbilityFunc.txt
    • \Units\Commonabilitystrings.txt
    • \Units\HumanAbilityFunc.txt
    • \Units\Humanabilitystrings.txt
    • \Units\Humanunitfunc.txt
    • \Units\HumanUnitStrings.txt
    • \Units\HumanUpgradeFunc.txt
    • \Units\HumanUpgradeStrings.txt
    • \Units\ItemAbilityFunc.txt
    • \Units\ItemAbilityStrings.txt
    • \Units\ItemFunc.txt
    • \Units\ItemStrings.txt
    • \Units\Neutralabilityfunc.txt
    • \Units\NeutralAbilityStrings.txt
    • \Units\Neutralunitfunc.txt
    • \Units\Neutralunitstrings.txt
    • \Units\Neutralupgradefunc.txt
    • \Units\NeutralUpgradeStrings.txt
    • \Units\NightElfAbilityFunc.txt
    • \Units\NightElfAbilityStrings.txt
    • \Units\NightElfUnitFunc.txt
    • \Units\NightElfunitstrings.txt
    • \Units\NightElfUpgradeFunc.txt
    • \Units\NightElfUpgradeStrings.txt
    • \Units\OrcAbilityFunc.txt
    • \Units\OrcAbilityStrings.txt
    • \Units\OrcUnitFunc.txt
    • \Units\OrcUnitStrings.txt
    • \Units\Orcupgradefunc.txt
    • \Units\OrcUpgradeStrings.txt
    • \Units\Undeadabilityfunc.txt
    • \Units\Undeadabilitystrings.txt
    • \Units\Undeadunitfunc.txt
    • \Units\Undeadunitstrings.txt
    • \Units\UndeadUpgradeFunc.txt
    • \Units\UndeadUpgradeStrings.txt
    • \war3mapExtra.txt
    • \war3mapMisc.txt
    • \war3mapSkin.txt

    I then edit the jass and txt files in Notepad++. The slk files are easiest to work with in Excel or similar spreadsheet editors.
    And finally reimport the changed files into the protected map and reprotect it.

    Example: Say you want to nerf Goku because he gets too much base health regeneration:

    • Open unitui.slk
    • Select all
    • Click data then filter
    • Filter model column for goku
    • Note down the unitIDs
    • Open unitbalance.slk
    • Filter this too
    • Filter column 1 for the unitIDs you noted down
    • Result
    • Scroll to the right until you find regenHP
    • Nerf away ignoring obvious dummy units with negative regen
    • Save and click yes to keep the slk format

    (instructions again)
    • Open unitui.slk
    • Select all
    • Click data then filter
    • Filter model column for goku
    • Note down the unitIDs
    • Open unitbalance.slk
    • Filter this too
    • Filter column 1 for the unitIDs you noted down
    • Result
    • Scroll to the right until you find regenHP
    • Nerf away ignoring obvious dummy units with negative regen
    • Save and click yes to keep the slk format

    Should you have any more questions, please don't hesitate to contact me.

    Can I publish this email conversation to my blog? I like to keep these things out in the open. Especially ones involving money.


    todo obj zip

  • Inyush34 Says:

    Yeah, you are more then welcome to post it on your site, although would it be too much to ask to block out my email? and please send me your PayPal so i can reward you with your work.

    Also, when you said "you should edit the game files directly instead of deprotecting. (second best)" how would i do that?

  • Inyush34 Says:

    Oddly, I cant seem to import the object data, mind sending me the deprotected version you have, with all the data. My editor just freezes and never loads.

  • Daniel "3ICE" Berezvai Says:

    Of course, I'll hide your email. Would you like your name hidden as well? Or replaced with a nickname / online handle?

    My paypal is: (← Donation link.)

    For editing the game files directly you'll need an MPQ editor that doesn't crash or corrupt the files. I've been using the Total Commander plugin by Ladik, who created it with the help of Ziutek, the author of the previous plugin. It's pretty stable. Their website at also has a standalone mpq editor if you'd prefer that. I've never used it myself but it looks all right.

    The World Editor freezes for several minutes when importing huge data sets. This is normal.
    But I attached my deprotected version anyway, in case you still need it. Although I must recommend that you try and move the object data to your own deprotected version, if you can. Because I didn't RMPQEx mine and I even deleted all sounds, models, and skins to save some space.
    It won't have anything in the trigger editor either, besides a fake protection message, because I don't use GUI triggers. I edit the war3map.j file directly.
    Also, saving the map would instantly overwrite war3map.j, deleting every JASS trigger.


    todo deprotected

  • Inyush34 Says:

    You can use a nickname for me yeah…

    Also i dont know why its freezing, i tried to import the data to a blank map, it works in 2sec. i try to import it to dbz map freezes, left it for 5min still nothing.

    I still dont have a map, with anything i need. i have 1 copy with data and no imports and 1 copy with imports and no data :P

    Would you be interested in making a generously decent amount of money for you to make the changes i need to the map, Im offering 30-60

    The changes i would require is as followed.
    Currently when Player (Red) types "ss4" it gives him some aura effect & stats. Instead i need it to replace his unit to a unit called Gogeta that currently is already preplaced on the map in the start of the game i think unit ID is H01D, in the war3map.j it shows

    "set unit087=CreateUnit(loc_player01,'H01D',-13874.7,15586.9,270.)"

    I guess unit087 is what i need Goku replaced as, BUT still making sure the SS4 stats are added so let the trigger run all its actions wait trigger is done then as a last line replace unit to gogeta and still keep stats the same. the tricky part is when you want to revert to normal form, you type "r" or "revert", i'd like goku to go back from Gogeta to his regular form and stats before he used SS4. i THINK the function is Func1330 in the war3map.j where SS4 trigger is

    and 2-3 other easier fixes might be needed but this is a main, Let me know if your interested

  • Daniel "3ICE" Berezvai Says:

    All right, what should your nickname be?

    It's freezing because it has to overwrite every stat on every unit. Peasant, Footman, etc. Not just customs. It's all caused by those slk files. They contain all the data on every unit, so the editor thinks we've edited every field of every unit too. Importing this many changes can easily take up to half an hour as it's done inefficiently.
    So yeah, Widgetizing is a very clever form of map protection. And it's useful too! Not only does it slow down us, hackers, it also speeds up the map load times for everyone else.

    I'd love to do that, yes. But it'll take hours of work. Please tell me the other changes you'd like.

    The rest of my email will be my notes I prepared for us. I'll use them when I'm making the first change you wanted and to explain to you what information is missing still.
    Note that I have not changed the script yet, as it's best to be done with that in one quick edit. I want to lower the chance of corrupting the map as much as possible. We'll be editing the map without any kind of deprotection.

    //All "ss4" triggers:
    //Player 1:
    function T1E takes nothing returns Boolean
    //↓ (If the above condition is true, execute the action below)
    function T2E takes nothing returns nothing
    //Player 1, different trigger, no condition:
    function NBX takes nothing returns nothing
    //Player 2:
    function WSE takes nothing returns Boolean
    //↓ (If the above condition is true, execute the action below)
    function WTE takes nothing returns nothing
    //Player 2, different trigger, no condition:
    function NBX takes nothing returns nothing
    //All revert triggers: (Finding which one is the right one won't be easy.)
    //Player 1:
    function UXE takes nothing returns Boolean
    function UOE takes nothing returns nothing
    //Player 2:
    function W4E takes nothing returns Boolean
    function W5E takes nothing returns nothing
    //Player 3:
    function VPX takes nothing returns Boolean
    function VQX takes nothing returns nothing
    //Player 4:
    function XEX takes nothing returns Boolean
    function XXX takes nothing returns nothing
    //Player 5:
    function OIX takes nothing returns Boolean
    function OAX takes nothing returns nothing
    //Player 6:
    function RQX takes nothing returns Boolean
    function RSX takes nothing returns nothing
    //Player 7:
    function G4X takes nothing returns Boolean
    function G7X takes nothing returns nothing
    //Player 8:
    function B8X takes nothing returns Boolean
    function B9X takes nothing returns nothing
    //Some more revert triggers for Player 1 and Player 2: (These look universal, this could be it.)
    function ILX takes nothing returns nothing
    function NPX takes nothing returns nothing
    //Replacing your hero with Gogeta (H01D) should be easy enough, as a Gogeta is already created for us:
    set R_V=CreateUnit(p,'H01D',-13874.7,15586.9,270.)
    call SetHeroLevel(R_V,35,false)
    call SetUnitState(R_V,UNIT_STATE_MANA,0)
    call SetUnitColor(R_V,ConvertPlayerColor(5))
    call SelectHeroSkill(R_V,'A00A')
    call IssueImmediateOrder(R_V,"")
    call SelectHeroSkill(R_V,'A00S')//x15
    call IssueImmediateOrder(R_V,"")
    call SelectHeroSkill(R_V,'A00L')//x7
    call IssueImmediateOrder(R_V,"")
    call SelectHeroSkill(R_V,'A01H')
    call IssueImmediateOrder(R_V,"")
    call UnitAddItemToSlotById(R_V,'I002',0)
    //Problem is, the Gogeta unit will probably have much different stats than your Goku and the map has no facility for copying hero stats over so I'd need to write that bit myself.
    //Either way, copying over stats is easily done, like so:
    call ModifyHeroStat(0,X+V,0,GetHeroStr(X3V, false))
    call ModifyHeroStat(1,X+V,0,GetHeroAgi(X3V, false))
    call ModifyHeroStat(2,X+V,0,GetHeroInt(X3V, false))
    //And that should work for str, agi, int. But I'm not sure what you want to do about details like hero level, health, mana, etc, because I've never played Dragon Ball Z. Please let me know how the ss4 transformation should work.
    //Reverting is tricky indeed. But I'll figure something out.
    //Function 1330 by the way is:
    function T2E takes nothing returns nothing
    //in the real script.


  • Inyush34 Says:

    Glad your on board!

    Ok, so that is the main change i wanted, now the second change would be to fix Vegeta, I've been told that Vegeta once he uses Oz (where he turns into a big monkey) not sure if its a command or an abilitiy, but he gains perm stats which is a bug, i think its when he reverts it doesnt remove enough stats from his previous form im not sure but it causes vegeta to be over powered late game. I'll ask the person who told me about it to clarify more if you cannot see it in the triggers. if not then the 3rd change and prob lastly is nothing to do with triggers, its making the game RoC compatible, i dont need the map itself to w3m, i just need things like creeps, some tft model changed for ex King Kai in heavon is a tft model, not sure how you'd go about editing unit data without deprotecting but hell you can change it to w.e you feel fits as long as its RoC, but dont worry about King Kai so much go for stuff that appears more often in the map, like tft creeps oh and i think Andriod 17 is a tft model, i need him any any RoC model just as long as its visual.

    In terms of the other important features that need to be converted like Revive tickets are tft, i just import the model to the protected map using winmpq and it seems to work, same with the tft terrain, i import the terrain using winmpq and it works without deprotecting the map. so other then that, that is it.

    just a quick recap. Firstly the Gogeta ajustment. Secondly, If you can find out what im talking about with vegeta then great, go ahead and fix that, if not i will get more detail on when and how it happens, and thirdly, converting creeps tft creeps to roc. I will try to get a list of creeps that show up the most on the map. with the names of the units

  • Inyush34 Says:

    and 2 other things i forgot, the gogeta thing only do it for player red, since red is goku, and the nickname just put Inyush34


    Fuck, my bad on sending another short message, i don't know if there is an edit button.

    The SS4 transformation, i belief all it does is add stats, to STR, agi, int, and i guess hp and such increases because of that

    and reverting, there should already be a trigger for that in the map, that you can use to work with to revert goku from SS4 gogeta back to regular form since when u use revert it doesnt go down levels example SS4 u type revert u go to SS3 no, it just goes from w.e form ur at lets say its SS4 u type revert u go back to normal form, i belief goku has, kao, ss,ss2,ss3,ss4 and none of them really "change unit" just change stats and some visual effects, and i guess each SS form adds more stats then the previous.

    I will try to play the map today and get the numbers


    Ok i did testing with the SS forms.

    "SS" = x2 stats
    "SS2" = x3 stats
    "SS3" = x3.5 stats
    "SS4" = x4 stats

    Other things that effect stats is attacking enemies, and when you level up. It seems every 2-3 attacks ups your STR, AGI, INT, by 1 or 2, and when you level up by 2-4 stats. But STR, AGI, INT are always the same so they all go equally.

    Ok now we know how it bases its ss stats from and what changes stats, im not sure how you will incorporate the Gogeta change. I am thinking maybe let the trigger run its actions for SS4, but as a last line, replace goku with Gogeta and use same stats as old units stats but the issue with this is will i continue to get more stats by leveling up and attacking enemies, since im sure the stats are being added by the unit being saved in a varible? so to fix that just make sure whatever varible is set to goku, make sure its replaced with gogeta, and then when i use revert subtract x4 stats and replace Gogeta with Goku and again change the vatible back to last replaced unit. Do you know what i mean?

    Edited by 3ICE: Merged quadruple post

  • Daniel "3ICE" Berezvai Says:

    Thank you, that's a very through description. I'll get to work immediately.
    It'll take me the better half of the weekend, so expect delivery by Monday.


  • Inyush34 Says:

    Take your time!

  • Daniel "3ICE" Berezvai Says:


    Since I promised results on Monday, and today is Monday, here is a progress report:
    Progress is being made.

    It is slow going though…

    I've been reading through the JASS code in my free time, identifying and deobfuscating key parts of it.
    You will get a full copy of this deobfuscated script once it's completed. I've included a sample at the end of this email.

    My excuse for the slow progress: I finally got my brother hooked on Path of Exile and we've been playing on Hardcore all weekend. I went two days straight without any sleep.
    My excuse for the future: StarCraft 2 HotS launches tomorrow, March 12. I'm going to the midnight launch event and won't be leaving my computer until I've beat the campaign with all side missions and fully unlocked all upgrade paths. Oh, and I go to university too… (Heading to my next class in 5 minutes in fact.)

    I expect I'll have this commission work done by Thursday this week. Or have another progress update for you at the very least.

    Would you be available to help me test my Vegeta fix in multiplayer? Sometime this week.
    I'm in the GMT+1 timezone. I can host on or on your preferred realm. I have accounts on all 4.

    Also, what should I do with all the cheats in the map? I know how to uninstall cheatpacks and will do it for you at no extra cost if you'd like. (It's a rather easy process of reverting the install steps one by one.)

    I've identified and renamed most of the obfuscated functions and variables. Here is a small example:

      unit X3V_Goku = null //Edited by 3ICE.
      unit Q_SpellTarget = null
      player GE_SpellTargetOwner = null
      trigger FY_RevertTriggerForRed = null
      trigger E4_RevertTrigger = null
      effect RX_LastCreatedEffect3ICE = null
      unit VE_TempUnit3ICE = null
      trigger MW_SpecialEffectsForSs4Transformation3ICE=null
      trigger XPV_SpecialEffectLeakCleanup3ICE=null
    function Debug3ICE takes string s returns nothing
      call DisplayTextToPlayer(GetLocalPlayer(),0,0,"3ICE's debug message: " + s)
    function T1E_ss4_condition_NY takes nothing returns boolean //Edited by 3ICE.
      return(X3V_Goku!=Q_SpellTarget)and(GetHeroLevel(X3V_Goku)>=$96)and(GetUnitTypeId(X3V_Goku)!='H004')and(GetUnitStateSwap(UNIT_STATE_MANA,X3V_Goku)>=100.)and(GetOwningPlayer(X3V_Goku)!=Player($F))and(BE[1]<5.) //Edited by 3ICE.
    function T2E_ss4_action_NY takes nothing returns nothing //Edited by 3ICE.
      call Debug3ICE("Goku default ss4 transformation main thread begin.")
      call TriggerExecute(FY_RevertTriggerForRed)
      call SetPlayerAbilityAvailableBJ(false,'A035',Player(0))
      call AddSpecialEffectTargetUnitBJ("origin",X3V_Goku,"Models\\SSAura.mdx")
      set RX_LastCreatedEffect3ICE=bj_lastCreatedEffect
      call SetUnitVertexColorBJ(X3V_Goku,100.,65.,20.,0)
      call EnableTrigger(JY)
      set AE[1]=4.
      set BE[1]=4.
      call TriggerExecute(BY)
      set VE_TempUnit3ICE=X3V_Goku
      call ConditionalTriggerExecute(MW_SpecialEffectsForSs4Transformation3ICE)
      call Debug3ICE("Goku default ss4 transformation main thread end.")
  • Inyush34 Says:

    Yes, im avaible to assist you in testing it Multiplayer. Im normally free around this time, and any realm, doesn't really matter!

  • Daniel "3ICE" Berezvai Says:


    Awesome. Tomorrow then. Add me: 3ICE.

    Which realm will I find you on?

    I'll send another email tomorrow. If all goes well.
    But I might still be playing HotS then, or more likely sleeping off the all-nighter I'll have pulled.
    In that case we'll postpone to Wednesday.


  • Inyush34 Says:

    I'll be sure to be online around the time i stated in the previous message i sent you that message, I'll be on GoTRUNKS[x] account on US.East. I've already added you. If anything just send me an email if you cannot make it.

  • Daniel "3ICE" Berezvai Says:


    I've been playing and replaying the game for two hours and can't for the life of me reproduce the Vegeta bug. Got a replay I could study?

    I'm online by the way. Hop on if you can.


    I have one more hour before I go to bed. Join us in "clan tew" when you are on.


    I'll wait an additional 30 minutes before heading to bed.


    I'm off to bed. Try again tomorrow.

    p.s.: Changing a unit's model is ridiculously hard if the map is protected. It's still not done… But at least I know how to do it:
    Custom Berserk ability

  • Inyush34 Says:

    I'm so sorry had some issues, to deal with that postponed me getting online, I will positively be online today I will be online as long as I can I'm sure I will catch you online.

    EDIT: I'm going to be online in 20min

  • Daniel "3ICE" Berezvai Says:

    Yup, we are chatting right now :)

  • Inyush34 Says:

    What is going on with the map.

  • Daniel "3ICE" Berezvai Says:

    I ran into a bug. Take a look:
    todo modelswap map

  • Inyush34 Says:

    Im guessing the bug is the form doesn't stay permanent is weird i tried looking online found this
    but not sure if its relevant.

  • Daniel "3ICE" Berezvai Says:

    Thanks, that was a pretty obvious mistake I made. From your link, the
    first reply solved it.


    All right, I am basically done.

    We'll test once you come online.

    Try to think of ways we can possibly break the transformation. I'll do the same.


    todo pic

    Three problems:
    Metamorphosis hides an icon on the ability bar.
    The text+progress bar of Metamorphosis hides hero level and xp. (The text itself can be edited to anything you'd like but it can't be hidden.)
    We are breaking DBZ canon with this. Gogeta is originally a fuse of Goku + Vegeta. My modelswap basically just removed the Vegeta requirement from the equation, which makes this ability incredibly OP. Visually only, of course. Stats are still balanced.

  • Inyush34 Says:

    That is fine since Vegita is always disabled on the bots i play on because of the OP bug he has, in terms of the "Metamorphosis" text just change it to Goku (SS4) or whatever. Also could you remove the unit tint it adds in SS4 im sure its triggered, just simply remove the lines that change his color only for SS4. Also what do you mean it hides an ability.

  • Daniel "3ICE" Berezvai Says:


    Commission work completed.
    Attached is the final result.

    Import the two war3map.* files into a fresh, still protected dbz map.
    Do not protect afterward.

    Daniel "3ICE" Berezvai



    As requested:

    todo map final

  • 3ICE Says:

    The above email conversation was published with permission from both parties.

  • wp7 Says:

    Any attachments at all about an article are available.

  • Daniel "3ICE" Berezvai Says:

    Not sure what you mean.

  • Dennis1337 Says:

    where can i download

  • Daniel "3ICE" Berezvai Says:


  • ehsan Says:

    hi mr 3ice i wan't edit map dota with hex editor can you tell me what is hex number of gold?
    when i change it other peple must download again? or not?

  • Daniel "3ICE" Berezvai Says:

    Doesn't work like that. Payment first.

    Yes, they'd have to download the map again.

  • Anonymous Says:

    I have a question about the MPQ header corruption.
    I have edited the line after MPQ, and it seems to work as WinMPQ can no longer open the map, however when I try to play it with warcraft 3, it says it cannot find the file on my computer. I'm just wondering if I'm doing it wrong or if I have to host the map with a bot in order to play it…

  • Daniel "3ICE" Berezvai Says:

    I fear you did it wrong indeed.
    What you just achieved, is total corruption. It's like protection via deleting the file. Not actually useful.
    MPQ editors cannot open it anymore, but neither can the game.

  • wilbert Says:

    I tried your WC3Map optimizer, however, when i click at the 'Step 4' which is opening the patch file, I was not put to the next step(Step5). I don't know where is the problem. I wanted to play warcraft, but my map is too big. Please help. Thank you

  • Daniel "3ICE" Berezvai Says:

    It's not mine. (Vexorian made it. I am 3ICE.)

    Can you post a link to a screenshot? (Preferably through the image hosting service.)

  • wilbert Says:

    Hi 3ice, the 'save optimized as…' button is dull, i cannot save the patch-opt. how to do it? please help . thanks

    here is the screenshot

    Edited by 3ICE: Merged doublepost (Comments were 6 minutes apart.)

  • Daniel "3ICE" Berezvai Says:

    Thanks for the screenshot, it was very helpful in finding your issue:

    The problem is, you opened an entire folder, not a map. You never clicked the Open button, or never selected a map to open. You chose an entire folder.

    Opened map batch:
    C:\Program Files\Warcraft III\Maps\Scenario\

    You used the [Open Map Batch] button, so naturally you would have to use the corresponding [Mass optimize Batch...] button to save them.
    But don't use the batch feature if you are only protecting one map!

    Use the [Open] and [Save Optimized As...] button pair instead, it makes more sense that way.

    Edited by 3ICE:
    On a side note, I see you have some applications that I would consider bad software in a heartbeat. I'll list two examples below.

    OpenFreely warning: (Takes over parts of your computer, won't let you uninstall without causing collateral damage.)
    Internet Download Manager: That shit costs 30 dollars! (Shareware) While using free, open source tools to do the job. That is theft, and also breaks most open source tools' copyright rules. (You are allowed to use, but you may not resell or make profit from open source tools.)

  • Mazzell Says:

    I heard you would de-protect maps for some money. While I dislike maps being un-protected I have a request myself. This is for the map called Founders of the North. The map has stopped being worked on for about a year now. And the mapmaker is no longer reachable for contact. Thus I would like you to un-protect it. If possible with Working triggers and all, the full package lets say.

  • Daniel "3ICE" Berezvai Says:


    I have successfully deprotected Founders of the North 1.24 and I am ready to send you the files.
    Please send payment to or use this donation link:

    Amount can be whatever you feel is fair.

    Triggers are in text form as usual. Obfuscated too. They will run perfectly fine as is, but modifying them will be a pain. Adding brand new triggers is considerably easier. Basic JASS knowledge required: How trigger creation works, declaring functions, adding events and actions to triggers.

    Screenshots proving deprotection:–interface.png–imports.png–terrain.jpg–start.jpg–units.png–abilities.png–items.png


  • Mazzell Says:

    Thanks I will transfer €10 later today. I believe you already have my E-mail for when it arrives?

    Kind regards,


  • Daniel "3ICE" Berezvai Says:

    Yes, I already wrote the email and saved it as a draft.

    Edit: Sent.–email.png

  • Kristian Says:

    Hey 3ice,

    Dont know if you're still active, but i would like to send you some money to deprotect my map. let me know how i can reach you.

  • Daniel "3ICE" Berezvai Says:


    I received both your emails. Attached is the preliminary deprotect:

    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\(listfile)
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Arabian Marauder.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Arc.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\arrowquiver3noteamcolor.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Textures\Arthas.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BanditChampion.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BanditChampion_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BeamMissile.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlackSteelChainMail.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlackSteelChainMail_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlingBlade.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlingBlade.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BlueWave.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtons\BTN_CW_Galen_Trollbane.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BTNBloodelf_Hero_SwordChampion.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BTNHalduronBrightwing.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\BTNRagnarFlamebeard.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\crown.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Galen_Trollbane.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Sir_Valiant.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Valiant.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Valiant_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\CW_Valiant_Sword.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\DarkElfAura.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\DarkElfAura.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtonsDisabled\DISBTN_CW_Galen_Trollbane.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtonsDisabled\DISBTNBloodelf_Hero_SwordChampion.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtonsDisabled\DISBTNHalduronBrightwing.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ReplaceableTextures\CommandButtonsDisabled\DISBTNRagnarFlamebeard.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Elrond.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ElvenBow.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\ElvenRangerBow.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\EvilKing.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\FootArcher.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Gondolian_Roof.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Gondolian_Tower2.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Gondolian_Wall.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Gondolin_Tower.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Textures\HalduronBrightwing.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HalduronBrightwing.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HalduronBrightwing_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Helmet1.02.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HeroArchMageOnFoot.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HeroArchMageOnFoot_Portrait.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Textures\heromountainking.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\HighElf.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Human Archer_squished.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\UI\Feedback\HPBarConsole\human-healthbar-fill.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Lantern.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\MercenaryArmor_v2.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\MinasHouse01.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\MinasWall2.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Monk.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarArcher.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarElf.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarSpearman.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarSwordsman.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SindarWeapons.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Sipahi.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\StoneBridge.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\SunchipsArmor.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Tower2.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.doo
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.imp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.j
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.mmp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.Shd
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3a
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3b
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3d
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3e
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3h
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3i
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.w3q
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.w3t
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.w3u
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.wct
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.wpm
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3map.wtg
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3map.wts
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3mapExtra.txt
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3mapmap.blp
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3mapMisc.txt
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\War3mappreview.tga
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3mapSkin.txt
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\war3mapUnits.doo
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Warfang.mdx
    C:\Warcraft III\!\NazgulRealms10C - Deprotected by 3ICE.w3x\Woodbow.mdx

    Missing files: File00000030.blp, File00000039.mdx, File00000043.mdx, File00000057.mdx, File00000061.blp,, File00000066.mdx, File00000067.mdx, and File00000074.blp

    Daniel "3ICE" Berezvai

  • Vir. Sch. Says:

    Good piece - I loved the analysis . Does anyone know if I could possibly access a sample NY UD-11 copy to edit ?

    Edited by 3ICE: Spam neutralized and spammer neutered.

  • Alex Says:

    HI ,

    How much will you charge for a map to be deprotected ? I gave up … tried in different and different ways … can't do it… The map is protected with Vexorian!Let me know .. thanks!

    Edited by 3ICE: Removing URL. (was: "http://notrequired") Feel free to just leave the URL field blank in the future :)

  • Daniel "3ICE" Berezvai Says:


    Just 5$ for a basic deprotection. You can send it by clicking here:

    Big or complicated projects run higher. Record amount is 40€ for now.


  • Alex Says:

    Send me your e-mail address so we can discuss better!

    Edited by 3ICE: Removing URL. (was: "http://notrequired")

  • Daniel "3ICE" Berezvai Says:


    p.s.: Feel free to just leave the URL field blank in the future :)

  • Alex Says:

    check your e-mail!

    Edited by 3ICE: Removing URL. (was: "http://notrequired")

  • Daniel "3ICE" Berezvai Says:

    Checked. Replied.

  • Alex Says:

    check your e-mail dude!

    Edited by 3ICE: Removing URL again. (was: "http://notrequired")

  • Daniel "3ICE" Berezvai Says:

    I actually check my email before these blog comments, dude. No need to remind me here :)
    All comments generate an email notification. That is how I am informed about new comments 99% of the time. The only comments I ignore for a long time are spam. (No notification for that, I look through what's in the spam bucket maybe once a month.)

  • lhp Says:

    Do you charge if you give me a personal tutorial in layman term?? MY map have even more details than dota, so can you teach me to make the map to be as difficult to deprotect like dota?

    Edited by 3ICE: Discussion continued in email. Putting it here as it develops:

    Subject: Re: Advanced protection personal tutorial enquiry | Hi, Yes, I have done this in the past. Most of the material is already written in fact, and it’s ready to be personalized. Tell me about your budget, map name and its file size, website of the map or even just a download link. What are the major libraries used, approximate script length (of the generated war3map.j or the handwritten source code), favorite editing tools, and let me know your technical competencies. By that last one I mean: Do you know python, for example? I will tailor my private tutorial just for you after we agree on a price. Sincerely, Daniel ”3ICE” Berezvai Sent from my Windows 10 phone

    l hp Thu, Jan 12, 2017, 10:44 AM to me

    Thank you for speedy reply

    I don't know any programming language, if not I wont be asking you to provide layman tutorial. Actually I haven't release yet the map to the public because it is still in testing phase and so probably will take another few months.
    I only use the traditional world editor with GUI triggers. Those codes work for me and simple, so far no problem in gameplay. The original map size around 9mb I estimate.
    I know experts can open maps, I dont mind the map being opened to view and take the imported stuffs. I just want the map to be near imposible, or better impossible, to save & update.

    3ice Thu, Jan 12, 2017, 11:01 AM to l

    Hi, Okay, we'll focus on that. Make the editor crash when people attempt to save ;) Also some automatic tools that prevent the use of more advanced Mpq editors. Daniel

    From: l hp Sent: 2017. január 12., csütörtök 11:44 To: 3ice
    l hp Fri, Jan 13, 2017, 11:09 AM to me

    Can you quote the price?

  • Asqwerdian Says:

    Do you have any experience with restoring maps that were broken after the 1.24 bnet patch? Would love to discuss a transaction or two if so.

  • Daniel "3ICE" Berezvai Says:


    Yes I do. Please give me until Monday to finish a previous project, then I’ll dedicate my full attention to your map. You can already send me the link (or attach the raw map if the public version is protected), and send the money (any amount) to if you want. Any donation link on my site, will work for this purpose.

    Include all pieces of information that you think might help me fix the map as well, in your next email. Or reply by leaving more comments on my blog, as I get emails like the one below automatically, and it’ll make my job easier when I go to publish our conversation once it’s concluded. Thank you.


    P.s. Yes, I will post this conversation as comments on my blog as well, but email first. I am approving your comment in a few hours, and then any more comments you leave will appear automatically.

    Sent from my Windows 10 phone (…yeah, I'll be back at my PC soon though.)

  • Asqwerdian Says:

    The map's protected, I sent you a link via email, along with a small donation. I don't need any of the code or anything, just want to be able to play it again for the current 1.28 Bnet patch. I tried some methods from though I'm no good at JASS. is another snippet I thought might be useful. Anyways, let me know how it goes. Appreciate it.

  • Daniel "3ICE" Berezvai Says:

    Note to self:

    ToDo: Publish the above referenced email exchange between Asqwerdian and me.

    ToDo: Publish some of the 300+ emails Murradin and I exchanged recently, regarding Vamp Zero (new project).

    Also ToDo: Double check I asked for their permission to publish. Not sure about the second email thread.

  • jkjks33 Says:

    hi ,
    when i open map in ladiks mpq editor and ladiks mpq extract all file , when i open file with Notepad ,in notepad there is a unknown font file , and i cant change anything
    Help me
    is this problem for my font ?

  • Daniel "3ICE" Berezvai Says:

    Unfortunately that's not enough information for me to be able to troubleshoot your issue. More details please. For example: Name of the file, some screenshots of the process, etc. Thank you.

    Also I'm two weeks late in replying so you probably already solved it or moved on. I'm sorry! (Somehow I didn't get an email notification about this comment…)

  • krajacz Says:

    Hi! Are you familiar with latest protection methods and can you deprotect map for me? Regards

    Edited by 3ICE: rm website, was "war3player"

  • Daniel "3ICE" Berezvai Says:

    Yes, I am. My tool set was last updated in March of 2018.

    Edited by 3ICE: And yes, I can deprotect maps. Send payment and the map to my PayPal address (find it above, in older comments).

  • Daniel "3ICE" Berezvai Says:

    Version 1.29/1.30 of Warcraft 3 broke script optimization in Vexorian's Map Optimizer. Because there is no more war3patch.mpq file.

    It still works as long as you uncheck these two options:
    Map Optimizer VXJWTSOPT - optimize script or compress names with the latest WC3 patch is not advisable.png
    Map Optimizer VXJWTSOPT - optimize script or compress names with the latest WC3 patch is not advisable.png

    I'll create an mpq file (tiny war3patch.mpq) with the required common.j & Blizzard.j files inside, to make the Optimizer work with scripts again.

    Edit: Promised here as well:

Leave a Comment

Please note: If you post more than 5 URLs, then automated moderation will delay your comment for investigation. There is no need to resubmit the comment as it will be approved if found to be appropriate.