现在的位置:首页 > 新手入门 >
MaNGOS一机多服的实现方法及测试
本站发布于2008-01-06 17:10:39 芒果中文
测试目标: 在一台机器上实现一个分区2台(或多台)服务器,即一个账号可以在不同的服务器上建立不同的角色,各服务器内玩家数据独立保存.
测试平台: HP xw4300 工作站 + Windows XP SP2 CHS + MySQL Server 5.0 + MiniManager for MaNGOS
约定: 为了简化过程及方便测试,登录服务器和游戏服务器以及数据库服务器全部安装在同一台机器上,这里假设电脑名为 gamesrv
要实现各服务器玩家数据独立保存, 必须在MySQL服务器中为每个游戏服务器建立一个玩家角色数据库, 世界数据库及登录服务器数据库可共用.
测试中我们要建立2台游戏服务器,由于所有服务器在同一台机上,所以服务器地址相同,这样必须通过不同的端口来区分不同的服务器.
表一:
ID 游戏服务器名称 服务器地址 端口
id name address port
=======================================================
1 测试服务器一 gamesrv 8085
2 测试服务器二 gamesrv 8086
.......
=======================================================
MySQL 数据库规划
表二:
数据库名称 用途 使用服务器
=======================================================
realmd 登录游戏服务器数据库 所有服务器共用
mangos 世界数据库 所有服务器共用
characters1 角色数据库 测试服务器一使用
characters2 角色数据库 测试服务器二使用
=======================================================
下面简要说明一下实现过程
先在MySQL数据库服务器中按单机的方式建立好一个MaNGOS数据库, 然后把 characters 数据库改名为 characters1,
新建一个名为 characters2 的空数据库并从 characters1 复制数据表结构到 characters2 数据库,
在realmd 数据库中添加两条服务器数据记录如表一所示.
注意服务器记录中的 address 字段,如果填写的是 localhost 或是 127.0.0.1 的话,只有本机可以登录游戏服务器, 其它电脑无法登录到服务器.
数据库设置好了以后,接着把编译好的MaNGOS服务器运行所需的所有文件复制到一个目录下,假设服务器端放在 D:\MaNGOS 目录下.
(别忘了解压地图文件和DBC文件到MaNGOS目录)
然后将 MaNGOS 目录下的 mangosd.conf 配置文件改名为 server1.conf (或其它你喜欢的名字) ,然后复制一个 server1.conf 文件并改名为
server2.conf , 修改server1.conf 配置文件中的
RealmID = 1
改为
RealmID = 1 (如果已经是1了就不用改了)
CharacterDatabaseInfo = "127.0.0.1;3306;mangos;mangos;characters"
改为
CharacterDatabaseInfo = "127.0.0.1;3306;mangos;mangos;characters1"
保存
修改 server2.conf 配置文件中的
RealmID = 1
改为
RealmID = 2
CharacterDatabaseInfo = "127.0.0.1;3306;mangos;mangos;characters"
改为
CharacterDatabaseInfo = "127.0.0.1;3306;mangos;mangos;characters2"
WorldServerPort = 8085
改为
WorldServerPort = 8086
保存
接着建立两个用于启动mangos的批处理文件,
在 MaNGOS 目录下建立两个批处理文件,文件扩展名注意是.bat 而非 .txt
名字分别命名为 server1.bat 和 server2.bat
添加以下内容到 server1.bat
mangosd.exe -c server1.conf
保存
添加以下内容到 server2.bat
mangosd.exe -c server2.conf
保存
完成以上操作后, 先启动realmd.exe , 再执行 server1.bat 和 server2.bat ,等服务器启动完成后,
修改魔兽世界客户安装目录下的 realmlist.wtf ,将服务器地址改为 gamesrv
如:SET realmlist "gamesrv"
保存以后直接运行 wow.exe 输入账号和密码后,你应该能看到两个在线的服务器了,随便选择一个登录并且建立
一个角色,进入游戏后再退出登录,接着在登录到另外一台服务器,这样角色都在各自的服务器上了。
