Skip to content

Instantly share code, notes, and snippets.

@Daribon
Last active July 16, 2021 17:58
Show Gist options
  • Save Daribon/d59bd99f79c1d0f622ad20d2a315c572 to your computer and use it in GitHub Desktop.
Save Daribon/d59bd99f79c1d0f622ad20d2a315c572 to your computer and use it in GitHub Desktop.
How to downgrade vanilla client

Table of contents

Required software:

 

How to downgrade client

1. Get the installer .exe for the major patch you want to downgrade to

2. Open the .exe up in your hex editor

3. Ctrl + f MPQ till you reach MPQ with tons of zeroes above it.

4. Select everything above MPQ and delete it, everything above MPQ is the .exe header.

5. Save as .mpq instead of .exe

6. Open the MPQ up in MPQEditor

7. Extract patch.cmd

8. Open patch.cmd

9. Change FileVersionLessThan to FileVersionEqualTo

10. Change FileVersionEqualTo to the patch you wanna downgrade from.

11. Save patch.cmd

12. Import it to your MPQ file.

13. Rename the MPQ file to the patch you wanna downgrade from.

It should be named build number + locale. If you want to downgrade a 1.12.1 build 5875 with the locale enUS, you should name it 5875enUS.mpq

14. Create a folder in your server directory called patches.

VMaNGOS/
└── patches/

15. Put your .mpq in the patches directory.

VMaNGOS/
└── patches/5875enUS.mpq

16. Do the Realmlist.cpp edit.

17. Start realmd.exe

18. Connect with the client you want to downgrade.

 

How to upgrade client

1. Get the patch you want to upgrade your client to.

2. Follow step 2 to step 5.

3. Rename the MPQ file to the patch you wanna upgrade from.

It should be named build number + locale. If you want to upgrade a 1.6.0 build 4500 with the locale enUS, you should name it 4500enUS.mpq

4. Put your .mpq in the patches directory.

5. Start realmd.exe

6. Connect with the client you want to upgrade.

 

How to create a PTR client

This will create a seperate client on a different version, within the client folder of the client you want to downgrade. You can for example have a small 1.6.1 client running in your 1.12.1 client folder. The seperate client will be installed in a folder named WoWTest.

1.12.1/
└── WoWTest/

1. Repeat everything until step 8 in the previous guide.

2. add WoWTest to the second last line of patch.cmd

3. Save patch.cmd

4. Get yourself BNUpdate.exe from a PTR client

If you don't have one you can download one here: download

5. Import the PTR BNUpdate.exe and patch.cmd into your mpq file.

6. Continue following step 13

 

Realmlist.cpp edit

You can't send patches to client from any supported vmangos patch (1.6.1-1.12.1) without editing realmlist.cpp

1. Go into \src\realmd\RealmList.cpp

2. Remove whatever patch you plan on downgrading from.

For example if I want to downgrade all 1.12.1 clients that connect, I should remove 1.12.1 from realmlist.cpp

3. Save realmlist.cpp

4. Recompile.

5. Continue from step 17.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment