架设自己的战网服务器
#1 一、第一手准备
计算机配置要求并不高,仅仅是Pentium133,16M内存,就能很正常地提供战网服务。操作系统可以是Windows9x/NT/2000,也可以是Linux。然后就是最关键的服务器软件FSGS。FSGS全称是Free Standard Game Server(免费的标准游戏服务器),目前最新的版本是0.7.1版,FSGS服务器有两个版本,分别支持Windows系列操作系统和Linux操作系统。建议先连到FSGS的官方网站http://www.fsgs.com去,了解一下FSGS的最新发布消息,然后再进下载区进行下载。该服务器软件是完全免费使用的。
#1 二、安装服务器
首先解压缩(unzip)压缩包到一个目录,例如E:\FSGS目录。解压缩以后在E:\FSGS目录下会自动生成七个子目录。
然后就是设置服务器参数了。我们这里以Windows操作系统为例。首先运行FSGS.EXE程序,因为是第一次运行,注册表中还未设置相应的数据,会出现一个提示对话框。我们按回车进入FSGS的设置对话框。
首先出现的是目录设置(Directories),如^32160007a^一。DataFile目录里是FSGS的数据文件和帮助文件;PlayerDatabase目录里是所有注册用户的档案;LogFile是FSGS存放服务器运行记录的地方;GameReports目录是存放服务器战报的地方;Banners目录里是战网的广告条(你也可以制作自己的广告条,具体方法参阅该目录下的Banners.txt);Ladder目录存放所有参加过积分赛(Ladder)的注册用户的胜负积分情况。系统会自动填入对应安装FSGS目录下面的几个子目录,建议不要修改,如果确实要更换这几个目录的位置,请将从zip包中展开得到的对应子目录中的文件拷贝到新的目录中去。
然后我们点击上面的Settings面板,进入到服务器设置,如^32160007b^二。其中各个参数说明如下:
Loglevel:控制服务器对运行记录记载的详细程度,建议使用Normal。
Connect to FSGS Interserver Net:如果选中,则你的服务器将会自动与在Internet上的FSGS总服务器相连,并且将你管理的战网信息发布到FSGS总服务器上。不过,如果你这里连接不到那里的话(例如在教育网内部或使用169),最好关掉这一项,以免启动服务器时浪费时间。
Compact Database on Start:如果选中,将会在每次启动服务器时压缩其内部的数据库,在数据很多时机器会花掉大量时间来做这项工作。
Publish Server on WWW-Page:如果选中,服务器会将你的战网列在FSGS总服务器的FSGS服务器列表中,这样所有访问FSGS网站的人都能知道你的战网服务器。但如果连不上国外服务器,建议关掉这一项。
Store Gamereport:决定服务器是否生成并保存战报的选项,由于战报非常简单,而且量又很大(每一次战斗都会被记录下来),因此建议关掉这一项。
Log new player always:选中的话,每个创建新用户的信息都会被记录下来。
Gamereports for all Games:是否对所有游戏都生成战报?选中会导致巨量的战报。即使你有海量硬盘也最好别选这一项。
Disable new Account:如果选中,玩家就不能在你的战网上自己创建新用户账号,而只能由服务器管理员在服务器上直接建立。
Local Ladder:是否允许在不连入Internet的情况下进行本地积分赛。建议选中这一项。
Allow UDP query:是否允许像Pingtool或者GameSpy这样的软件对服务器进行查询。建议打开这一项,这样的话,利用GameSpy这样的工具软件,你就可以在无需连入战网的情况下,查询战网当前的玩家数目等信息。
All players get at least 10 wins:是否给每个人10场胜利的底数。上过战网的人都知道,在那里至少要先赢10场比赛,得到5颗星的奖励以后,才有权力加入积分赛。如果你选中这一项,那么每个加入你战网的玩家都会自动获得10场胜利而直接参加积分赛。
Enable Channel Quota:是否打开聊天监测。选中的话,在战网上对话时每5秒钟内最多只能说3句话,并且同样的句子最多只准重复3次。打开这一项吧,这是避免有捣蛋鬼发送大量垃圾消息的好方法。
Enable Chatbot Idle-throw:如果选中的话,战网服务器将会把10分钟之内只聊天而不打仗的聊天者给踢出服务器。
Disable Proxy Support:如果你的服务器要靠代理服务器才能连上去,那么应该选上这一项,否则就不要选中这个选项。
Disable Chatconnections:选上以后将禁止所有的聊天连接。
Enable automatic gameupdate:服务器自动升级。如果你的服务器能连接到FSGS总站点,那么在FSGS推出新版时将会自动升级你的服务器。
Localized Default Channel:是否使用本地的默认频道(Channel)。如果选上的话,那么不同语种的玩家连入时会自动进入不同的聊天频道。例如中国人就会自动进入像BroodWar Chinese-1这样的频道。如果不选中这一项,你可以在后面的Default输入框里面,填上用户连入后自动进入的默认频道的名称。
Allow remote administ:如果选中这一项,你就可以在连入战网的时候使用/admin(密码)这样的命令来进行远程管理,可以使用kick/ban这样的命令来将不安分的家伙,从你的战网服务器上踢出去。密码就在后面的Admin输入框里面输入。
Max.Logfile:最大服务器运行记录长度。后面输入框里面填上你想让服务器保持的记录项目的最大值,当记录数目超过这个最大值时,服务器会自动删除最早的旧记录。
下面再进入Serverinformation面板。里面是输入服务器信息的地方。除了Country一定要选以外,其他的数据都不太重要,你可以随意填写。只不过MOTD(Message of the Day)信息将会在每个玩家进入战网时显示,你可以用它来发布消息。
然后就是Channels面板,你可以在里面加入一些频道,这样可以让不同兴趣的玩家很容易的找到志同道合的玩友。
最后就是Banned IP's面板,在里面可以设定禁止哪些IP访问你的服务器,例如在里面加上202.114.16.5就可以禁止使用这个IP的机器访问你的战网。
全部设置好以后,点击下面的“确定”按钮,FSGS就会自动的最小化,并且缩成系统托盘(SysTary)里的一个小图标,如^32160007c^三。这样你的战网服务器就已成功运行了。
#1 三、修改注册表
服务器架设好了,也运行正常了,但是别人还是不能连接,因为需要玩家修改一下注册表,好让游戏知道它要往哪里连。玩家首先需要用RegEdit打开注册表,建立HKEY_LOCAL_MACHINE\SOFTWARE\Battle.net\Configuration主键,然后在其中加入一个字符串值Server List,其值为自己机器的IP地址,例如我管理的服务器IP是202.114.16.1(注:点“开始”菜单中的“运行”,在打开栏中键入winipcfg,按确定后就可以查到自己的IP地址)。然后再加入一个DWORD值Server Version,其值为1。这样就可以了,如^32160007d^四。不过这样做很麻烦,而且有些玩家也不懂注册表。所以建议你事先做好一个注册表文档,内容如下:
REGEDIT4
KEY_LOCAL_MACHINE\Software\Battle.net\Configuration
“Server List”=“202.114.16.1”
“Server Version”=dword:00000001
其中你需要将202.114.16.1改为自己服务器的IP。将其保存为一个扩展名为.reg的注册表文档,例如存成BN.reg。这样玩家可以自己下载这个reg文件,点击这个reg文件就完成注册表的修改,然后就可以连到你的战网服务器了!
改好注册表以后,试试运行《星际争霸之母巢之战》(BroodWar),选择MultiPlayer,然后选择BATTLE.NET,游戏开始试着与你的战网服务器连接。成功了以后,会出现一个登录界面。你是新玩家,所以点击New Account按钮来创建一个新的用户账号,得到账号以后你就可以用账号名和密码登录进入战网了。后面的我就不说了,自己看吧。
#1 四、补充说明
1.如果要玩《暗黑破坏神Ⅱ》,则不需要上面的注册表修改,而是需要另外修改注册表:建立HKEY_CURRENT_USER\Software\Blizzard Entertainment\Diablo Ⅱ主键,然后在该主键下面加上字符串值bnetip,其值为你的战网服务器的IP地址,或者类似的建立注册表文件如下:
REGEDIT4
KEY_CURRENT_USER\Software\Blizzard Entertainment\Diablo Ⅱ
“bnetip”=“202.114.16.1”
记住将其中的202.114.16.1换成你的战网服务器的IP地址。改好注册表以后进入《暗黑破坏神Ⅱ》,选择Other multiplay,然后选择Open BATTLE.NET来进入你的战网服务器。
2.如果需要让服务器一开机就运行,请把FSGS.EXE的快捷方式放到Windows的启动组里面。如果你用的是WindowsNT或Windows2000,也可以不这么干,因为FSGS同时提供一套专门为NT设计的FSGSSVC.EXE,你只要运行FSGSSVC -i就可以在NT的服务中加入FSGS服务,这样每次重启机器FSGS服务都会自动运行。
3.建议你把FSGS放在NTFS或者FAT32格式的硬盘分区上,因为会有大量的玩家账号,每一个账号都有一个磁盘文件对应,这些文件又很小,因此如果用FAT16这样的分区格式就会浪费大量的磁盘空间。我这里的华中理工大学战网服务器,用户账号文件在NTFS上面只占10兆左右。可是在FAT16上面要占掉300兆左右。
4.FSGS目录下的Data目录中,TOS.TXT就是登录用户注册账号时看到的说明,HELP.TXT是用户在战网上使用/help命令看到的内容,你可以根据需要修改这两个文件的内容。