写了第一篇配置指南以后,不少人向我咨询有关战网搭建的问题。因而以为颇有必要把若干常见的问题,和经常使用的进阶配置汇总一下,以方便更多人。php
1.游戏版本和PVPGN与D2GS版本的问题。html
PVPGN建议选择1.8.2及以上的版本,最新的标准版为1.8.5能够在http://pvpgn.berlios.de/index.php?page=files查找下载,若是玩的人较多,建议使用MySql版,小范围测试和体验的,任意版本均可以。游戏版本和D2GS的版本是对应的,也就是说若是你要搭建1.10版的暗黑的战网,那么你就要用1.10的D2GS,1.10版本的D2GS请到http://d2dev.dlg.cn/查找下载。支持1.11b游戏版本的,由Marsgod大人继onlyer以后经过反汇编的形式改进,最新版本build(43)能够在http://www.pvpgn.pl/d2gs/查找下载,1.12a的用户较少,这里就略过不提。mysql
错误的PVPGN版本与D2GS版本的搭配,会形成PVPGN启动失败,以及诸多的游戏问题;错误游戏版本可能会形成PVPGN、D2CS或者D2DBS启动失败,也可能形成进入游戏后登陆战网,没法建立人物,或者建立了人物没法进入游戏等问题。 这里要提醒你们注意的是:你的服务器端,尤为是D2GS,必需放在一个可用的暗黑2游戏文件夹当中。若是你的暗黑2无法玩单机的话,那么建立战网后,必然致使排队1的问题,也就是D2GS.EXE没法正常启动。ios
2.配置文件的相关问题。程序员
简单的可用配置,须要修改如下文件:d2gs.reg(应该位于游戏目录下d2gs.reg修改完成后须要双击添加进注册表)、d2cs.conf、d2dbs.conf、realm.conf(应该位于pvpgn/conf目录下),这三个文件每次修改后都须要从新启动服务端才能够生效。sql
客户端能够登陆战网,能够注册新帐号并登陆,可是提示无国度,或没法法链接国度服务器的及相似问题,多数是由配置文件修改不彻底,配置错误引发的;还有多是由于IP地址的错误引发的。数据库
内网搭建服务器,而且要求内网和外网均可以访问的,须要修改address_translation.conf文件(位于pvpgn/conf目录下),找到全部相似于#192.168.1.100:4000 internetip:4000 192.168.1.0/24 ANY的行,去掉行首的#号,192.168.1.100改为服务器的内网IP,internetip改为外网IP,192.168.1.0/24这里是重点,若是你的内网只有192.168.1.x这个网段,这里就应该是192.168.1.0/24,若是是192.168.0.x这个网段,就应该改为192.168.0.0/24,若是有多个网段,经过路由互联的,网段之间要用小写逗号隔开。如192.168.0.0/24, 192.168.1.0/24。另外要注意的就是,服务器端用到的端口,请先在路由器或者防火墙中映射好,4000、6112~6114……。服务器
建立游戏老是排队1,或者只能建立1个游戏,再建立就排队;这可能是由于d2gs.reg修改不当形成的,记事本打开d2gs.reg,找到"MaxGames"=dword:00000001,修改成"MaxGames"=dword:00000064(这里是16进制,64=100),记得修改完成后双击注册,并重启服务端。框架
其它缘由引用攻略中的一段文字jsp
游戏排第一位的问题 这是个最让人头痛的问题,但大部分仍是能解决的!出现排位1的问题要从如下几个方面入手
1;没有gs或者gs没有启动
2;gs配置不对,修改注册表文件d2gs.ren中的ip为你的d2cs的ip地址
3;d2dbs.conf和d2cs.conf中没有添加gameservlist
4;gs版本和d2cs不配套
5;gs console中设定的maxuser和maxgame有误
6;使用了安装版的暗黑游戏(包括正版),我遇到过这样的问题。
7;导入的GS端的注册表文件{d2gs.reg}中 "D2CSSecrect"="NENU" 这个选项非空或者和国度名不符
8;在Win64位操做系统中搭建服务器后出现排队1问题的,请访问此连接:Win64位操做系统没法运行暗黑2战网D2GS的解决办法
找不到国度,大多数是d2cs或d2dbs服务的故障,而可能致使故障的缘由有不少种,这就须要检查d2cs.log、d2dbs.log文件(位于pvpgn/conf/var目录下),打开日志文件,重点查找“erro”、“fail”字眼的行,大体分析出出错的缘由。其它PVPGN相关的服务也常常须要用到日志文件排错,能够先删除现有的日志文件,而后重历错误,再检查新的日志文件。
另外,下载的D2GS压缩包中,一般都带一个“暗黑服务器攻略V0.3.chm”帮助文件,这是个新手搭建战网的好参考,建议多看看。 怎么使用MySQL做为用户数据库呢,在pvpgn/conf目录中找到bnetd.conf,删除原有的生效的storage_path(特色是前面没有#号),找到# storage_path = sql:mode=mysql;host=127.0.0.1;name=PVPGN;user=pvpgn;pass=pvpgnrocks;default=0;prefix=pvpgn_一句,去年前面的#号,修改host为MySQL服务器的IP,name为数据库名(要先在mysql中建立一个同名的空数据库),user用户名,pass密码,其它不用动。
3.战网游戏问题
再说排队1,最近遇到把服务端放在一个1.11b的覆盖补丁里面,而不是一个完整可用的1.11b游戏目录里面,结果致使老是排队1的问题,主要体现就是,进程管理器中的d2gs.exe老是上下乱跳,那是由于d2gs服务老是启动它。
能够进入战网,也能够建立人物,而且建立游戏后也不排队,但老是建立游戏失败:这一般是游戏版本错误或者游戏文件不彻底形成的。检查你的d2gs.log文件,寻找Failed字样,来判断真正产生错误的缘由。最近遇到由于d2dbs没法存取用户人物存档文件形成老是建立游戏失败的问题。这样的须要先检查有没有启动d2dbs,或者启动以后有没有出错。(最近在一个server2003服务器上配bn,发现权限问题也会致使游戏的建立失败,有两个权限要设置,一是pvpgn文件夹要有“Everyone“的彻底控制权限,二是d2cs服务登陆帐号的权限)
战网中,选择人物双击进入后的屏幕左半部的文字,能够经过修改news.txt来更改,更改后请将编码改成ascii,进入频道以后左半部分显示的motd能够经过修改bnmotd.txt来更改,bnmotd.exe每行必需以%I开头,其中的一些语法能够参考pvpgn\docs\bnmotd.txt;新闻和motd文件都位于pvpgn\conf目录下。建立游戏后屏幕左上角显示的欢迎信息须要修改d2gs.reg中的"MOTD"项。
如何添加一个战网管理员。非数据库版本的,要修改usr目录下的同名acc文件,用记事本打开,在最后一行加入"BNET\\auth\\admin"="true",MySQL数据库版的,要打开pvpgn_bnet表,找到你的同名acc,修改auth_admin字段,并修改成true。关于管理员命令,这里就不细说了,能够去网上查。
如何Telnet管理战网,pvpgn战网的telnet有两种,一种是telnet到gs,一种是telnet到pvpgn;到gs的这一种须要在命令模式输入"telnet gsip 8888"来登陆(gsip就是你gs的IP地址),默认密码是"abc123"。第二种要修改bnetd.conf文件,找到#telnetaddrs = ":23"一句,去掉前面的#号,在:23前面加入服务器的外网IP,若是是内网管理,就加入内网IP,用户名和密码就是管理员acc和pass(这种跟你在游戏中进入频道聊天是同样的)。
如何防止更多的bot,这个除了用最新的带d2warden的d2gs1.11b(bulid43)以外,可能目前没有太好办法。不过43的warden已经能够防止d2jsp等早先流行的bot。另外91d2战网利用PVPGN的versioncheck功能来检测是d2load是否bot启动,但这种方法对相关技术的要求较高,而且需很是熟悉versioncheck。
如何初始化ladder的排名,这个很是简单。假设你定在2010年1月1日00:00:00要对服务器从新开荒,请打开b2cs.conf文件,找到ladder_start_time行,把后面的0改为2010-01-01 00:00:00(format: yyyy-mm-dd hh:mm:ss)而后,删除pvpgn/var/ladders中的全部文件。(注意,当修改了天梯开始时间以后,在这个时间以前所建立的全部char,都将变成非天梯人物)
出DC的相关设置,请参考我早先的总结 http://www.cnblogs.com/shalves/p/5147804.html
4.多国度互联,共享人物数据相关研究。
2009年10月31日:今天正好有时间,初步研究了一下多国度互联共享人物数据的问题。得出结论以下:
要在主服务器上运行N个独立的D2CS,而且每一个CS的配置文件d2cs.conf中,关于人物存档的路径,要和主服务器上其它CS的路径一致,也能够用为D2CS.EXE快捷方式,并为这个快捷方式的目标加" -c c:\diablo2\pvpgn\conf\d2cs2.conf ”参数的方法来启动多个D2CS(就像给d2loader加 -w -ns之类的启动参数同样)。你的每一份d2cs.conf中的serveraddr项都要使用一个不一样的端口。要在国度服务器上运行一个独立的D2GS。 在配置国度服务器的时候,建议先按照单机的步骤,测试可用了,再配置成独立gs的国度服务器。
下面我举一个例子来讲明怎么搭建多国度而且共享人物数据。
假设你有两台电脑做为服务器,pc1和pc2。pc1的ip地址为192.168.1.101,pc2的为102。
再假设你的pc1和pc2上都已经各有了一个可用的单国度,分别为d2server1和d2server2(怎么配置单国度服务器端请参考个人配置指南)。
再假设你想将pc1设为主服务器,就是战网的6112端口服务器。
那么先修改pc1上的pvpgn/conf/realm.conf文件,在原有的国度下面添加一条"d2server2" "d2 close battle net" 192.168.1.102:6115,修改完成后保存。还要修改pvpgn/conf/d2dbs.conf文件,找到gameservlist项,在原有的IP地址后面加一个逗号,并添加pc2的IP 192.168.1.102(像这样的gameservlist = 192.168.1.101,192.168.1.102)。
而后copy一份pvpgn/conf/d2cs.conf文件,重命名为d2cs2.conf。在里面修改realmname项为你的第二国度名称d2server2;修改servaddrs项,IP不要动,把端口号改成6115;再修改gameservlist项,把IP改成pc2的IP 192.168.1.102。
找到pvpgn/d2cs.exe,为其建立一个快捷方式,并为快捷方式增长启动参数 -c c:\diablo2\pvpgn\conf\d2cs2.conf,(注意-c前面有空格,这里的路径你应该按照你实际的路径来,这个d2cs2.conf就是刚才copy并修改的那一份)。
再转到pc2上来,找到pc2上服务器端的d2gs.reg;先注册一下,而后运行regedit打开注册表编辑器,按照HKEY_LOCAL_MACHINE\SOFTWARE\D2Server\D2GS的位置去找D2GS项。找到后展开,在右侧修改里面的内容。修改D2CSIP和D2DBSIP项,为pc1的IP 192.168.1.101;修改D2CSPort项为十进制的6115;
最后要作的就是保证pc2上的服务端与pc1上服务端中间D2Server.ini是一致的。
到这里配置工做就完成了,先在pc1上依次启动pvpgn、d2dbs、d2cs、d2gs服务(或者用我建议的start server.bat);而后再启动那个加了参数的d2cs.exe的快捷方式。最后,启动pc2上的d2gs服务。 客户端所用的注册表文件,里面应该用pc1的ip,由于pc1是主服务器,启动了pvpgn。但愿你是一次就配置成功了的!
另外我还小研究了一下多国度不共享人物数据的方法,并且我以为这样彷佛比共享数据更有意思。下面说说大概原理。
你们都知道d2cs主要负责国度和char,看名字Diablo 2 Character Server就明白了嘛。d2dbs主要负责数据交互和人物的存取;pvpgn主要负责开平台、6112端口、和负责acc;也就是说若是pc1上已经运行了pvpgn,那么pc1就是主服务器,这个时候pc1上配置了realm.conf(添加一个国度,好比"d2server2" "d2 close battle net" 192.168.1.102:6113),pc2上若是正确配置了d2cs.conf文件(主要是里面的bnetdaddr,要是pc1的IP);当pc1上的服务端启动以后 ,再启动pc2上的d2cs.exe,就会发现多了一个国度,而且这个国度里没有人物数据。建立新的人物以后,文件被保存到pc2的pvpgn/var/charsave中去了。这就实现了不共享人物数据;再在pc2上再启动d2gs服务和d2dbs.exe(这两个的配置都不用修改,不启动d2dbs.exe会没法建立游戏),就完成了一个多国度不共享人物数据的战网。
5.我最近打包的简单配置版。
请到91D2论坛下载http://bbs.91d2.cn/read-htm-tid-748127-page-e.html#a,这是我10月18日,打包的KT-D2版本,里面附带了傻瓜式的配置说明。
2012年1月3日 :断断续续仍是有不少网友向我求助,原本我有心作一个一键安装包,但无耐我只是一个.net 程序员,就算作一个exe,还要让用户再安装.net框架,有点得不尝失了。因此,今天仍是作了一个更傻瓜的安装包,只须要修改IP地址和复制文件就能够了。省去了用户本身去下载和整理服务端的麻烦。
下载地址:http://ishare.iask.sina.com.cn/f/22578217.html
版本:Pvpgn1.8.5 + D2gs1.11b(build46),客户端支持 暗黑破坏神2毁灭之王v1.11b
说明:仍是一个压缩包,包内有安装说明,一切照安装说明来就能够了。由于时间关系没有测试,有发现问题的,及时跟帖指出。
2013年补充:
在账号文件增长了"BNET\\auth\\admin"="true"可是执行GM命令却提示“This Command is reserved for admins”
解决办法,再往文件中增长两条: "BNET\\auth\\command_groups"="255" "BNET\\auth\\operator"="true"
最终版本(原创文章,转载请注明出处http://hi.baidu.com/roleya/blog/item/a0dade1738730603c93d6dd7.html)