MapleStory NXPatcher – Create your own pre-patcher

Written by Fiel in the C/C++ programming languages. So what is NXPatcher? It’s a program I developed in early June 2009. At the time I was extremely frustrated with Nexon’s patching system, so I decided to write my own Maplestory pre-patcher and made it open source and free to redistribute. NXPatcher does more than just create pre-patchers, it can also read patch files directly, determine the version of maplestory you’re using, split apart pre-patchers, and a lot more! I’ve spent more than 10 months writing this product and have examined every line of code. If you want a fast way to make Maplestory pre-patchers or if you’re looking for freedom from the dreaded Nexon pre-patchers, you’ve come to the right place! Since I wrote this program I have not used a Nexon Pre-patcher once, patched hundreds of times, and saved myself countless headaches. This is the program I trust and use for all of my patching needs.

Which version to choose? Lite or Advanced?

NXPatcher Lite Version

If you consider yourself not very computer savvy or just want to make pre-patchers in a very simple way, I recommend that you pick NXPatcher Lite. The Lite version only creates Nexon pre-patchers and does not contain any other features. Choosing NXPatcher Lite is also a good idea if you’re interested in making pre-patchers for others. Please view the “Lite – Create Your Own Pre-patcher” spoiler below.

NXPatcher Advanced Version

If you are more technical minded, want fine-grained control over the patching process, or want to get away from Nexon pre-patchers, I recommend you pick NXPatcher Advanced. All of the documentation needed to run the Advanced version can be found in the spoilers marked “Advanced” below. Please view the “Advanced – Patch it yourself” spoiler below

Licensing:

Credit to “Fiel” for the source code isn’t required, but appreciated. You may use the source code and any binaries in this topic for any use that you require. You may also redistribute this code and all binaries.

Disclaimer

This program is not affiliated with or endorsed by the Nexon Corporation or any of its subsidiaries in any way.
This program comes as is and with all faults. I, Fiel, disclaim any warranty of merchantability or fitness for a particular purpose. Use this program at your own risk.

Lite – Create your own Pre-patcher

Tutorial: How to make a Maplestory pre-patcher.
Time to completion: 2-3 minutes
Required files: NXPatcher.exe

PLEASE NOTE!: NXPatcherLite has recently updated to version 2.1. This version behaves differently from other versions.

How to do it:
1. Place NXPatcher.exe in your Maplestory directory.
2. Download the patch file from Nexon’s FTP:

Here’s what the patch file URL is for 0.72:
http://download2.nexon.net/Game/MapleStory/patch/patchdir/00072/00071to00072.patch

for 0.73:
http://download2.nexon.net/Game/MapleStory/patch/patchdir/00073/00072to00073.patch

Just look at the links to figure out how to get your patch files. It’s really hard to describe, but very easy to comprehend.

When you download the patch file, download it to your maplestory directory.

3. After the patch file is fully downloaded, simply drag & drop the file onto NXPatcher.exe. The program creates the pre-patcher for you.
4. After the prepatcher is created, NXPatcher will ask you if you want to run the prepatcher.

Alternate Method 1:
3. After downloading the patch file, simply double click on NXPatcher.exe to run it.
4. A dialog window appears asking you to select the patch file. Select the patch file.
5. NXPatcher will create the patcher then ask you if you want to run it.

Alternate Method 2:
3. After the patch file is fully downloaded, right click on it, click on "Open With", then click on "Choose Default Program".
4. In the window that appears, select "Browse", and search for NXPatcher.exe. Once you’ve found NXPatcher.exe, double click on it.
5. Click on "OK" to make NXPatcher.exe the default program for patch files.
6. Now every time you want to create a pre-patcher, simply double-click on the patch file and NXPatcher will create a pre-patcher for you.

Enjoy!

Lite – Troubleshooting

Q: I created a pre-patcher with NXPatcher Lite, but it’s stuck on Base.wz.
A: I did not write Nexon’s horrible pre-patcher, only my own NXPatcher. I can’t help you with this problem as I did not write their code.

Q: I created a pre-patcher with NXPatcher Lite, but it’s stuck on "Checking the Files".
A: This likely means that your patch file that you downloaded from Nexon is corrupt. Redownload the file. Please consider trying a download manager.

Q: The program won’t work and I can’t find a solution in this troubleshooting section.
A: Post your problem in this thread. I’m around most days.

Lite – Errors

ERROR 1001 – BAD FILE NAME

  • Error: This error is thrown if the patch file you selected does not exactly conform to the following naming scheme: \d\d\d\d\dto\d\d\d\d\d.patch (where "\d" means any number 0-9).
  • Solution: Please make sure that you are selecting the correct patch file. If you are sure of it, please rename the file to conform to the above naming scheme.

ERROR 1002 – BAD FILE NAME

  • Error: This error is thrown if the patch file you selected does not exactly conform to the following naming scheme: \d\d\d\d\dto\d\d\d\d\d.patch (where "\d" means any number 0-9).
  • Solution: Please make sure that you are selecting the correct patch file. If you are sure of it, please rename the file to conform to the above naming scheme.

ERROR 1003 – BAD CRC

  • Error: This error occurs because the patch file you provided has an incorrect CRC (Cyclic Redundancy Check). An incorrect CRC means that your patch file, even if created, will not run properly with the Nexon patcher. Because of this, NXPatcher will refuse to make the patch file.
  • Solution: Try downloading the patch file again at a later time and hopefully Nexon will have resolved the bad CRC.

ERROR 1004 – BAD HEADER

  • Error: This error occurs because the file you provided to NXPatcher does not contain the correct file header. Because of this, NXPatcher cannot process the file to create a new prepatcher for you.
  • Solution: Please select a different file to use with NXPatcher.

Advanced – Patch it yourself

Tutorial: How to patch your game.
Time to completion: 5-10 minutes.
Required files: Windows 32-bit pre-compiled – NXPatcher.zip

If you’re looking to compile NXPatcher yourself, you can download the source here. Note that the source code will only compile under a Windows environment. The source code is written in C, so you will need a C or C++ compiler. The only <windows.h> dependencies are creating directories, moving files, and showing error messages. I don’t see any reason why it would not run under WINE, but I have not tested it myself.

How to do it:
1. Unpack the zip file to your Maplestory directory.
2. Download the desired patch file to your Maplestory directory.
Here’s what the patch file URL is for 0.72:

http://download2.nexon.net/Game/MapleStory/patch/patchdir/00072/00071to00072.patch

for 0.73:

http://download2.nexon.net/Game/MapleStory/patch/patchdir/00073/00072to00073.patch

Just look at the links to figure out how to get your patch files. It’s really hard to describe, but very easy to comprehend.

When you download the patch file, download it to your maplestory directory.

3. Edit the batch file so the third argument has the same name as the patch file you downloaded. Make sure the second argument is "read"
4. Run the batch file. All of the new files created by NXPatcher will be placed in the "Patcher" directory.
5. Copy the files from your "Patcher" directory to your Maplestory directory. You are now fully patched.

Advanced – Features & Documentation

Introduction:
There are five commands that NXPatcher accepts – read, write, hijack, version, and split. By using these five commands you can have full power over how you patch your Maplestory game.

Read:
The read command allows you to apply a patch file to your current directory. Use the following command:

NXPatcher read [Name of patch file]
ex. NXPatcher read 00075to00079.patch

NXPatcher will then create a directory called "Patcher" and place all of the newly updated files in that directory. Once NXPatcher is done reading the files, simply copy all of the new files from the Patcher directory to your maplestory directory. Your game is now fully patched and ready to go when the Nexon servers come back up. Just run Maplestory from the website, as you always would, to start the game again.

Write:
The write command allows you to create pre-patchers – possibly to use yourself or to share with your friends. Use the following command:

NXPatcher write [Name of patch file]
ex. NXPatcher write 00080to00085.patch

For example, if we were executing the example command above, NXPatcher will create a new file – 00080to00085.exe – which is the pre-patcher. Simply share that file with your friends.

WZ File Version Checking:
If you try to apply a patch file and it freezes on Base.wz (or if you use the "Patch it yourself" method above and it tells you that a checksum is bad), maybe you should try checking which version of wz file you’re using as you may have downloaded the wrong patch file by mistake. Simply use this command:

NXPatcher.exe version Base.wz

And it will tell you what version of WZ file it is. The output looks something like this:

WZ File version is 79

This will work with any WZ file, so the following examples will work too:

NXPatcher.exe version Character.wz
NXPatcher.exe version Mob.wz

If you get the following error: "Version could not be determined", it’s likely that your wz file is corrupt and you should reinstall the game from scratch.

If you get the error, "This is not a properly formatted WZ file", please make sure that you gave the name of a true WZ file (List.wz is not a true wz file in the strictest sense).

Splitting Patch EXE files:
If you have a pre-patcher EXE file, with NXPatcher you can break down the pre-patcher into its three parts: the base file, the patch file, and the notice file. Simply use the following command:

NXPatcher.exe split MyPrePatcher.exe

Pre-patcher EXE hijacking
Let’s say you have a pre-patcher from Nexon. You don’t want to use their pre-patcher, but you’d rather use the algorithms already in place with this NXPatcher. This is now easily possible. Simply use the following command:

NXPatcher.exe hijack MyPrePatcher.exe

The following will happen:
1. NXPatcher rips the patch file from the pre-patcher
2. NXPatcher then executes the patch file for itself

Menu:
Of course, you don’t have to remember everything above to use NXPatcher correctly. Just type "NXPatcher.exe" to see a listing of everything this program can do for you.

Also, just as a reminder, NXPatcher never, ever removes any of your files! If your computer has to suddenly restart for anything or should there be an error with the patching program, none of your data is at risk.

Advanced – INI File Documentation

The INI file is split up into six different sections – one section for each of the five commands and a file associations section. There are a few basic guidelines that the NXPatcher INI file follows:

1. All variables which begin with the word if (ifbackupdir, ifusefastpatch, ifoutputbase) are boolean variables – the value of it must be 0 or 1, 0 for off and 1 for on.
2. All other variables are strings.


[fileassociations]

Want quick and easy notification of just patches & updates? Follow PatchWatcher on twitter, or visit http://www.PatchWatcher.net/ and monitor just the patches you’re interested in.

Leave a Reply

Your email address will not be published. Required fields are marked *