传奇单机架设开通二区多区分端口改网关解多开限制完整排错教程

来源: 作者: 点击:
开二区本质是再跑一套独立服务端实例,核心做两件事:目录分开、端口全部分开。多开限制分服务端侧和登录器侧,服务端关同IP/同账号/硬件码限制,登录器关单开互斥,客户端可复制多份目录绕进程检测。

一、二区目录与基础隔离

一区用D:\MirServer,整目录复制为D:\MirServer2,不要在同一目录改端口开二区,数据会和一区混。 二区所有路径纯英文,不放在桌面、不带中文。若一区客户端补丁独立,二区也单独放一份客户端,例如D:\MirClient1、D:\MirClient2;同版本同补丁可共用一个客户端,不同版本必须分客户端,避免Data、Map、PAK互相覆盖黑屏。

DBC老端二区新建独立数据库别名:控制面板BDE Administrator新建STANDARD,别名HeroDB2,PATH指向D:\MirServer2\Mud2\DB(实际以二区含StdItems.DB、Magic.DB、Monster.DB的DB目录为准)。一区HeroDB、二区HeroDB2不能同名,同名会角色数据串库。 非DBC的内置库端,控制器里把二区数据库名/库路径改独立,不共用一区库文件。

二、控制器改端口开二区

打开D:\MirServer2\GameCenter.exe配置向导:

游戏服务器端所在目录:D:\MirServer2
服务器名称:二区自定义,如单机二区,不与一区重名
数据库名称:HeroDB2或其他独立库名
IP:单机全127.0.0.1,不填公网、不勾双IP、不勾动态IP

端口按一区整体偏移,避免任何重复。常见方案:

一区登录网关7000、二区7001
一区角色网关SelGate 7100/7101、二区7101/7102(单组就7101)
一区游戏网关RunGate 7200/7300/7400、二区7201/7301/7401
一区M2通信/DB通信若用5500、5600、5100、6000、5000、4900、10000,二区分别5501、5601、5101、6001、5001、4901、10001
微端一区8000、二区8001,纯单机不启微端可不改微端

保存后关控制器重新打开,确认配置写进各Gateway ini和M2配置。只改控制器不重启、或只改登录端口不改RunGate/SelGate/列表,会出门异常或选角卡。

三、手动端二区改ini

不用控制器就逐个改:

LoginGate\Config.ini:IP=127.0.0.1,Port=7001
SelGate\SelGate.ini:Port=7101,后端连LoginSrv/127.0.0.1
RunGate\Config.ini:若多份网关,分别7201、7301、7401;后端M2地址127.0.0.1,前端端口与列表一致
LoginSrv\!addrtable.txt:二区写“二区名称 Title2 127.0.0.1 127.0.0.1 127.0.0.1:7001”,一区Title1用7000,二区Title2用7001,不重复
DBServer\!serverinfo.txt:二区写127.0.0.1 127.0.0.1 7201 127.0.0.1 7301 127.0.0.1 7401(按实际网关数量)
Mir200\!Setup.txt:ServerName与二区一致,IPAddress/网关地址127.0.0.1,数据库名HeroDB2或独立库
Mir200\!Servertable.txt:按RunGate数量写0/1/2对应7201/7301/7401

改完用管理员CMD查端口占用:

netstat -ano | findstr "7001"
netstat -ano | findstr "7101"
netstat -ano | findstr "7201"

有LISTENING说明被别程序占,换更大偏移如7002/7102/7202;无占用但仍报绑定失败,检查ini路径中文、杀软删网关exe、防火墙拦端口。

四、二区登录器列表

单机本地list用ANSI。GOM简化多区:

单机一区 127.0.0.1 7000
单机二区 127.0.0.1 7001

带角色、游戏网关写全:

单机一区 127.0.0.1 7000 127.0.0.1 7100 127.0.0.1 7200
单机二区 127.0.0.1 7001 127.0.0.1 7101 127.0.0.1 7201

不微端管道格式:

单机一区127.0.0.1 7000
0
单机二区127.0.0.1 7001
0

启微端末段写1并补微端端口。登录器配置器导入对应Pak.txt(二区客户端独立就配二区客户端路径),服务器名、IP、端口和二区控制器完全一致。生成Login.exe放二区客户端根目录;一区二区共用客户端时,列表写两个区,登录器放同一客户端根目录即可,但Pak/Data必须同时兼容两区版本,不同版本不要共用。

五、二区启动顺序

DBC端先确认BDE里HeroDB2能展开表。启动顺序:

DBServer(二区,连HeroDB2)
LoginSrv
LoginGate 7001
SelGate 7101
RunGate 7201/7301/7401
M2Server,看日志地图/NPC/脚本加载完成无红字
LogServer按需

一区已经运行时开二区,重点看M2日志是否报10048、bind failed、port already used;报端口冲突回第三步整体换端口。家用机开两区注意内存,Mir200常驻、RunGate多份、Data补丁全载,建议每个区至少留2G以上空闲内存,固态放服务端、客户端分开盘减少IO卡顿。

六、多开限制服务端关闭

同机多客户端登多个号、同IP多角色被踢,先查M2:

GOM/GEE:M2选项-功能设置-登录限制/地图限制,取消“IP限制开关”或把同IP最大角色数调大;选项-参数设置-登录设置,关“限制同一IP登录数量”“限制同账号多地登录”。
Hero:M2查看-列表信息-游戏设置-常规,取消“禁止同IP多开”“限制单IP连接数”;选项-参数设置-权限/登录设置,关同IP多角色、同账号多端限制。
通用网关侧:LoginGate\Config.ini若有多开检测参数,MultiOpenCheck=0关闭;MaxClientPerIP调大,如5或10;MaxClientPerHWID=0或调大;不写ViolationAction=Kick。部分端参数名不同,看到SingleOpen、OnlyOneRun、AllowMulti、多开检测、同IP上限都按“允许”方向改。
M2若提示该账号已登录、同IP登录数超限,进在线列表踢掉旧会话,或在管理员/账号库清在线标记;DBC账号表Accounts被锁,Locked/Disable/SafeStatus改0后重启DBServer。

GM号多开被踢:Mir200\Envir\AdminList.txt按包内格式写* 角色名或角色名=10,M2重载管理员列表;M2关“GM账号IP绑定”或绑127.0.0.1,关“禁止GM多开”,GM登录频率限制改0。

七、登录器多开关闭

GOM/GEE配置器打开对应登录器工程:

基础配置/反外挂/高级设置里取消“禁止多开登录”“单开限制”“一台机器一个账号”
多开限制参数设允许无限多开或自定数量,如5、10
部分配置器写EnableMultiClient=1、AllowMulti=1、SingleOpen=0、OnlyOneRun=No,按实际参数名改
重新生成登录器,覆盖客户端根目录旧Login.exe;不混不同引擎万能登录器

登录器配置文件如LoginConfig.ini、GomLogin.cfg、Mir.ini搜SingleOpen/OnlyOneRun/AllowMulti,单开参数全改允许。改完清客户端Cache,任务管理器结束GOM、Mir、Login残留进程再开第二个。

八、客户端层多开兜底

登录器仍只允许一个窗口,用目录隔离:

整份客户端复制D:\MirClientA、D:\MirClientB,各放独立登录器
A区列表只写一区、B区列表只写二区;同机一区二区双开就A登一区、B登二区
同区多号也复制多份客户端,每份用不同账号登录,绕开按exe路径/进程名做的互斥

系统层:每台游戏客户端右键属性兼容性,管理员运行、Win7兼容、禁用全屏优化;装DirectX 9.0c和VC运行库。严格硬件码限制(CPU/主板/硬盘绑定)单机难完全绕开,正经做法是在M2和登录器都关硬件绑定;用沙箱/虚拟机给每个客户端分配不同环境可进一步隔离,但GOM硬绑定机器码时仍需服务端先放行。

九、常见多开故障速查

点第二个登录器没反应:进程互斥。结束残留Mir/Login/GOM进程,改配置器禁止多开为0,或换第二份客户端目录启动。

能开两个登录器但进游戏一个被踢:M2同IP限制。关IP最大角色数、关同账号多地登录、LoginGate关MultiOpenCheck。

同号两地登录互踢:正常账号安全策略;多开用不同账号,不在M2设同账号唯一会话。

二区能出列表但选角卡:SelGate/RunGate端口与列表不一致,或!addrtable的Title端口写错;回到二区ini核对7101/7201并重启全部网关。

一区二区都黑屏:不是多开问题,查各自NewopUI.pak、Pak.txt密码、Data/Map覆盖;二区独立客户端时Pak路径必须指向二区客户端实际盘符。

开二区后电脑卡:减RunGate份数、关微端、客户端Data不必要补丁移除、BDE和M2都放固态;单机测试每个区1个RunGate通常够用,不必照搬外网联机3网关。

按“复制目录→独立DBC/库→控制器全端口偏移→各ini和列表五处一致→M2关同IP同账号硬件限制→登录器关单开→多份客户端兜底”处理,二区开门和多开限制基本都能解决。端口任何一处漏改都会出现一区正常二区黑屏、选角卡、7001绑定失败,先用netstat按二区端口逐条核对再改其他配置。