当前位置 : 主页>技术研究>魔兽技术>

【原创】魔兽争霸服务器架设全攻略---战网+Ladder排行版

来源: 作者: 点击:
【原创】魔兽争霸服务器架设全攻略---战网+Ladder排行版
需要用到的软件:
1. WAMP5 v1.7.exe (这个是为排行榜提供数据库服务,为Mysql数据库)

下载地址:



2.PvPGN-1.8.2-0-Win32-MySQL-5.0.45-BIN.zip

PvPGN-1.8.2-0-Win32-SQLite-3.5.1-BIN.zip (这三个是战网主文件)

pvpgn-support-1.1.zip

下载地址:



3. BNetEditor.exe(方便修改和添加BN服务器)




4. w3l.exe



(魔兽3的引导程序,需启动此程序进入魔兽争霸,不能直接启动魔兽争霸的主程序,否则无法进入战网)



5. pvpgnstats2.44CN(vsLan fixed).zip (实现排行榜主文件)

下载地址:



以上软件均可下载,2008年-6月-1日亲试。如果无法下载或网速不佳,请联系我QQ:407960134或者邮箱: ,我给发过去。



安装过程:



PvPGN-1.8.0rc2-1-Win32的安装



1.下载官方的PvPGN-1.8.2-0-Win32-MySQL-5.0.45-BIN.zip

PvPGN-1.8.2-0-Win32-SQLite-3.5.1-BIN.zip

pvpgn-support-1.1.zip

解压到任意盘符(建议解压缩到到D:\)。

先解压PvPGN-1.8.2-0-Win32-MySQL-5.0.45-BIN.zip到文件夹pvpgn内,

再解压PvPGN-1.8.2-0-Win32-SQLite-3.5.1-BIN.zip,并覆盖到刚才的pvpgn文件夹,再解压pvpgn-support-1.1.zip,将解压出来的文件复制到D:\pvpgn\files下,如图所示。





2.到D:\pvpgn\conf下,打开文件bnetd.conf,找到



storage_path=file:mode=plain;dir=var\users;clan=var\clans;team=var\teams;default=conf\bnetd_default_user.plain 这一行,



在前面添加#符号注释掉,然后在下面添加



storage_path=sql:mode=mysql;host=127.0.0.1;name=pvpgn;user=ouc;pass=oucwar3;default=0

上面的name为我们刚才建立的数据库的名字,这里为pvpgn,user和pass分别为刚才添加的用户名及其密码。

再找到w3routeaddr = "0.0.0.0:6200"

将其改为w3routeaddr = "192.168.1.10:6200" ,这里的192.168.1.10是我的IP地址,你需要将它该为你自己的IP。保存退出!

好了,到这里就设置完毕。第一次运行PGPGN.exe的时候,程序会自动在pvpgn这个库里建立需要的数据表的,我们就不用管了。



安装pvpgnstats2.44CN(vsLan fixed).zip



解压缩pvpgnstats2.44CN(vsLan fixed).zip到D:\ pvpgnstats2.44CN目录下



数据库的安装



1. 下载并安装WAMP5 v1.7.exe,在安装过程中会提示你选择www目录,如图所示,选择我们解压的D:\ pvpgnstats2.44CN目录,如下图,点击确定即可。






2. 在wamp任务栏图标上右击,如图,选择语言为中文。






3. 在wamp任务栏图标上左击,选择“切换到在线状态(z)”.




4.在phpMyAdmin的主页面建一个pvpgn的库----------“创建一个新的数据库”在它下面输入新的数据库的名字(这里为pvpgn),点击下面的“创建”即可。完成后(会进入表创建页面,不去管他,点击网页左上的小房子图标即“主目录”回到phpMyAdmin的主页面),这时,可以看到新创建的pvpgn数据库已经在左边出现了












5.给PGPGN创建一个自己的用户--------点击“权限”---〉“添加新用户”,进入新用户设置页面,用户名,我这里取ouc。“主机”如果你的pvpgn和MYSQL在同一台主机,那就选“本地”,否则就选“任意主机”吧,如果你的PGPGN是固定IP的,也可以选择“使用文本域”,然后在后面的框里输入IP地址,密码,你自己设一个吧,我设为oucwar3。下面的“全局权限”里什么权限都不用给,点击最下面的执行,用户就添加完毕了。

6.给新添加的用户操作数据库的权利---------回到用户设置页面,用户设置页面的中部有一个“按数据库指定权限”,在下面的“在下列数据库添加权限:”下拉,选择刚才建的那个pvpgn的库,然后页面会自动跳到pvpgn的库的授权页面(注意看清楚了,页面的最上面的提示信息现在是“用户 '*****'@'localhost' - 数据库 pvpgn ”,表明是在对pvpgn这个库授权),这里就可以给它全部权限了(全部打钩),下面的表可以不用指定的。



下面我们启动pvpgn.exe,即可开始运行平台啦。


实现Ladder战网排行榜

如果要实现Ladder,就必须要有pvpgn-stats。最新版本为2.45英文版,我们这里使用的版本是pvpgnstats2.44汉化版。(感谢zion的汉化,雷巫的修正)

一、PVPGN服务器架设好以后,我们在pvpgn数据库中建立pvpgnstats的表文件:
在解压出来的pvpgnstats\SQL Files\zion文件夹下有2个sql文件,看pvpgn的表头类型,使用相应的sql文件。这里使用bnet,打开复制里面的内容,然后在在phpMyAdmin页面的pvpgn数据库下面选中sql查询,粘贴进去,执行即可创建两个新的表条目。如下图所示:
1.默认应该是没有表头的,对应使用的sql文件为:bnet.sql,这里就是bnet.sql

2.对于PVPGN 1.80以后的版本,可能带有表头 pvpgn_ (可以在PVPGN的配置文件中查看,也可以在PVPGN数据库看到该表头)
如果有,则这里也要做相应的修改$db_prefix = "pvpgn_";
对应使用的sql文件为:pvpgn_bnet.sql





二、修改pvpgnstats下的config.inc.php文件
$site_name = " PvPGN server ";
$db_type = "mysql"; //数据库类型
$db_host = "127.0.0.1"; //数据库IP地址,一般设置本地。
$db_port = 3306; /* 3306 is the most common MySQL port */默认端口
$db_database = "pvpgn"; //显示排行数据库名
$db_user = "ouc"; //pvpgn数据库用户名,我们前面设置的为ouc
$db_pass = "oucwar3"; //pvpgn数据库名对应密码,我们前面设置的为oucwar3
$homepage = "; //首页
$ladderroot = “ ”; //pvpgnstats路径,这里改在ladders目录下,注意这里必须为网络路径,因为前面安装wamp的时候,我们选择www目录为D:\pvpgnstats2.44CN,并且把排行榜文件pvpgnstats2.44CN放在D:\pvpgnstats2.44CN\ladders目录中。所以写为上述形式。

$pvpgn_dir = "d:/pvpgn"; //pvpgn的路径
$d2ladder_file = "d:/pvpgn/var/ladders/ladder.D2DV"; //ladder.d2dv目录


从战网里面进入排行榜:D:\pvpgn\conf\anongame_infos.conf文件,将里面的网址改为你的排行榜地址,这里替换为(注意替换的时候选对编码格式,不然PVPGN服务器程序会出错!推荐用或者做修改,会提示你选择正确编码的。)





修改PVPGN里面的conf信息,修改新闻,频道以及其他一些需要中文的地方

新闻 改news.txt
每日消息 改 bnmotd.txt

要使用中文必须这样:
用UltraEdit-32打开上述文件输入中文,然后选择utra edit32 的【文件】->【转换】->【unicode/ascii/utf-8转utf-8(ASCII编制)】然后保存就可以了。

如果以后要编辑这个文件,则必须先选择utra edit32 的【文件】->【转换】->【UTF-8转unicode(I)】 这样看起来是乱码的东西才会变成中文,修改后 按前面的方法保存就可以了。


bnetd.conf文件的修改和优化:

注意:在bnetd.conf文件设置中,有3项必须修改:

################################################
# Tracking server info #
#----------------------------------------------------------------------------#
# Set track=0 to disable tracking. Any other number will set number
# of seconds between sending tracking packets. This is OFF by default.
#track = 0
track = 60
# 10 minutes
注意,令track = 0,否则有严重的track问题.


################################################
# war3 ladder textual output #
#-----------------------------------------------------------------------------#
# this is for all the guys, that want Warcraft 3 ladder, but don't want their
# server to run with MySQL support.
# For each ladder (solo, team, ffa, at) a corresponing file is created,
# so it's easy to build your ladder pages with them
# the following value determines, at which rate, these files are created
# set to 0 if you don't want or need these files

war3_ladder_update_secs = 300

# jfro's latest ladder is based on XML... so we can switch to XML output of ladder
# on demand
XML_output_ladder = false

ladder排行榜的刷新时间,默认5分钟(300秒),如果你想快速更新可以适当改小一点。据说开启会严重影响性能,如果你不需要这个文件,可以设置=0


####################################################
# server status textual output #
#-----------------------------------------------------------------------------#
# This is for writing status of the server in an attempt to see number of user
# on line actually, and games/chans.
# This is store in file var\status\warcraft3.dat as a *.ini format.
# Shouldn't be so hard in php to create dynamic website using this content.
# the following value determines, at which rate, these files are created
# set to 0 if you don't want or need these files

war3_output_update_secs = 60

# jfro's latest ladder is based on XML... so we can switch to XML output of ladder
# on demand. Maybe we should set update interval bigger cause XML output version
# is much more verbose than the standard output
XML_status_output_ladder = false

注意,令output_update_secs = 0,否则严重影响性能.



如何进入架设好的封闭式BN战网:

1.下载解压BNetEditor.zip和w3l.rar到魔兽安装目录下并覆盖,启动BNetEditor.exe,添加服务器名****(随便输入,便于记忆和标记,如OUC),服务器地址****(这里添加192.168.1.10)。可以进行一下测试,看是否正常。如下图:





2.运行W3L.exe进入游戏,选择BN.net,然后选择刚才创建的OUC,再点击OK,恭喜你~~~~(不过记住:自己建的BN,自己是不能做主机的,要别的游戏玩家建立游戏你进才行。)



最后,推荐一个建立服务器的好网站