详解MU服务器组连接原理

MCB小组_何不归来


关于MU服务器机组的建立

首先让我们来分析一下MU服务器组的构造:
MU服务端 一共包括8个启动文件 其中有2个数据服务器(DS),一个连接服务器(CS),一个登录服务器(JS),一个事件服务器,一个恶魔广场服务器,

一个战盟服务器和一个游戏服务器(GS),一共是7种类型(2个DS算一种)
包括我们必须要安装的核心部分(SQLSERVER) 一共是8个类型

理论是说 这8个类型的服务端 每个都可以放在不同的机器上运行,那么如何实现呢?

1.SQLserver
首先让我们看一下SQLserver,这个是服务器的核心部分,独立这一部分是很简单的工作,只要把相应的数据源指向你实际的SQL服务器,就OK

2.DATESERVER(DS)
我们看一下启动1的快捷方式:
D:\MuServer\DataServer1\Dataserver.exe 55960
这个最后的55960 就是DS所占用的端口 用来和GS想连接 至于如何连接的 在后面的GS里面会有详细的说明

3.CS
启动3的快捷方式里面没有什么,CS的对外端口,使用UE可以改这个大家都应该知道,CS的对内端口是55557,后面会有提及这个端口的用处,现在我

们来分析一下CS目录里面的文件: Connectserverlist.dat,DATA/Connectserverlist.dat,DATA/ServerList.dat
这3个文件决定了 什么样的GS可以连接到你的CS里面 以及玩家通过你的CS连接到什么样的GS上
我们看一下格式


//Server List

0 "奇迹1-1" "192.168.0.1" 55901 "SHOW"
1 "奇迹1-2" "192.168.0.2" 55901 "SHOW"
20 "奇迹2-1" "192.168.0.3" 55901 "SHOW"
21 "奇迹2-1" "192.168.0.3" 55901 "SHOW"

这样的信息代表了
GS编号0 代号 奇迹1-1 可以连接到此CS中 连接后 此服务器显示为1服1线 玩家点选1-1后 进入游戏服务器192.168.0.1的55901端口
GS编号1 代号 奇迹1-2 可以连接到此CS中 连接后 此服务器显示为1服2线 玩家点选1-2后 进入游戏服务器192.168.0.2的55901端口
GS编号20 代号 奇迹2-1 可以连接到此CS中 连接后 此服务器显示为2服1线 玩家点选2-1后 进入游戏服务器192.168.0.3的55901端口
GS编号21 代号 奇迹2-2 可以连接到此CS中 连接后 此服务器显示为2服2线 玩家点选2-2后 进入游戏服务器192.168.0.4的55901端口

注意 2服的编号为20开始 同样 3服为40开始 而代号则表示了GS的身份区分 只有代号符合的GS 才能连接入指定的CS中 此时CS上会显示相应的

服务器出现 而后面一部分的IP和端口 为指定GS的IP 和所占端口 (此处可用域名 但是不能超过15位 否则不能正常识别)
这里有个好笑的现象 就是当你的奇迹1-2的GS连接上CS后 CS虽然会显示出GS的存在(显示服务器1-1) 但是并不能直接识别GS的IP和端口 如果

你指定的GSIP和端口有误 则可能出现无法连接 或者指向了其他的GS的情况 (这也就是为什么有的私服一点服务器1-1就断开的原因 同样也是

双线共享地图的原因)

好了 后面的GS还有更详细的说明 让我们往下看

4.JS
我们看一下JS的启动快捷方式(快捷方式4)
D:\MuServer\JoinServer\JoinServer.exe /p55970 /ca127.0.0.1 /cp55557
我们看到了
/p55970 代表了 JS所占用的端口
/ca127.0.0.1 代表JS所指向的CS的IP
/cp55557 代表了JS所指向的CS的端口(前文提及CS的对内端口55557,后面还有一处会用到)
这样 JS和CS之间的连接 我们就一目了然了 我们继续下面的分析

5.事件服务器与恶魔广场服务器,以及战盟服务器
这3个服务器没有什么好说的,与其他服务器的连接 我们将在后面给予说明

6.最关键的GS说明
GS的快捷方式为
D:\MuServer\GameServer\GameServer.exe 127.0.0.1 55970 127.0.0.1 55960 55901
这里我们看到了
127.0.0.1 55970 代表了此GS所指向的JS的IP和端口 (与JS的连接在此处设定)
127.0.0.1 55960 代表了此GS所指向的DS的IP和端口 (与DS的连接在此处设定)
最后一个55901 是GS所占用的端口 (前文CS中有所说明)

GS是不是就这么多设置选项呢?
答案当然是否定的
我们看DATA目录(MUSERVER下的)
这个目录是服务于GS的 可以说是GS的一个重要的组成部分
那么我们先看
ServerInfo.dat 这个文件 内容如下:

[GameServerInfo]
ServerName = 奇迹1-1
ServerCode = 0
ConnectMemberLoad = 0;

这里可以看到 第一行为此GS的代号 第2行为编号 此处为连接到CS的身份信息
(参阅前CS说明)

commonserver.cfg 这个文件 内容摘略如下

ChaosBox = 1 ; 玛雅哥布林允许合成
ChaosEvent = 1 ; 事件开关.
ChaosEventServer = 127.0.0.1 ; 事件对应服务器
看到没 事件服务器的IP

DevilSquareEventServer = 127.0.0.1 ; 恶魔广场事件服务器IP
恶魔广场服务器的IP

;以下是天空宝箱的相关设置

EventChipServerConnect = 1
EventChipServerIp = 127.0.0.1
又一个事件服务器的IP

至此 完成了事件服务器与恶魔广场服务器的IP指定

我们再看
D:\MuServer\data\lang\chs\commonloc.cfg

[ConnectServerInfo]
;服务器连接信息及版本号
IP = 127.0.0.1
PORT = 55557
.......

这个是此GS指向的CS的IP与端口

至此 GS篇介绍完毕
我们的整个MU机组的原理分析也告一段落
聪明的朋友此时已经能够架设出属于自己的机组了

为了让新手能更明白整个机组的原理
下篇将实例介绍服务器机组的架设过程
请期待

补充:关于战盟服务器的连接方式 目前尚不是很清楚 不过也没有什么必要把战盟服务器分离出去
初步估计战盟服务器占用端口为55906


本文出自 7j45 > 奇迹一条龙