一、先定位:准确检测网关端口占用进程
网关端口(如 LoginGate 的 7000、RunGate 的 7100)被占用时,先通过 3 种方法找到占用进程,避免盲目改端口:
1. 命令行快速检测(无需安装工具)
按下Win+R输入cmd,以管理员身份打开命令提示符;
输入端口检测命令(以常见网关端口 7000 为例,替换为你被占用的端口):
netstat -ano | findstr "7000"
查看输出结果:
示例:TCP 0.0.0.0:7000 0.0.0.0:0 LISTENING 1234
最后一串数字 “1234” 即为占用进程的 PID(每个进程唯一标识)。
2. 任务管理器定位并结束进程
打开任务管理器(Ctrl+Shift+Esc),切换到 “详细信息” 标签页;
右键表头,勾选 “PID”,找到步骤 1 中获取的 PID(如 1234)对应的进程;
右键该进程选择 “结束任务”,若提示 “无法结束”,则为系统进程或有保护程序,需先关闭对应的软件(如其他游戏服务端、迅雷等占用端口的程序)。
3. 第三方工具精准排查(适合复杂情况)
若命令行无法识别进程,使用 TCPView(轻量免安装):
下载 TCPView 后打开,在 “Local Port” 列找到被占用的端口(如 7000);
右键该条目,选择 “Process Properties”,直接查看占用进程名称(如Thunder.exe、OtherMirServer.exe);
右键选择 “End Process”,彻底结束占用进程(比任务管理器更彻底,适合顽固占用)。
二、再解决:改端口后必须同步的 3 处关键配置
很多人改了网关端口仍无效,是因为只改了网关配置,没同步服务端其他关联配置和客户端,需按以下步骤操作(以 LoginGate 的 7000 端口改 10001 为例):
1. 第一步:修改网关自身配置(以 LoginGate 为例)
文件路径:D:\MirServer\LoginGate\Config.ini
修改内容:找到端口字段,替换为新端口(如 10001,建议选 10000-60000 之间的端口,避开 1024 以下系统端口):
[ServerList]
Server1=192.168.6.27 # 局域网IP不变(若为单机则127.0.0.1)
Port1=10001 # 原7000,改为新端口10001
同理,若 RunGate 端口(如 7100)占用,修改D:\MirServer\RunGate\RunGate.ini:
[Network]
ListenAddr=192.168.6.27
ListenPort=10002 # 原7100,改为新端口10002
2. 第二步:同步服务端关联配置(核心!漏改必失效)
改完网关端口后,必须同步修改依赖该端口的其他服务配置:
(1)数据库服务(DBSrv)配置同步
文件路径:D:\MirServer\DBSrv200\DBSrv200.ini
修改内容:确保LoginPort与 LoginGate 新端口一致:
[Connect]
LoginIP=192.168.6.27
LoginPort=10001 # 原7000,改为10001(与LoginGate的Port1同步)
(2)M2 主控制器(可选,部分引擎需改)
若服务端有M2Server.ini(如 GOM 引擎),检查是否有端口配置:
文件路径:D:\MirServer\M2Server.ini
修改内容:同步网关新端口:
[LoginGate]
Port=10001 # 原7000,改为10001
3. 第三步:同步客户端端口配置(不改连不上)
服务端改了端口,客户端必须对应修改,否则仍用旧端口连接:
文件路径:客户端目录下的Client.ini或Login.cfg
修改内容:将LoginPort改为服务端新端口:
[Login]
LoginIP=192.168.6.27
LoginPort=10001 # 原7000,改为10001(与LoginGate同步)
若无配置文件,右键Game.exe创建快捷方式,在 “目标” 后加参数:
"E:\传奇客户端\Game.exe" IP:192.168.6.27 Port:10001
(注意参数前加空格,Port 值与服务端新端口一致)
三、深排查:改端口后仍无效的 4 大常见原因
若按上述步骤改完仍用不了,排查以下 4 个关键点:
1. 原因 1:新端口被其他进程占用(改了也白改)
症状:启动网关时提示 “端口已被占用”,或进程闪退;
解决:重新用步骤一的方法检测新端口(如 10001),确认无占用后再启动;建议选不常见端口(如 12345、23456),减少占用概率。
2. 原因 2:防火墙未开放新端口(端口通不了)
症状:服务端进程正常启动,客户端提示 “无法连接服务器”;
解决:开放新端口(以 10001、10002 为例):
打开 “Windows Defender 防火墙→高级设置→入站规则→新建规则”;
选 “端口”→“TCP”→输入 “10001,10002”(英文逗号分隔);
选 “允许连接”,命名为 “传奇新网关端口”,完成创建。
3. 原因 3:配置文件格式错误(改了没生效)
症状:网关进程启动后无响应,或日志提示 “配置错误”;
常见错误与解决:
端口后多空格:如Port1=10001 (末尾有空格),需删除空格;
符号用中文:如Port1=10001(中文等号),需改为英文=;
漏改关联配置:如只改了 LoginGate,没改 DBSrv 的LoginPort,需重新检查所有关联文件。
4. 原因 4:引擎不支持自定义端口(改了也无效)
症状:部分老旧传奇引擎(如早期 3K 引擎)锁定网关端口,改后进程闪退;
解决:
查看服务端目录是否有PortLock.ini(端口锁定文件),删除该文件后重试;
若仍无效,更换引擎版本(如将 3K 引擎换成 Hero 或 GOM 引擎,支持自定义端口)。
四、实用技巧:避免端口占用的 3 个好习惯
端口选择建议:优先用 10000-60000 之间的端口,避开常见占用端口(如 7000-7200、8080、3389),可一次性改多个网关端口(如 LoginGate=12345,RunGate=12346),形成端口组,减少冲突;
批量同步端口:用 Notepad++ 打开服务端所有.ini和.txt文件,按Ctrl+Shift+F搜索旧端口(如 7000),批量替换为新端口(如 12345),避免漏改;
启动前检测端口:创建批处理文件(CheckPort.bat),每次启动服务端前运行,自动检测端口是否占用:
@echo off
netstat -ano | findstr "12345"
if %errorlevel% equ 0 (echo 端口12345已占用,请先释放) else (echo 端口可用,可启动服务端)
pause
五、不同引擎网关端口配置差异(补充说明)
引擎类型
网关配置文件路径
端口字段名称
注意事项
Hero
LoginGate/Config.ini
Port1
无需额外授权,改后直接生效
GOM
GateServer/LoginGate.ini
ListenPort
需同步修改 GOM 引擎的 “网关配置” 界面
3K
3KLogin/3KLogin.ini
ServerPort
部分版本锁定端口,需删除 PortLock.ini
Blue
BlueLogin/BlueLogin.cfg
Port
端口修改后需重启所有 Blue 进程
传奇服务端架设:网关端口占用与改端口无效问题完整解决方案
来源:
作者:
点击:

