Skip to forum content

You are not logged in. Please login or register.


forums.pvpgn.pro → [EN] Diablo → [Solved] How auto update works? D2GS and PvPGN

Pages 1

You must login or register to post a reply

RSS topic feed

Posts: 6

1 (edited by b1n 27.07.2016 11:47)

Topic: [Solved] How auto update works? D2GS and PvPGN

Hello, I want to enable auto update the client on connecting to my server
How it works?
I'm changing this on bnetd.conf:

allowed_clients = d2xp
skip_versioncheck = false
allow_bad_version = false
allow_unknown_version = false
version_exeinfo_match = none
version_exeinfo_maxdiff = 0

Then I saw a autoupdateurl on d2gs reg file, for what is this for?

What I need is to check if the client has 1.13c installed, if not, update it and check Patch_D2.mpq to our version (we modified some things), if isn't the same Patch_d2.mpq update it too

I'm seeing at autoupdate.conf

#IX86    D2XP    D2XP_107        D2XP_IX86_1xx_112A.mpq
#IX86    D2XP    D2XP_108        D2XP_IX86_1xx_112A.mpq
#IX86    D2XP    D2XP_109        D2XP_IX86_1xx_112A.mpq
#IX86    D2XP    D2XP_109B       D2XP_IX86_1xx_112A.mpq
#IX86    D2XP    D2XP_109C       D2XP_IX86_1xx_112A.mpq
#IX86    D2XP    D2XP_109D       D2XP_IX86_1xx_112A.mpq
#IX86    D2XP    D2XP_110        D2XP_IX86_1xx_112A.mpq
#IX86    D2XP    D2XP_111        D2XP_IX86_1xx_112A.mpq

This file: D2XP_IX86_1xx_112A.mpq will be downloaded? And how it works? This will be the Patch_D2.mpq?

And in versioncheck I'm leaving just what I want to connect. D2xp 1.13c (no patch_d2.mpq check here?)

Edit: Got the mpq from pvpgn.harpywar.com/mpq/ and Added all the files that I've changed in Patch_D2.mpq..
But.. if I update the features on that MPQ again, how it will verify?

Added: 27.07.2016 05:47

Made some tests, no success.

bnetd (trying to force an error with the exe verification exact)

allowed_clients = d2xp
skip_versioncheck = false
allow_bad_version = false
allow_unknown_version = false
version_exeinfo_match = exact
version_exeinfo_maxdiff = 0

autoupdate

IX86    D2XP    D2XP_107        D2XP_IX86_1xx_113C.mpq
IX86    D2XP    D2XP_108        D2XP_IX86_1xx_113C.mpq
IX86    D2XP    D2XP_109        D2XP_IX86_1xx_113C.mpq
IX86    D2XP    D2XP_109B       D2XP_IX86_1xx_113C.mpq
IX86    D2XP    D2XP_109C       D2XP_IX86_1xx_113C.mpq
IX86    D2XP    D2XP_109D       D2XP_IX86_1xx_113C.mpq
IX86    D2XP    D2XP_110        D2XP_IX86_1xx_113C.mpq
IX86    D2XP    D2XP_111        D2XP_IX86_1xx_113C.mpq
IX86    D2XP    D2XP_113C        D2XP_IX86_1xx_113C.mpq (again trying to get any error)

versioncheck

# Diablo II - LoD (Expansion) 1.13c
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \
 IX86ver1.mpq \
 IX86 \
 D2XP \
 "Game.exe 03/09/10 04:10:51 51440" \ (again trying the error, the correct here is 61440)
 0x0000000d \
 1.0.13.0 \
 0x7686beca \
 D2XP_113C

And nothing happens, I can connect normaly:

Jul 27 05:41:44 [info ] sd_accept: [404] accepted connection from 187.107.191.83:63748 on 0.0.0.0:6112
Jul 27 05:41:44 [info ] conn_create: [404][388] sessionkey=0x57989316 sessionnum=0x00000001
Jul 27 05:41:44 [info ] handle_init_packet: [404] client initiated bnet connection
Jul 27 05:41:44 [info ] conn_set_archtag: [404] setting client arch to "IX86"
Jul 27 05:41:44 [info ] conn_set_clienttag: [404] setting client type to "D2XP"
Jul 27 05:41:44 [info ] conn_set_gamelang: [404] setting client gamelang to "enUS"
Jul 27 05:41:44 [info ] _client_authreq109: [404] CLIENT_AUTHREQ_109 ticks=0x1af61c20, verstr=1.0.13.0 exeinfo="Game.exe 03/09/10 04:10:51 61440" versionid=0x0000000d gameversion=0x01000d00 checksum=0x7686beca
Jul 27 05:41:44 [info ] versioncheck_validate: got a matching entry: D2XP_113C
Jul 27 05:41:44 [info ] _client_authreq109: [404] client matches versiontag "D2XP_113C"
Jul 27 05:41:44 [info ] _client_authreq109: [404] no upgrade for D2XP_113C is available
Jul 27 05:41:44 [info ] _client_fileinforeq: [404] TOS requested: "bnserver-D2DV.ini" - type = 0x80000004
Diablo II Evolution
The first with a truly connected auction house

2

Re: [Solved] How auto update works? D2GS and PvPGN

Client send version of exe file when connecting to a server (Game.exe for Diablo 2, StarCraft.exe for Starcraft, War3.exe for Warcraft 3).
These versions are checked by the server in versioncheck.conf, which versiontag are corresponding to autoupdate.conf.

For example:

versioncheck.conf wrote:

# Diablo II - LoD (Expansion) 1.13c
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \
IX86ver1.mpq \
IX86 \
D2XP \
"Game.exe 03/09/10 04:10:51 61440" \
0x0000000d \
1.0.13.0 \
0x7686beca \
D2XP_113C

autoupdate.conf wrote:

IX86    D2XP    D2XP_113C        D2XP_IX86_1xx_113C.mpq

Your versioncheck entry with 51440 is incorrect (I think you made these changes for testing).
May be checking is implemented only by checksum in PvPGN, and as you can see from the logs, checksum of your Game.exe is correct (0x7686beca), so server decide that you already have version 1.13c and skip autoupdate.

Also I'm not sure that you can modify content of update mpq files, cause mpq may be signed by Blizzard. But I might be wrong and you can try it.


1xx means full patch that can be applied to any game version. This is done to save bandwidth.
If you have not intermediate version patches you should disable(comment) them in autoupdate.conf, and full mpq patch will be used.


These mpq can be downloaded from the official Battle.net using bnftp.exe utility. For example:

bnftp --file=D2XP_IX86_1xx_114d.mpq uswest.battle.net

But the problem is Blizzard removed most of the old update files and there are only the latest versions (you can't download D2XP_IX86_1xx_113c.mpq from there anymore).
Files in pvpgn.harpywar.com/mpq/ are all that I've found in the internet or download from Battle.net.
Let me know if you found missing files anywhere.


***

What about autoupdateurl in d2gs.reg - I don't know this purpose. I also saw it before but didn't test it. I could not find any documentation about this feature.
May be this is a way to autoupdate Patch_D2.mpq. And it would be great if you could explore it from all sides to try make it working.

Do not ask for support in PM.

3

Re: [Solved] How auto update works? D2GS and PvPGN

Hmm, my thoughts was that versionchek get the info then "set" the name D2XP_113C and then it passes through autoupdate and there if exists that name in the third column would upload it, but doesn't seem to work in this way.

Interesting that Game.exe verification, yes I've changed to 51440 to see the error (or see the autoupdate working), but I've successfully connected to the server with the game.exe with size 61440.. and then some time after this a friend tried and boom, failed:

Jul 27 09:48:53 [info ] sd_accept: [452] accepted connection from 187.78.98.247:58095 on 0.0.0.0:6112
Jul 27 09:48:53 [info ] conn_create: [452][388] sessionkey=0x5798f5cb sessionnum=0x00000009
Jul 27 09:48:53 [info ] handle_init_packet: [452] client initiated bnet connection
Jul 27 09:48:53 [info ] conn_set_archtag: [452] setting client arch to "IX86"
Jul 27 09:48:53 [info ] conn_set_clienttag: [452] setting client type to "D2XP"
Jul 27 09:48:53 [info ] conn_set_gamelang: [452] setting client gamelang to "enUS"
Jul 27 09:48:54 [info ] _client_authreq109: [452] CLIENT_AUTHREQ_109 ticks=0x9c1a82ed, verstr=1.0.13.0 exeinfo="Game.exe 07/26/16 00:53:09 61440" versionid=0x0000000d gameversion=0x01000d00 checksum=0x7686beca
Jul 27 09:48:54 [info ] versioncheck_validate: bad exeinfo, closest match is: D2XP_113C
Jul 27 09:48:54 [info ] _client_authreq109: [452] client failed test (closing connection)

It closed the connection, so when the autoupdate works?

Just to test out, I've added all the files that I modifiend inside that D2XP_IX86_1xx_113c.mpq (and inside it really has the same files, I had to overwrite then), maybe makes some sense.
And then I would change "game.exe" for "patch_d2.mpq" size verification, to every changes I do after it detects and auto update hehe

Added: 28.07.2016 00:43

Got some errors:

Jul 27 14:15:18 [info ] sd_accept: [404] accepted connection from 181.169.38.141:51323 on 0.0.0.0:6112
Jul 27 14:15:18 [info ] conn_create: [404][388] sessionkey=0x579945bd sessionnum=0x00000006
Jul 27 14:15:18 [info ] handle_init_packet: [404] client initiated bnet connection
Jul 27 14:15:18 [info ] conn_set_archtag: [404] setting client arch to "IX86"
Jul 27 14:15:18 [info ] conn_set_clienttag: [404] setting client type to "D2XP"
Jul 27 14:15:18 [info ] conn_set_gamelang: [404] setting client gamelang to "esES"
Jul 27 14:15:18 [info ] _client_authreq109: [404] CLIENT_AUTHREQ_109 ticks=0x5b305109, verstr=1.0.13.0 exeinfo="Game.exe 10/18/11 20:48:14 65536" versionid=0x0000000d gameversion=0x01000d00 checksum=0x635b0558
Jul 27 14:15:19 [info ] versioncheck_validate: bad checksum, closest match is: D2XP_113C
Jul 27 14:15:19 [info ] _client_authreq109: [404] client failed test (closing connection)
Jul 27 14:15:19 [info ] _client_authreq109: [404] client matches versiontag "D2XP_113C"
Jul 27 14:15:19 [info ] conn_destroy: [404] closed bnet connection

Game.exe wrong, ok, want to run autoupdate here too.

Jul 27 19:31:39 [info ] sd_accept: [408] accepted connection from 181.1.129.108:50458 on 0.0.0.0:6112
Jul 27 19:31:40 [info ] conn_create: [408][388] sessionkey=0x579974b5 sessionnum=0x00000024
Jul 27 19:31:40 [info ] handle_init_packet: [408] client initiated bnet connection
Jul 27 19:31:40 [info ] conn_set_archtag: [408] setting client arch to "IX86"
Jul 27 19:31:40 [info ] conn_set_clienttag: [408] setting client type to "D2XP"
Jul 27 19:31:40 [info ] conn_set_gamelang: [408] setting client gamelang to "enUS"
Jul 27 19:31:41 [info ] _client_authreq109: [408] CLIENT_AUTHREQ_109 ticks=0x585ce8c9, verstr=1.0.12.0 exeinfo="Game.exe 05/28/08 01:44:02 61440" versionid=0x0000000c gameversion=0x01000c00 checksum=0x3d421510
Jul 27 19:31:41 [info ] versioncheck_validate: got a matching entry: D2XP_112A
Jul 27 19:31:41 [info ] _client_authreq109: [408] client matches versiontag "D2XP_112A"
Jul 27 19:31:41 [info ] _client_authreq109: [408] no upgrade for D2XP_112A is available
Jul 27 19:31:41 [info ] _client_fileinforeq: [408] TOS requested: "bnserver-D2DV.ini" - type = 0x80000004
Jul 27 19:31:45 [info ] _client_loginreq2: [408] "NosoyPepa" logged in (correct password)

I don't know if this one could create game, but it shouldn't have closed? I don't want this version on my servers, I need to completely remove this entries from versioncheck?

Diablo II Evolution
The first with a truly connected auction house

4

Re: [Solved] How auto update works? D2GS and PvPGN

b1n wrote:

I don't know if this one could create game, but it shouldn't have closed? I don't want this version on my servers, I need to completely remove this entries from versioncheck?

You have to add an entry for D2XP_112A in autoupdate.conf:

IX86    D2XP    D2XP_107        D2XP_IX86_1xx_113C.mpq 
IX86    D2XP    D2XP_108        D2XP_IX86_1xx_113C.mpq 
IX86    D2XP    D2XP_109        D2XP_IX86_1xx_113C.mpq 
IX86    D2XP    D2XP_109B       D2XP_IX86_1xx_113C.mpq 
IX86    D2XP    D2XP_109C       D2XP_IX86_1xx_113C.mpq 
IX86    D2XP    D2XP_109D       D2XP_IX86_1xx_113C.mpq 
IX86    D2XP    D2XP_110        D2XP_IX86_1xx_113C.mpq 
IX86    D2XP    D2XP_111        D2XP_IX86_1xx_113C.mpq 
IX86    D2XP    D2XP_111B       D2XP_IX86_1xx_113C.mpq 
IX86    D2XP    D2XP_112A       D2XP_IX86_1xx_113C.mpq 

In the example clients will request update for all defined versions (but not D2XP_113C because it's not set in autoupdate.conf).

Do not ask for support in PM.

5

Re: [Solved] How auto update works? D2GS and PvPGN

But it is set.. that quote on my topic was old
I've patched my game back to 1.12a, and logged on the server normaly hmm
Don't know how to make this autoupdate works..

I've tried to remove all other versions from versioncheck too, but it still validating wrong versions..

Diablo II Evolution
The first with a truly connected auction house

6 (edited by b1n 26.08.2016 21:53)

Re: [Solved] How auto update works? D2GS and PvPGN

Got close..
And yeah, maybe you are right, I've tried with my modified mpq and said it's corrupted.
Tried with the original mpq of your mirror, and after the update complete download it disconnect and dont update

First the error with my mpq, second error with original mpq

http://forums.harpywar.com/extensions/hcs_image_uploader/uploads/0/7500/7580/thumb/p1aooqaht11g7s5i31rhdu3k1p2u1.jpg http://forums.harpywar.com/extensions/hcs_image_uploader/uploads/0/7500/7580/thumb/p1aooqaht21pfiu5m1mj1quv17302.jpg

my logs:

Diablo II Evolution
The first with a truly connected auction house

Posts: 6

Pages 1

You must login or register to post a reply

Who now at forum

Currently view post: 1 guest, 0 registered users

forums.pvpgn.pro → [EN] Diablo → [Solved] How auto update works? D2GS and PvPGN