家族信息

    族长:战神~柳柳

    成员:32

    待批准成员:3

    成立:2007-02-04

    主打游戏:奇迹

家族文章

    详解MU服务器组连接原理

    发布人:战神々浩南 发布时间:2007-05-18 21:38:41 点击数:517
    关于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.exe55960
    这个最后的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上
    我们看一下格式


    //ServerList

    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.exe127.0.0.155970127.0.0.15596055901
    这里我们看到了
    127.0.0.155970代表了此GS所指向的JS的IP和端口(与JS的连接在此处设定)
    127.0.0.155960代表了此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