建立Diablo2(暗黑破坏神2)封闭式服务器详解
I. 需求
软件需求:
bnetd, d2cs, d2dbs和d2gs diablo2以及diablo2扩展版
系统需求:
bnetd, d2cs, d2dbs可以运行在*nix和win32系统下.
(推荐使用linux系统)
d2gs必须在win32系统下运行.
(推荐使用win2k或者winXP)
硬件需求:
具体依据服务器的在线用户量而定,
bnetd, d2cs and d2dbs对资源的需求很小.
说明:
*nix系统表示linux, unix, sun, BSD等系统
win32系统表示win9x/me/NT/2k/XP
II. 获取相关软件
bnetd, d2cs和d2dbs都属于bnetd项目,都是按照GPL许可以完整源代码的
形式进行发布,bnetd项目的主页为http://www.bnetd.org, 最新版本的
源代码可以在http://www.sourceforge.net/projects/bnetd找到.
目前,bnetd项目因为版权问题正受到blizzard的控告,所以在其主页和
sourceforge上的所有相关文件都已经去掉了下载连接,但网上仍然可以
找到很多相关的镜像进行下载(比如http://ugoth.net/bnetd/). 同时,
你仍然可以通过sourceforge的CVS服务获取当前最新的代码,
(CVS访问的详细资料请参看http://sourceforge.net/cvs/?group_id=6933)
d2gs属于d2close项目, 目前发布的都是已经编译好了的可执行文件版本,
最新的发布版本可以在其主页http://d2dev.dhs.org上获得。
说明和建议:
1. bnetd, d2cs 和 d2dbs都是按照源代码的方法进行发布的,这些
源代码大多是以linux系统为基础进行设计的,你将需要有一定的
编程经验如果你想在其他系统特别是win32下编译源代码。
2. 如果你想在win32下建立服务器,推荐使用bnetw,bnetw是bnetd
的win32移植版本,并且增加了图形用户界面,bnetw可以在
http://ugoth.net/bnetd/上找到, 同时,因为它是以可执行代码
的形式进行的发布,所以你将不需要自己进行源代码的编译。
3. 如果你只是想建立一个临时性质的服务器或者作为测试使用,
则你可以在win32下运行bnetd, d2cs和d2dbs。 否则,推荐使用
linux系统, 特别是对于那些在线人数上千的服务器而言 -- 服务器
在linux下要稳定得多。
III. 安装
bnetd, d2cs和d2dbs的安装:
1. *nix系统
这里我假设你下载的bnetd文件解开在: /home/game/bnetd
1). cd /home/game/bnetd/src/
切换到bnetd源代码目录。
2). ./configure --prefix=/home/game/server/bnetd
进行相关配置检测并且设定目标安装目录为/home/game/server/bnetd,
安装目录可以自行修改。
3). make install
编译和安装相关程序, 如果所有代码都正常编译了,
服务器将被安装到/home/game/server/bnetd目录。
(bnetd, d2cs, d2dbs都在其sbin目录下)
2. win32系统
这里我假设你使用的是bnetw, 你所需要做的仅仅是把bnetw
程序包解开到c:\\BNetWServer\\, 这样,该目录下的目录
结构应该是类似于c:\\BNetWServer\\log, c:\\BNetWServer\\conf ...
d2gs安装:
1. 安装diablo2以及其扩展版本,并且升级到最新版本
(升级补丁可以在http://www.blizzard.com/patches上下载),目前
的最新版本是v1.09d, 这里我假设你的安装目录是c:\\d2gs
2. 将d2gs程序包解压缩到c:\\d2gs, 这样你将获得如下文件
c:\\d2gs\\d2gs.exe, c:\\d2gs\\install.bat ...
3. 运行c:\\d2gs\\install.bat以安装d2gs
1).win2k/NT/XP (推荐)
在这些系统下,d2gs将会被以系统服务的形式进行安装,同时,
你必须确保你是作为系统管理员登陆的。
2). win9x/me
在这些系统下,d2gs将会被以单独应用程序的形式进行安装。
(在win95系统下,你必须首先将系统网络升级到winsock2)
IV. 配置
bnetd, d2cs和d2dbs:
1. *nix系统
所有相关的配置文件都在目录/home/game/server/bnetd/etc下
2. win32系统
所有相关的配置文件都在c:\\BNetWServer\\conf\\目录下
所有的配置项目都在配置文件中有注释说明其作用和格式,
这里我只列出那些你在运行服务器前必须进行设定的项目。
1). realm.list
在此文件中添加realm服务器列表,格式如下:
-realm name- -description---------- -ip and port-
"Realm Name" "Diablo2 Realm Server" your.d2cs:port
"your.d2cs:port" 代表你的d2cs服务器所在的ip地址以及监听断口,
如:"192.168.0.1:6113" 或者 "192.168.0.1"
d2cs服务器默认的监听端口为6113
2). d2cs.conf
设置"bnetdaddr"项为bnetd服务器的ip地址和端口,格式同realm.list
如:
bnetdaddr = "192.168.0.1:6112"
bnetdaddr = "192.168.0.1"
bnetd服务器的默认监听端口为6112
设置"gameservlist"项目为你游戏服务器的ip地址列表,
游戏服务器为d2gs所运行的机器。
如:
gameservlist = 192.168.0.1, 192.168.0.2
3). d2dbs.conf
设置"gameservlist"项目为你游戏服务器的ip地址列表,
同d2cs.conf中的"gameservlist".
d2gs:
d2gs的相关配置都储存在注册表的
[HKEY_LOCAL_MACHINE\\SOFTWARE\\D2Server\\D2GS]下,
大部分设置使用默认值就可以了,这里我只列出了那些
必须在运行前进行设置的。
1)."D2CSIP"="192.168.1.1"
修改该数值为你d2cs服务器的ip地址
2)."D2DBSIP"="192.168.1.1"
修改该数值为你d2dbs服务器的ip地址
V. 运行
bnetd, d2cs 以及 d2dbs:
1. *nix系统
运行下列程序:
/home/game/server/bnetd/sbin/d2dbs
/home/game/server/bnetd/sbin/bnetd
/home/game/server/bnetd/sbin/d2cs
运行的前后顺序可以随意。所有这些程序默认
都将按照后台的进行进行启动。
2. win32系统
运行c:\\BNetWServer\\BnetW.exe,然后从其菜单File->New
中运行d2cs以及d2dbs。
d2gs:
1).win2k/NT/XP
从系统服务控制管理中启动d2gs服务或者直接从命令行下运行
"net start d2gs"
2). win9x/me
运行c:\\d2gs\\d2gs.exe
VI. 管理
bnetd, d2cs 和 d2dbs:
1. *nix系统
"killall bnetd d2cs d2dbs"以停止服务器的运行
2. win32系统
关闭bnetw窗口即可
其他配置等请查看随bnetd程序包所附带的相关文档。
d2gs:
停止运行:
1).win2k/NT/XP
从系统服务控制管理中停止d2gs服务或者直接从命令行下运行
"net stop d2gs"
2). win9x/me
关闭d2gs控制台窗口
d2gs管理控制台:
运行telnet 8888以连接到管理员控制台,默认的
初始密码是"abcd123"
其他配置等请查看随d2gs程序包所附带的readme.txt