很多人搞不清传奇服务端各网关的作用,也不知道客户端从注册到进游戏要经过哪些步骤。其实整个流程是“注册程序→登录网关→角色网关→游戏网关”的递进关系,每个环节对应特定的服务端文件,IP和端口设置错一个都可能导致连接失败。下面结合实际案例,拆解各网关的核心信息。
一、客户端从注册到进游戏的完整流程(对应服务端程序)
咱们先理清顺序,搞懂每个步骤依赖哪个服务端模块,后续设置才不会乱:
注册账号:依赖「账号数据库程序(如DBServer.exe)」——客户端在注册页面填信息时,数据会先传到这个程序,存入账号数据库(比如HeroDB);
输入账号密码登录:依赖「登录网关(LoginGate.exe)」——客户端点“登录”后,先连接这个网关验证账号密码是否正确,验证通过才会跳转到角色选择界面;
选择角色/创建角色:依赖「角色网关(SelGate.exe)」——角色列表的加载、角色创建/删除操作,都由这个网关处理,它会从角色数据库调取数据;
点击“进入游戏”加载地图:依赖「游戏网关(RunGate.exe)」——最后一步连接这个网关,获取游戏地图、怪物、玩家位置等实时数据,顺利进入游戏世界。
简单说:客户端进游戏的路径是「DBServer(注册)→LoginGate(登录验证)→SelGate(角色操作)→RunGate(进入游戏)」,这四个程序必须按顺序启动,且IP设置一致。
二、传奇服务端核心网关拆解(IP设置+端口+作用)
下面逐个讲清楚每个网关的文件位置、IP在哪里改、默认端口是多少,以及和外网的关联,用实际例子说明(以常见的MirServer服务端为例):
1.账号数据库程序(DBServer.exe)
文件目录:MirServer\DBServer(服务端根目录下的DBServer文件夹)
核心作用:管理所有账号的注册、密码存储、权限分配(比如是否为管理员账号),是整个登录流程的“数据基础”;
IP设置位置:打开DBServer文件夹里的「DBServer.ini」,找到「ServerAddr」项,这里填的是服务端所在电脑的IP(局域网用192.168.X.X,外网用公网IP,比如220.181.X.X);
默认端口:「ServerPort」项默认是6000,这个端口负责账号数据传输,无需对外映射(仅服务端内部程序调用);
关键提醒:如果这里IP填错,客户端注册的账号会存不进数据库,导致“账号不存在”。
2.登录网关(LoginGate.exe)
文件目录:MirServer\LoginGate
核心作用:作为客户端登录的“第一道门”,接收客户端的登录请求,再去DBServer验证账号密码,验证通过后返回“允许登录”信号;
IP设置位置:打开LoginGate文件夹里的「LoginGate.ini」,两个关键项要改:
「ServerAddr」:填服务端IP(和DBServer.ini的IP一致,比如192.168.3.10),用于和DBServer通信;
「ListenAddr」:填服务端IP(同上),用于接收客户端的连接请求;
默认端口:「ListenPort」项默认是7000,这个端口是客户端登录时最先连接的端口,必须做外网映射;
例子:如果服务端公网IP是220.181.5.8,就在LoginGate.ini里把两个IP都改成220.181.5.8,端口保持7000,路由器映射7000端口到服务端电脑。
3.角色网关(SelGate.exe)
文件目录:MirServer\SelGate
核心作用:处理角色相关操作,比如加载已创建的角色列表、创建新角色、删除角色,同时把角色数据同步给游戏网关;
IP设置位置:打开SelGate文件夹里的「SelGate.ini」,「ServerAddr」和「ListenAddr」都填服务端IP(和前面一致);
默认端口:「ListenPort」项默认是7100,客户端选择角色时会连接这个端口,必须做外网映射;
常见问题:如果这里IP没改对,客户端能登录但看不到角色列表,或点“创建角色”没反应。
4.游戏网关(RunGate.exe)
文件目录:MirServer\RunGate
核心作用:客户端进入游戏后的“实时数据通道”,比如人物移动、打怪掉血、玩家交互等数据,都通过这个网关传输;
IP设置位置:打开RunGate文件夹里的「RunGate.ini」,「ServerAddr」和「ListenAddr」填服务端IP(统一);
默认端口:「ListenPort」项默认是7200,客户端进游戏时连接这个端口,必须做外网映射;
例子:假设服务端局域网IP是192.168.3.10,公网IP是220.181.5.8,就在RunGate.ini里把IP都设为220.181.5.8,端口7200,路由器映射7200端口。
5.游戏主控程序(M2Server.exe)
文件目录:MirServer\M2Server(根目录下,不是网关文件夹,但很关键)
核心作用:相当于“总指挥”,协调所有网关工作(比如告诉LoginGate该用哪个数据库,告诉RunGate当前地图的怪物分布),但不直接接收客户端连接;
IP设置位置:打开M2Server文件夹里的「!Setup.txt」,找到「ServerIP」项,填服务端IP(和所有网关一致);
无独立端口:不单独占用对外端口,只和服务端内部网关通信,无需映射。
三、外网设置关键:端口映射与DMZ主机(回应你的疑问)
你提到“映射7000/7100/7200可能导致小区上网问题”,这点很对,因为这些端口可能和其他网络服务冲突。下面讲正确的做法:
1.哪些端口必须映射(对应网关)
只有客户端直接连接的网关端口需要映射,服务端内部调用的端口不用,具体对应:
网关类型
需映射端口
对应程序
作用
登录网关
7000
LoginGate.exe
客户端登录验证
角色网关
7100
SelGate.exe
角色列表加载/创建
游戏网关
7200
RunGate.exe
进入游戏后的实时数据传输
2.为什么不建议只映射这三个端口?怎么用DMZ主机?
冲突原因:7000/7100/7200是很多网络设备的默认端口(比如部分路由器管理端口、监控设备端口),直接映射可能和小区其他设备抢端口,导致别人上不了网;
DMZ主机方案:在路由器里把服务端电脑设为“DMZ主机”(一般在“高级设置”里),这样所有外部请求都会直接指向这台电脑,不用单独映射端口,避免端口冲突;
补充:DMZ后需封哪些端口?设DMZ后,为了减少不必要的外部连接,可在服务端防火墙里只开放7000/7100/7200这三个端口,其他端口(比如远程桌面3389、文件共享445)全部关闭,既不影响游戏,又避免无关连接。
3.例子:外网IP设置与DMZ操作
假设你的情况:服务端在台式机(局域网IP192.168.3.10,公网IP220.181.5.8),路由器是TP-Link:
改服务端IP:把DBServer.ini、LoginGate.ini、SelGate.ini、RunGate.ini、!Setup.txt里的IP,全部改成公网IP220.181.5.8;
路由器设DMZ:登录路由器管理页(192.168.3.1)→“高级功能”→“DMZ主机”→勾选“启用”→填入服务端局域网IP192.168.3.10→保存;
服务端防火墙设置:在台式机防火墙里,只开放TCP和UDP协议的7000、7100、7200端口,其他端口禁止入站;
客户端登录:客户端登录器里填公网IP220.181.5.8,端口7000,就能正常注册、登录、进游戏。
四、各网关之间的依赖关系(错了就报错)
最后讲清楚网关之间的“协作规则”,避免你启动程序时顺序错了导致失败:
必须先启动「DBServer.exe」(账号数据库),再启动「LoginGate.exe」(登录网关要连数据库);
「SelGate.exe」(角色网关)要等LoginGate启动后再开,因为角色数据需要登录验证通过后才能调取;
「RunGate.exe」(游戏网关)要最后启动,且必须等M2Server(主控)启动完成,否则会提示“连接主控失败”;
关闭顺序相反:先关RunGate→SelGate→LoginGate→DBServer→M2Server,直接关主控会导致数据丢失。
如果客户端出现“登录超时”,先检查LoginGate是否启动、7000端口是否映射;出现“角色加载失败”,检查SelGate的IP和7100端口;出现“进游戏黑屏”,检查RunGate和7200端口——按这个逻辑排查,基本能解决80%的连接问题。
一、客户端从注册到进游戏的完整流程(对应服务端程序)
咱们先理清顺序,搞懂每个步骤依赖哪个服务端模块,后续设置才不会乱:
注册账号:依赖「账号数据库程序(如DBServer.exe)」——客户端在注册页面填信息时,数据会先传到这个程序,存入账号数据库(比如HeroDB);
输入账号密码登录:依赖「登录网关(LoginGate.exe)」——客户端点“登录”后,先连接这个网关验证账号密码是否正确,验证通过才会跳转到角色选择界面;
选择角色/创建角色:依赖「角色网关(SelGate.exe)」——角色列表的加载、角色创建/删除操作,都由这个网关处理,它会从角色数据库调取数据;
点击“进入游戏”加载地图:依赖「游戏网关(RunGate.exe)」——最后一步连接这个网关,获取游戏地图、怪物、玩家位置等实时数据,顺利进入游戏世界。
简单说:客户端进游戏的路径是「DBServer(注册)→LoginGate(登录验证)→SelGate(角色操作)→RunGate(进入游戏)」,这四个程序必须按顺序启动,且IP设置一致。
二、传奇服务端核心网关拆解(IP设置+端口+作用)
下面逐个讲清楚每个网关的文件位置、IP在哪里改、默认端口是多少,以及和外网的关联,用实际例子说明(以常见的MirServer服务端为例):
1.账号数据库程序(DBServer.exe)
文件目录:MirServer\DBServer(服务端根目录下的DBServer文件夹)
核心作用:管理所有账号的注册、密码存储、权限分配(比如是否为管理员账号),是整个登录流程的“数据基础”;
IP设置位置:打开DBServer文件夹里的「DBServer.ini」,找到「ServerAddr」项,这里填的是服务端所在电脑的IP(局域网用192.168.X.X,外网用公网IP,比如220.181.X.X);
默认端口:「ServerPort」项默认是6000,这个端口负责账号数据传输,无需对外映射(仅服务端内部程序调用);
关键提醒:如果这里IP填错,客户端注册的账号会存不进数据库,导致“账号不存在”。
2.登录网关(LoginGate.exe)
文件目录:MirServer\LoginGate
核心作用:作为客户端登录的“第一道门”,接收客户端的登录请求,再去DBServer验证账号密码,验证通过后返回“允许登录”信号;
IP设置位置:打开LoginGate文件夹里的「LoginGate.ini」,两个关键项要改:
「ServerAddr」:填服务端IP(和DBServer.ini的IP一致,比如192.168.3.10),用于和DBServer通信;
「ListenAddr」:填服务端IP(同上),用于接收客户端的连接请求;
默认端口:「ListenPort」项默认是7000,这个端口是客户端登录时最先连接的端口,必须做外网映射;
例子:如果服务端公网IP是220.181.5.8,就在LoginGate.ini里把两个IP都改成220.181.5.8,端口保持7000,路由器映射7000端口到服务端电脑。
3.角色网关(SelGate.exe)
文件目录:MirServer\SelGate
核心作用:处理角色相关操作,比如加载已创建的角色列表、创建新角色、删除角色,同时把角色数据同步给游戏网关;
IP设置位置:打开SelGate文件夹里的「SelGate.ini」,「ServerAddr」和「ListenAddr」都填服务端IP(和前面一致);
默认端口:「ListenPort」项默认是7100,客户端选择角色时会连接这个端口,必须做外网映射;
常见问题:如果这里IP没改对,客户端能登录但看不到角色列表,或点“创建角色”没反应。
4.游戏网关(RunGate.exe)
文件目录:MirServer\RunGate
核心作用:客户端进入游戏后的“实时数据通道”,比如人物移动、打怪掉血、玩家交互等数据,都通过这个网关传输;
IP设置位置:打开RunGate文件夹里的「RunGate.ini」,「ServerAddr」和「ListenAddr」填服务端IP(统一);
默认端口:「ListenPort」项默认是7200,客户端进游戏时连接这个端口,必须做外网映射;
例子:假设服务端局域网IP是192.168.3.10,公网IP是220.181.5.8,就在RunGate.ini里把IP都设为220.181.5.8,端口7200,路由器映射7200端口。
5.游戏主控程序(M2Server.exe)
文件目录:MirServer\M2Server(根目录下,不是网关文件夹,但很关键)
核心作用:相当于“总指挥”,协调所有网关工作(比如告诉LoginGate该用哪个数据库,告诉RunGate当前地图的怪物分布),但不直接接收客户端连接;
IP设置位置:打开M2Server文件夹里的「!Setup.txt」,找到「ServerIP」项,填服务端IP(和所有网关一致);
无独立端口:不单独占用对外端口,只和服务端内部网关通信,无需映射。
三、外网设置关键:端口映射与DMZ主机(回应你的疑问)
你提到“映射7000/7100/7200可能导致小区上网问题”,这点很对,因为这些端口可能和其他网络服务冲突。下面讲正确的做法:
1.哪些端口必须映射(对应网关)
只有客户端直接连接的网关端口需要映射,服务端内部调用的端口不用,具体对应:
网关类型
需映射端口
对应程序
作用
登录网关
7000
LoginGate.exe
客户端登录验证
角色网关
7100
SelGate.exe
角色列表加载/创建
游戏网关
7200
RunGate.exe
进入游戏后的实时数据传输
2.为什么不建议只映射这三个端口?怎么用DMZ主机?
冲突原因:7000/7100/7200是很多网络设备的默认端口(比如部分路由器管理端口、监控设备端口),直接映射可能和小区其他设备抢端口,导致别人上不了网;
DMZ主机方案:在路由器里把服务端电脑设为“DMZ主机”(一般在“高级设置”里),这样所有外部请求都会直接指向这台电脑,不用单独映射端口,避免端口冲突;
补充:DMZ后需封哪些端口?设DMZ后,为了减少不必要的外部连接,可在服务端防火墙里只开放7000/7100/7200这三个端口,其他端口(比如远程桌面3389、文件共享445)全部关闭,既不影响游戏,又避免无关连接。
3.例子:外网IP设置与DMZ操作
假设你的情况:服务端在台式机(局域网IP192.168.3.10,公网IP220.181.5.8),路由器是TP-Link:
改服务端IP:把DBServer.ini、LoginGate.ini、SelGate.ini、RunGate.ini、!Setup.txt里的IP,全部改成公网IP220.181.5.8;
路由器设DMZ:登录路由器管理页(192.168.3.1)→“高级功能”→“DMZ主机”→勾选“启用”→填入服务端局域网IP192.168.3.10→保存;
服务端防火墙设置:在台式机防火墙里,只开放TCP和UDP协议的7000、7100、7200端口,其他端口禁止入站;
客户端登录:客户端登录器里填公网IP220.181.5.8,端口7000,就能正常注册、登录、进游戏。
四、各网关之间的依赖关系(错了就报错)
最后讲清楚网关之间的“协作规则”,避免你启动程序时顺序错了导致失败:
必须先启动「DBServer.exe」(账号数据库),再启动「LoginGate.exe」(登录网关要连数据库);
「SelGate.exe」(角色网关)要等LoginGate启动后再开,因为角色数据需要登录验证通过后才能调取;
「RunGate.exe」(游戏网关)要最后启动,且必须等M2Server(主控)启动完成,否则会提示“连接主控失败”;
关闭顺序相反:先关RunGate→SelGate→LoginGate→DBServer→M2Server,直接关主控会导致数据丢失。
如果客户端出现“登录超时”,先检查LoginGate是否启动、7000端口是否映射;出现“角色加载失败”,检查SelGate的IP和7100端口;出现“进游戏黑屏”,检查RunGate和7200端口——按这个逻辑排查,基本能解决80%的连接问题。

