Sending Patches To The Client Through The WoW Application menu

Shout-Out

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 21
  1. #1
    stoneharry's Avatar Moderator Harry

    Authenticator enabled
    Reputation
    1613
    Join Date
    Sep 2007
    Posts
    4,555
    Thanks G/R
    151/146
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    Sending Patches To The Client Through The WoW Application



    With Schlumpf's guidance I was able to successfully implement a way to send custom patches to the client through WoW rather than a custom launcher.

    The implications for this are quite clear. It allows one to:

    • Require the latest patch to login.
    • Send incremental patches.
    • Send any data.

    I wrote up a guide to do this which Schlumpf has heavily edited to create a, hopefully, useful publication.

    The link to this can be found here: PDF Link
    ~Harry & Schlumpf

    Edit: 21/06/2014:

    You will have to edit the binary to allow unsigned patches: [TOOL] Replace binary patterns in files with given data

    This is my code changes for a more recent TrinityCore version in order to get patching to work: Dropbox - 404

    You can send a Blizzard Installer or a Blizzard Downloader that downloads a Blizzard Installer to install your custom patch data. See:

    https://github.com/stoneharry/Blizzard-Updater
    https://github.com/stoneharry/Blizzard-Downloader
    Last edited by stoneharry; 02-25-2019 at 01:10 PM.

    Sending Patches To The Client Through The WoW Application
  2. Thanks Krack3n (1 members gave Thanks to stoneharry for this useful post)
  3. #2
    Blackplayer27's Avatar Active Member
    Reputation
    32
    Join Date
    Sep 2010
    Posts
    27
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This is a very nice script, but can you update this script for the new Trinitycore Version

  4. #3
    Xel's Avatar ★ Elder ★
    Authenticator enabled
    Reputation
    1179
    Join Date
    Jul 2008
    Posts
    2,906
    Thanks G/R
    94/51
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    As I've probably told Harry, this is pretty much as revolutionary as a release can get towards the co-operation of emulation and model editing. (Badly formatted sentence, forgive me).
    I will now go and +rep you both, amazing work.

  5. #4
    sevi's Avatar Private
    Reputation
    1
    Join Date
    May 2012
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nice, perfekt works.

    but i have a question. So i will testing this, also have i the code rewriten in a new trinity core repo. I deletet the old functions and writen the new.
    Than, i finish and will compile. here is me notice, that in the diff script little functions missing. or i'm stupid and found his not?
    okey, look at the funktion gethash, here access to the member first and second. so i looked at the typedef struct Patch_info. Here is no first, no second.
    i hope your can help me

    and sorry for my bad english^^

  6. #5
    Valmere's Avatar Contributor
    Reputation
    166
    Join Date
    Apr 2007
    Posts
    362
    Thanks G/R
    16/31
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Xel View Post
    As I've probably told Harry, this is pretty much as revolutionary as a release can get towards the co-operation of emulation and model editing. (Badly formatted sentence, forgive me).
    I will now go and +rep you both, amazing work.
    Agreed. This thread needs way more lovin
    wat

  7. #6
    stoneharry's Avatar Moderator Harry

    Authenticator enabled
    Reputation
    1613
    Join Date
    Sep 2007
    Posts
    4,555
    Thanks G/R
    151/146
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by sevi View Post
    Nice, perfekt works.

    but i have a question. So i will testing this, also have i the code rewriten in a new trinity core repo. I deletet the old functions and writen the new.
    Than, i finish and will compile. here is me notice, that in the diff script little functions missing. or i'm stupid and found his not?
    okey, look at the funktion gethash, here access to the member first and second. so i looked at the typedef struct Patch_info. Here is no first, no second.
    i hope your can help me

    and sorry for my bad english^^
    The TrinityCore patch provided was for a older version of WoW (3.0.3 I believe - quite a while ago). However, nothing much has really changed between then and now regarding the handling of patches, so it should be a simple matter of implementing the same concept if you have some C++ knowledge (or any real programming knowledge since it's just reorganising code).

  8. #7
    sevi's Avatar Private
    Reputation
    1
    Join Date
    May 2012
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Jea. The TC patch works now.
    What i now have, the patcher load the mpq patches, be he sends this not.
    i rename the mpq so, version-locale.mqp(example, 12340-deDE.mpq) so. this load the patcher, i will loggin and they doesn't send.
    i will try this, with a wow version 3.3.5a and 2.4.3.
    or must the mpq any specific files or other have?

  9. #8
    stoneharry's Avatar Moderator Harry

    Authenticator enabled
    Reputation
    1613
    Join Date
    Sep 2007
    Posts
    4,555
    Thanks G/R
    151/146
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by sevi View Post
    Jea. The TC patch works now.
    What i now have, the patcher load the mpq patches, be he sends this not.
    i rename the mpq so, version-locale.mqp(example, 12340-deDE.mpq) so. this load the patcher, i will loggin and they doesn't send.
    i will try this, with a wow version 3.3.5a and 2.4.3.
    or must the mpq any specific files or other have?
    If you get no error message and log straight in -> you server version matches your client version, so the server lets them in and does not check for patches to send to update the client to the right build. You need to change the servers minimum allowed build.

    AuthCodes.h

    Code:
    #define POST_BC_ACCEPTED_CLIENT_BUILD            {12340, 11723, 11403, 11159, 10571, 10505, 10146, 9947, 8606, 0}
    #define PRE_BC_ACCEPTED_CLIENT_BUILD             {5875, 6005, 0}
    12340 = 3.3.5a

    If you get an error message but no patch sends -> You did not implement it correctly.
    Last edited by stoneharry; 05-27-2012 at 02:08 PM.

  10. #9
    sevi's Avatar Private
    Reputation
    1
    Join Date
    May 2012
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Okey. i change the server version :
    Code:
    #define POST_BC_ACCEPTED_CLIENT_BUILD            {12345, 12340, 11723, 11403, 11159, 10571, 10505, 10146, 9947, 8606, 0}
    when i loggin with a 3.3.5a wow, his doesn't send a patch. or understand i here what wrong?
    the mpq in the patch folder i give this name: 12345-deDE.MPQ and a mpq: 12340-base.MPQ
    i think, this is the right name? when i start the authserver, he add the two mpqs.

    when i understand your right, when the authserver not send the patch, ich have the patch(for authserver) not correctly implement?

  11. #10
    stoneharry's Avatar Moderator Harry

    Authenticator enabled
    Reputation
    1613
    Join Date
    Sep 2007
    Posts
    4,555
    Thanks G/R
    151/146
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by sevi View Post
    Okey. i change the server version :
    Code:
    #define POST_BC_ACCEPTED_CLIENT_BUILD            {12345, 12340, 11723, 11403, 11159, 10571, 10505, 10146, 9947, 8606, 0}
    when i loggin with a 3.3.5a wow, his doesn't send a patch. or understand i here what wrong?
    the mpq in the patch folder i give this name: 12345-deDE.MPQ and a mpq: 12340-base.MPQ
    i think, this is the right name? when i start the authserver, he add the two mpqs.

    when i understand your right, when the authserver not send the patch, ich have the patch(for authserver) not correctly implement?
    D: Why you no understand this.

    At the moment your code will accept client version 12340. This is patch 3.3.5a. So it won't even begin to look for patches to send to the client.

    Furthermore the patches should be in your patch folder and named versionlogcallity.mpq, e.g:

    12340enGB.mpq to send that patch to a 3.3.5a enGB client.

  12. #11
    sevi's Avatar Private
    Reputation
    1
    Join Date
    May 2012
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ahh okey. with my changes, the code will accept client with a version 12345.

    mhm really with out a - between version and localization? because, the mpq has this name: 12340enGB.mpq, the authserver addet the patch not. 12340-enGB.mqp however. the mpq are in a patches folder.

    The MPQ have this name: 12340-enGB/deDE.mqp (for different client localization), authserver started and add the two patches.
    i start wow, and beginn with the loggin and noting happens. i can loggin with out sending the new patches.
    when the mpq names: 12345-enGB.mqp, i think, the authserver will send this patch, as this a newer version is than my wow version.
    or i added any logs messages, so look what every his doing D:

  13. #12
    MadameGrip's Avatar Contributor

    Reputation
    151
    Join Date
    Aug 2010
    Posts
    528
    Thanks G/R
    0/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    /happyface this makes it so much easier to be a developer!

  14. #13
    stoneharry's Avatar Moderator Harry

    Authenticator enabled
    Reputation
    1613
    Join Date
    Sep 2007
    Posts
    4,555
    Thanks G/R
    151/146
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Code:
    #define POST_BC_ACCEPTED_CLIENT_BUILD            {12345, 12340, 11723, 11403, 11159, 10571, 10505, 10146, 9947, 8606, 0}
    You are allowed patch 12340 so it doesn't even look for new patches when that client build connects. You need to remove this.

  15. #14
    Appled's Avatar Contributor
    Reputation
    105
    Join Date
    Apr 2007
    Posts
    568
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    How come I don't get this.
    Nevertheless, great guide and this simplifies developers life.
    +Rep to both of you :]

  16. #15
    sevi's Avatar Private
    Reputation
    1
    Join Date
    May 2012
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, now its working. When i will loggin, the client will download the patch.

Page 1 of 2 12 LastLast

Similar Threads

  1. [Hack] Help to patch the WOW client of 4.1.0, Thank you!
    By lnlhg in forum WoW Memory Editing
    Replies: 9
    Last Post: 07-09-2011, 04:06 AM
  2. Replies: 0
    Last Post: 02-28-2011, 12:58 PM
  3. [How-To] How to Find Nice Item Sets through the WoW Model Viewer
    By MaCAppLeBiTeMe in forum WoW EMU Guides & Tutorials
    Replies: 2
    Last Post: 07-25-2010, 04:12 PM
  4. Can You Make The Wow Download A Patch If You Hosted It?
    By Watercycle in forum WoW EMU Questions & Requests
    Replies: 1
    Last Post: 03-09-2009, 05:25 PM
  5. Summary of the WoW patch
    By Forever in forum Articles and Interviews
    Replies: 7
    Last Post: 10-05-2008, 11:06 AM
All times are GMT -5. The time now is 04:47 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search