PvPGN的Versioncheck文件设置指南及新版本/未知版本versioncheck获得方法
作者: Corbie 日期: 2007-04-04 11:42
PvPGN的Versioncheck文件设置指南
versioncheck是许多个如下格式的相同模块组成的,每个模块对应相应的游戏及版本号,每两个模块之间空一行,以#开头的行表示注释,不被看作versioncheck的内容。
格式:
#模块开始
equation #方程式,可能是用来进行加密和解密的东西,每个游戏的各个版本都相同
mpqfile #匹配版本用的mpq文件,PvPGN都使用IX86ver1.mpq
archtag #操作系统,IX86表示i386平台(Windows),XMAC表示MAC平台(苹果机)
clienttag #游戏描述,4个字母,已知的描述: WAR3魔兽3 DRTL暗黑1 D2DV暗黑2 D2XP暗黑2资料片 SEXP星际资料片 STAR原版星际及资料片中的原版星际
exeinfo #客户端exe启动文件信息,格式: "XXXXX.XXX MM/DD/YY hh:mm:ss ZZZZZZ" XXXXX.XXX文件名 MM月 DD日 YY年 hh小时 mm分钟 ss秒 ZZZZZZ文件大小,匹配的时候视bnetd.conf中version_exeinfo_match而定,如果version_exeinfo_match为exact,则客户端文件名必须相同,文件的时间必须相同才能登录;如果为exectcase,则文件名的大小写也必须相同;如果为wildcard,则允许在本行使用?通配符,?字符表示这一位是任何字母数字都匹配,如"war3.exe ??/??/?? ??:??:?? ??????"匹配任何时间任何大小的war3.exe;如果version_exeinfo_match为parse,则文件名必须相同,则客户端的时间允许与这里相差bnetd.conf中version_exeinfo_maxdiff所指定的秒数。(注,这里的时间是指格林威治时间,不是本地时间)写NULL表示匹配所有文件
versionid #版本id,以0x开头的16进制数,对应相应版本的游戏,写0x0表示匹配所有版本id
gameversion #游戏版本,格式如: 1.0.0.0,表示对应的游戏版本,写0.0.0.0表示匹配所有版本
checksum #checksum,每个版本不同的一个值,用来跳过一个官方验证,格式同versionid,写0x0表示匹配所有checksum
versiontag #游戏说明标志,可以自定,通常用来区分不同的游戏和版本,如魔3 1.01可以写WAR3_101,1.02写WAR3_102
#模块结束
示例1:
#支持所有魔兽3的versioncheck模块(将bnetd.conf中version_exeinfo_match设为wildcard):
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B"
IX86ver1.mpq
IX86
WAR3
"war3.exe ??/??/?? ??:??:?? ??????"
0x0
0.0.0.0
0x0
WAR3_ALL
示例2:
#支持所有魔兽3 1.02正式光盘版和正版免CD的versioncheck模块:
# Warcraft III Retail v1.02
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B"
IX86ver1.mpq
IX86
WAR3
"war3.exe 08/12/02 18:21:15 713495"
0x00000002
1.0.1.0
0x03d8be54
WAR3_102
新出版本versioncheck的获得方法:
1)在confnetd.conf中设置loglevel=fatal,info
2)然后启动服务器,用新版本或未知版本的游戏登录,会提示版本错误无法进入战网,这里假设我用1.02a的魔3登录失败
3)退出游戏,在varnetd.log中找到如下类似的行:
Oct 15 14:47:53 handle_bnet_packet: [240] CLIENT_AUTHREQ_109 ticks=0x00d705b7, verstr=1.0.1.0 exeinfo="war3.exe 09/05/02 20:41:02 713495" versionid=0x00000002 gameversion=0x01000100 checksum=0xa67d9a0e
那么1.02a的versioncheck就是:
# Warcraft III Retail v1.02a(这一行是注释,可自写或不写)
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" (此行不要改变)
IX86ver1.mpq (此行不要改变)
IX86 (此行不要改变)
WAR3 (此行魔3是WAR3,星际是STAR,血巢是SEXP,暗黑2是D2DV,暗黑2资料片是D2XP,魔兽2是WAR2,暗黑1是DRTL)
"war3.exe 09/05/02 20:41:02 713495" (此行就是上面蓝色字体的部分)
0x00000002 (此行就是上面红色字体的部分)
1.0.1.0 (此行就是上面黄色字体的部分)
0x03d8be54 (此行就是上面绿色字体的部分)
WAR3_102 (此行是用于返回匹配log的标志,可自写)
注意: 该示例versioncheck不包含括号及括号中的字
versioncheck是许多个如下格式的相同模块组成的,每个模块对应相应的游戏及版本号,每两个模块之间空一行,以#开头的行表示注释,不被看作versioncheck的内容。
格式:
#模块开始
equation #方程式,可能是用来进行加密和解密的东西,每个游戏的各个版本都相同
mpqfile #匹配版本用的mpq文件,PvPGN都使用IX86ver1.mpq
archtag #操作系统,IX86表示i386平台(Windows),XMAC表示MAC平台(苹果机)
clienttag #游戏描述,4个字母,已知的描述: WAR3魔兽3 DRTL暗黑1 D2DV暗黑2 D2XP暗黑2资料片 SEXP星际资料片 STAR原版星际及资料片中的原版星际
exeinfo #客户端exe启动文件信息,格式: "XXXXX.XXX MM/DD/YY hh:mm:ss ZZZZZZ" XXXXX.XXX文件名 MM月 DD日 YY年 hh小时 mm分钟 ss秒 ZZZZZZ文件大小,匹配的时候视bnetd.conf中version_exeinfo_match而定,如果version_exeinfo_match为exact,则客户端文件名必须相同,文件的时间必须相同才能登录;如果为exectcase,则文件名的大小写也必须相同;如果为wildcard,则允许在本行使用?通配符,?字符表示这一位是任何字母数字都匹配,如"war3.exe ??/??/?? ??:??:?? ??????"匹配任何时间任何大小的war3.exe;如果version_exeinfo_match为parse,则文件名必须相同,则客户端的时间允许与这里相差bnetd.conf中version_exeinfo_maxdiff所指定的秒数。(注,这里的时间是指格林威治时间,不是本地时间)写NULL表示匹配所有文件
versionid #版本id,以0x开头的16进制数,对应相应版本的游戏,写0x0表示匹配所有版本id
gameversion #游戏版本,格式如: 1.0.0.0,表示对应的游戏版本,写0.0.0.0表示匹配所有版本
checksum #checksum,每个版本不同的一个值,用来跳过一个官方验证,格式同versionid,写0x0表示匹配所有checksum
versiontag #游戏说明标志,可以自定,通常用来区分不同的游戏和版本,如魔3 1.01可以写WAR3_101,1.02写WAR3_102
#模块结束
示例1:
#支持所有魔兽3的versioncheck模块(将bnetd.conf中version_exeinfo_match设为wildcard):
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B"
IX86ver1.mpq
IX86
WAR3
"war3.exe ??/??/?? ??:??:?? ??????"
0x0
0.0.0.0
0x0
WAR3_ALL
示例2:
#支持所有魔兽3 1.02正式光盘版和正版免CD的versioncheck模块:
# Warcraft III Retail v1.02
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B"
IX86ver1.mpq
IX86
WAR3
"war3.exe 08/12/02 18:21:15 713495"
0x00000002
1.0.1.0
0x03d8be54
WAR3_102
新出版本versioncheck的获得方法:
1)在confnetd.conf中设置loglevel=fatal,info
2)然后启动服务器,用新版本或未知版本的游戏登录,会提示版本错误无法进入战网,这里假设我用1.02a的魔3登录失败
3)退出游戏,在varnetd.log中找到如下类似的行:
Oct 15 14:47:53 handle_bnet_packet: [240] CLIENT_AUTHREQ_109 ticks=0x00d705b7, verstr=1.0.1.0 exeinfo="war3.exe 09/05/02 20:41:02 713495" versionid=0x00000002 gameversion=0x01000100 checksum=0xa67d9a0e
那么1.02a的versioncheck就是:
# Warcraft III Retail v1.02a(这一行是注释,可自写或不写)
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" (此行不要改变)
IX86ver1.mpq (此行不要改变)
IX86 (此行不要改变)
WAR3 (此行魔3是WAR3,星际是STAR,血巢是SEXP,暗黑2是D2DV,暗黑2资料片是D2XP,魔兽2是WAR2,暗黑1是DRTL)
"war3.exe 09/05/02 20:41:02 713495" (此行就是上面蓝色字体的部分)
0x00000002 (此行就是上面红色字体的部分)
1.0.1.0 (此行就是上面黄色字体的部分)
0x03d8be54 (此行就是上面绿色字体的部分)
WAR3_102 (此行是用于返回匹配log的标志,可自写)
注意: 该示例versioncheck不包含括号及括号中的字
加入网摘
订阅
上一篇
返回
下一篇
标签:
