传奇同机开多区端口规划与部署教程

来源: 作者: 点击:
开多区不是再下一套引擎,而是把已跑通的一区服务端整目录复制成多份,每份分配独立端口组、独立数据路径、独立区名,列表里并列写多行。GOM/GEE走“多目录多实例”,HERO老引擎可走“单DBServer多M2”或“多目录独立起”,下面以同机多目录方案为主,单机把IP全写127.0.0.1,外网换公网IP并在防火墙放行对应端口。

一、端口规划(核心,错一个全区崩)
每区占用一组不重叠端口,推荐按+5偏移:
• 一区:LoginGate 7000 / SelGate 7100 / RunGate 7200 7300 7400 / DBServer 6000 / M2通信 5500 5600 / LogData 5000 4900

- 二区:LoginGate 7005 / SelGate 7105 / RunGate 7205 7305 7405 / DBServer 6005 / M2通信 5505 5605 / LogData 5005 4905
- 三区:7010 / 7110 / 7210 7310 7410 ……以此类推
微端端口同步偏移,一区8000二区8005三区8010。cmd里用netstat -ano | findstr ":7000"确认一区端口没被占再扩。

二、复制目录与改路径
D:\MirServer(一区)整目录复制到D:\MirServer2、D:\MirServer3。每个副本里双击GameCenter.exe(或GeeConfig.exe)跑配置向导:
- 游戏目录改D:\MirServer2\、D:\MirServer3\
• 服务器名称改“传奇二区”“传奇三区”

• 端口按上面规划表改,7000可保留给一区,二区LoginGate改7005,SelGate改7105,RunGate三个改7205/7305/7405,DBServer改6005,M2通信5505/5605,LogData 5005/4905

- 下一步存配置,向导会重写各Gate的Config.ini和Mir200下!Setup.txt
HERO引擎用DBC2000的在BDE里新建HeroDB2、HeroDB3别名,PATH分别指到MirServer2\Mir200\Mud2\DB、MirServer3\Mir200\Mud2\DB,二区三区!Setup.txt里DBName改HeroDB2/HeroDB3,实现数据完全隔离;想账号互通就都指向HeroDB只分角色库。

三、改文本配置(GOM/HERO通用)
二区改D:\MirServer2\DBServer\!serverinfo.txt,把原7200 7300 7400段改成7205 7305 7405,IP填127.0.0.1或公网IP。
二区改D:\MirServer2\Mir200\!Servertable.txt,原0 127.0.0.1 IP 7200改成0 127.0.0.1 IP 7205、1对应7305、2对应7405。
一区LoginSrv\!addrtable.txt追加二区线路:二区名 Title2 127.0.0.1 公网IP 公网IP:7105(单机写127.0.0.1 127.0.0.1 127.0.0.1:7105)。
GEE引擎进GeeConfig把ZoneID改成2、3,DataPath指向MirServer2/3的独立DB文件夹,避免读同一份UserDB。

四、启动方式
多目录方案各区完全独立,一区正常用GameCenter启动;二区可同样双击MirServer2\GameCenter.exe启动,也可手动按序点DBServer→M2Server→RunGate×3→SelGate→LogDataServer,LoginSrv和LoginGate若一区已占用可不重复开(同机多目录建议各区自己带网关全起,互不共享更稳)。外网开区先起一区确认真稳,再起二区,看M2窗口有无“地址已在使用”报错,有就回头查端口。

五、列表文件写法
单登录器多区选择,list.txt里并列写:
一区127.0.0.1 7000 7200 127.0.0.1 7000
备注
二区127.0.0.1 7005 7205 127.0.0.1 7005
备注
三区127.0.0.1 7010 7210 127.0.0.1 7010
备注
GOM格式竖线分段含义:区名登录网关IP 登录端口 游戏网关IP 游戏端口 微端IP 微端端口
微端开关。记事本另存ANSI,外网把127.0.0.1全替换成服务器公网IP,微端端口和UpdateServer配置对上。登录器配置器主列表填这个txt路径或http地址,生成一次登录器,进游戏就能在选区界面看到一区二区三区。

六、客户端与补丁
同机多区共用一个客户端根目录即可,补丁Data/Map/Resources只需覆盖一份,登录器放客户端根目录命名“多区登录器.exe”。若各区分版本(一区复古二区单职),补丁冲突就复制两份客户端到D:\Legend1 D:\Legend2,各区登录器搜索对应客户端路径。

七、HERO单引擎多M2简法
不想复制整目录,可在一套MirServer里把M2Server.exe复制成M2Server(1).exe、M2Server(2).exe,Mir200下!Setup.txt复制成!Setup(1).txt改ServerName=二区、改端口组、改DBPath=..\Mud2\DB2,DBServer\!serverinfo.txt里加二区网关段,LoginSrv\!addrtable.txt加二区线路,起一区M2后再手动起M2Server(1).exe。省内存但配置易串,新手先用多目录方案。

八、常见多区故障
二区点开始游戏卡连接:7005/7205没在防火墙放行或二区RunGate没起。
进二区看到一区角色:HeroDB别名串了,二区!Setup.txt的DBName必须指向HeroDB2。
列表只显示一区:list.txt二区行格式错或没存ANSI,浏览器直接打开list.txt看二区行在不在。
攻沙全服卡:同机开5区以上按4核8G内存算,每区M2占300-500M,50人/区需16G起步,CPU主频低于3.0GHz必飘。
端口冲突报“Could not bind socket”:Netstat查占用,别把二区LoginGate又设回7000。

按“复制目录→偏移端口→改DB别名→改addrtable/servertable/serverinfo→列表并列写→各区独立起M2”这条线走,开到十区也是同一套动作重复十次。