传奇外网与服务端IP设置 网关关系+端口映射+实例详解

来源: 作者: 点击:
首先明确核心前提:你已会开外网,本文重点拆解「服务端各网关之间的关系」「客户端从注册到进入游戏的完整流程及对应服务端文件目录」「各网关IP/端口详细设置」「外网端口映射(重点规避7000、7100、7200端口,优先DMZ主机)」,全程无冗余,所有内容均为实操干货,结合实例说明,彻底解决你找不到精准答案的问题。
先厘清核心逻辑:传奇客户端从注册账号到进入游戏,需依次经过「注册网关→登录网关→选择角色网关→游戏网关」,各网关各司其职、相互联动,且所有网关的IP设置需统一匹配外网IP(或内网IP+端口映射),网关之间通过固定端口通信,无需额外设置联动参数,只需确保各网关IP/端口不冲突、配置一致,即可正常运行。
先明确2个基础概念(避免混淆):1. 外网IP:由网络运营商提供,是玩家外部访问你服务端的唯一地址(可通过百度搜索“IP”获取);2. 内网IP:服务端电脑在局域网内的地址(如192.168.1.100,可通过“cmd→ipconfig”查看);3. DMZ主机:将服务端电脑设置为DMZ主机后,路由器会将所有外部访问请求直接转发至该电脑,无需单独映射多个端口,可避免因映射7000、7100、7200等常用端口导致的小区/网吧网络异常,这是外网设置的最优方案。
一、客户端从注册到进入游戏的完整流程,及对应服务端文件目录、程序(核心重点)
全程流程:注册账号→登录账号(验证)→选择角色→进入游戏地图,每个步骤对应服务端特定程序、文件目录,且每个环节都有对应的网关参与,具体拆解如下,结合常见服务端(HERO/GOM/GEE通用)目录为例,所有目录均为服务端根目录(如D:\MirServer)下的默认目录,无需额外修改路径:
1. 第一步:注册账号(对应服务端「注册网关/注册程序」)
对应服务端文件目录:D:\MirServer\Register(注册程序目录)、D:\MirServer\LoginSrv(登录验证服务器,关联注册信息)
对应程序:Register.exe(注册网关主程序)、LoginSrv.exe(登录验证服务器程序,负责校验注册账号的合法性,与注册网关联动)
核心作用:玩家通过客户端注册界面提交账号密码,注册信息先发送至注册网关(Register.exe),由注册网关将信息同步至LoginSrv.exe,再由LoginSrv.exe写入服务端数据库(DBServer),完成账号注册,此步骤无需玩家手动操作,客户端注册界面会自动连接对应程序。
2. 第二步:登录账号(对应服务端「登录网关」)
对应服务端文件目录:D:\MirServer\LoginGate(登录网关目录)、D:\MirServer\LoginSrv(登录验证服务器目录,与第一步共用)
对应程序:LoginGate.exe(登录网关主程序)、LoginSrv.exe(登录验证服务器主程序)
核心作用:玩家输入账号密码后,客户端先连接LoginGate.exe(登录网关),登录网关接收账号密码信息后,转发至LoginSrv.exe(登录验证服务器),由LoginSrv.exe校验账号密码是否正确、账号是否被封禁,校验通过后,LoginSrv.exe将服务器列表(如游戏区服信息)返回给登录网关,再由登录网关转发至客户端,完成登录验证,进入角色选择界面。
补充:LoginGate(登录网关)与LoginSrv(登录验证服务器)是核心联动关系,LoginGate负责接收客户端连接和数据转发,LoginSrv负责核心的账号验证和服务器列表下发,二者必须同时启动,且IP/端口配置一致,否则无法完成登录验证,LoginSrv启动后会自动与LoginGate建立连接,无需手动联动配置。
3. 第三步:选择角色(对应服务端「角色选择网关」)
对应服务端文件目录:D:\MirServer\SelGate(角色选择网关目录)、D:\MirServer\DBServer(数据库服务器目录)
对应程序:SelGate.exe(角色选择网关主程序)、DBServer.exe(数据库服务器主程序)
核心作用:登录验证通过后,客户端进入角色选择界面,此时客户端连接SelGate.exe(角色选择网关),角色选择网关向DBServer.exe(数据库服务器)请求该账号下的角色信息(如角色等级、装备、坐标等),数据库服务器返回角色信息后,角色选择网关将信息转发至客户端,供玩家选择角色;玩家点击“进入游戏”后,角色选择网关将角色信息同步至游戏网关,为进入游戏做准备。
4. 第四步:进入游戏(对应服务端「游戏网关+主控制器」)
对应服务端文件目录:D:\MirServer\RunGate(游戏网关目录)、D:\MirServer\M2Server(主控制器目录)、D:\MirServer\DBServer(数据库服务器目录,与第三步共用)
对应程序:RunGate.exe(游戏网关主程序)、M2Server.exe(主控制器主程序)、DBServer.exe(数据库服务器主程序)
核心作用:玩家选择角色并点击“进入游戏”后,客户端与RunGate.exe(游戏网关)建立连接,游戏网关接收角色进入请求后,将请求转发至M2Server.exe(主控制器),主控制器负责分配游戏地图、加载怪物、NPC等游戏数据,同时与DBServer.exe联动,实时同步玩家游戏操作(如移动、打怪、捡取装备),确保玩家正常进行游戏,此步骤是玩家进入游戏后的核心联动环节,所有游戏内操作均需通过游戏网关与主控制器、数据库服务器联动完成。
总结流程联动关系:注册网关(Register)→登录验证服务器(LoginSrv)→登录网关(LoginGate)→角色选择网关(SelGate)→数据库服务器(DBServer)→游戏网关(RunGate)→主控制器(M2Server),各网关/程序依次联动,环环相扣,缺少任何一个环节,玩家都无法正常完成从注册到进入游戏的操作,其中LoginSrv和DBServer是核心联动节点,分别负责账号验证和数据存储,与多个网关联动。
二、服务端各网关详细IP设置(外网,重点,含目录、配置文件、IP/端口解释)
所有网关的IP设置核心原则:外网环境下,所有网关的“外网IP”填写你的公网IP(如220.201.32.23),“内网IP”填写服务端电脑的内网IP(如192.168.1.100),“监听端口”设置为不冲突、不常用的端口(避开7000、7100、7200,避免导致小区/网吧网络异常),每个网关的配置文件均在对应网关目录下,无需修改目录路径,直接打开配置文件修改即可,以下分网关详细说明(HERO/GOM/GEE通用,实例IP/端口可直接套用):
实例基础参数(后文所有网关均沿用此参数,方便你直接修改使用):外网IP:220.201.32.23;内网IP:192.168.1.100;所有端口均避开7000、7100、7200,选用不常用端口,避免冲突。
1. 注册网关(Register):目录D:\MirServer\Register
对应配置文件:Register.ini(核心配置文件,用记事本打开即可修改)
核心配置项及解释(仅保留外网必需项,无冗余):
【Server】
IP=220.201.32.23 (外网IP,填写你的公网IP,玩家注册时客户端连接的IP)
Port=8000 (注册网关监听端口,选用8000,避开禁忌端口,可修改为其他不常用端口)
LocalIP=192.168.1.100 (内网IP,服务端电脑内网地址,确保与服务端其他程序内网IP一致)
LoginSrvIP=192.168.1.100 (关联登录验证服务器的内网IP,因为注册网关与LoginSrv在同一台服务器,填写内网IP即可,无需填写外网IP)
LoginSrvPort=8001 (关联登录验证服务器的端口,与LoginSrv.exe的监听端口一致,后文会说明)
解释:注册网关的IP主要用于接收客户端的注册请求,外网IP是玩家客户端能访问到的地址,LocalIP是服务端内部通信的地址,LoginSrvIP和LoginSrvPort用于与登录验证服务器联动,将注册信息同步至数据库。
2. 登录验证服务器(LoginSrv):目录D:\MirServer\LoginSrv
对应配置文件:LoginSrv.ini、!ServerAddr.txt(两个核心配置文件,均需修改)
(1)LoginSrv.ini核心配置项及解释:
【Listen】
IP=192.168.1.100 (内网IP,LoginSrv主要与服务端内部的登录网关、注册网关联动,填写内网IP即可,无需对外暴露)
Port=8001 (监听端口,与注册网关的LoginSrvPort一致,确保注册网关能正常联动)
【DB】
DBIP=192.168.1.100 (数据库服务器内网IP,与DBServer的IP一致,用于读取/写入账号数据)
DBPort=8002 (数据库服务器监听端口,与DBServer的端口一致,后文会说明)
(2)!ServerAddr.txt核心配置项及解释(此文件用于配置服务器列表,供客户端登录后选择区服):
1 220.201.32.23 8003 传奇一区 (格式:区服序号 外网IP 游戏网关端口 区服名称)
解释:LoginSrv的核心作用是验证账号和下发服务器列表,因此!ServerAddr.txt中的外网IP必须填写你的公网IP,端口填写游戏网关(RunGate)的监听端口,确保客户端选择区服后,能正常连接游戏网关;LoginSrv本身无需对外暴露外网IP,仅通过内网与其他网关联动,因此IP填写内网IP即可。
3. 登录网关(LoginGate):目录D:\MirServer\LoginGate
对应配置文件:LoginGate.ini(核心配置文件)
核心配置项及解释:
【Gate】
IP=220.201.32.23 (外网IP,玩家登录时客户端最先连接的IP,即你服务端的公网IP)
Port=8003 (登录网关监听端口,客户端登录时连接的端口,可修改为其他不常用端口)
LocalIP=192.168.1.100 (内网IP,服务端内部通信地址)
LoginSrvIP=192.168.1.100 (关联登录验证服务器的内网IP,与LoginSrv的IP一致)
LoginSrvPort=8001 (关联登录验证服务器的端口,与LoginSrv的Port一致,确保能正常转发账号密码信息)
解释:登录网关是客户端登录时的“第一入口”,因此IP必须填写外网IP,玩家客户端输入的服务器IP,本质就是登录网关的外网IP;登录网关不直接验证账号,仅负责接收客户端连接和转发数据,所有验证操作均由LoginSrv完成,二者通过内网IP和端口联动,效率更高且更稳定。
补充:LoginGate启动后,会通过定时器向LoginSrv发送“心跳”数据,验证LoginSrv是否正常运行,若LoginSrv未启动,LoginGate会提示“连接LoginSrv失败”,无法正常接收客户端登录请求,这也是二者联动的核心体现。
4. 角色选择网关(SelGate):目录D:\MirServer\SelGate
对应配置文件:SelGate.ini(核心配置文件)
核心配置项及解释:
【SelGate】
IP=220.201.32.23 (外网IP,客户端选择角色时连接的IP,与登录网关外网IP一致)
Port=8004 (角色选择网关监听端口,与其他网关端口不冲突即可)
LocalIP=192.168.1.100 (内网IP,服务端内部通信地址)
DBIP=192.168.1.100 (数据库服务器内网IP,与DBServer的IP一致,用于获取角色信息)
DBPort=8002 (数据库服务器端口,与DBServer的Port一致)
RunGateIP=192.168.1.100 (游戏网关内网IP,与RunGate的IP一致,用于同步角色进入游戏的请求)
RunGatePort=8005 (游戏网关端口,与RunGate的Port一致,后文会说明)
解释:角色选择网关的外网IP与登录网关一致,确保玩家从登录界面切换到角色选择界面时,无需重新连接其他IP;其核心联动对象是数据库服务器(获取角色信息)和游戏网关(同步进入游戏请求),均通过内网IP和端口联动,减少外网传输压力。
5. 游戏网关(RunGate):目录D:\MirServer\RunGate
对应配置文件:RunGate.ini(核心配置文件)
核心配置项及解释:
【RunGate】
IP=220.201.32.23 (外网IP,玩家进入游戏后,客户端持续连接的IP,与登录、角色选择网关外网IP一致)
Port=8005 (游戏网关监听端口,与!ServerAddr.txt中的端口一致,确保玩家选择区服后能正常连接)
LocalIP=192.168.1.100 (内网IP,服务端内部通信地址)
M2IP=192.168.1.100 (主控制器内网IP,与M2Server的IP一致,用于联动主控制器,加载游戏数据)
M2Port=8006 (主控制器监听端口,与M2Server的Port一致,后文会说明)
DBIP=192.168.1.100 (数据库服务器内网IP,与DBServer的IP一致,用于同步游戏操作数据)
DBPort=8002 (数据库服务器端口,与DBServer的Port一致)
解释:游戏网关是玩家进入游戏后的核心网关,负责传输所有游戏内操作数据(移动、打怪、交易等),因此必须填写外网IP,且端口与服务器列表中的端口一致;其联动对象是主控制器(M2Server)和数据库服务器,主控制器负责处理游戏逻辑,数据库服务器负责存储游戏数据,三者联动确保游戏正常运行。
6. 主控制器(M2Server):目录D:\MirServer\M2Server
对应配置文件:!Setup.txt、!Runaddr.txt(两个核心配置文件)
(1)!Setup.txt核心配置项及解释:
DBAddr=192.168.1.100 (数据库服务器内网IP,与DBServer的IP一致)
DBPort=8002 (数据库服务器端口,与DBServer的Port一致)
GateAddr=192.168.1.100 (游戏网关内网IP,与RunGate的IP一致)
GatePort=8005 (游戏网关端口,与RunGate的Port一致)
(2)!Runaddr.txt核心配置项及解释:
IP=192.168.1.100 (内网IP,主控制器主要与服务端内部程序联动,填写内网IP即可)
Port=8006 (主控制器监听端口,与RunGate的M2Port一致)
解释:主控制器是服务端的核心,负责统筹所有游戏逻辑,无需对外暴露外网IP,仅通过内网与游戏网关、数据库服务器联动,接收游戏网关传输的玩家操作,处理后同步至数据库,确保游戏数据实时更新。
7. 数据库服务器(DBServer):目录D:\MirServer\DBServer
对应配置文件:DBServer.ini、!AddrTable.txt(两个核心配置文件)
(1)DBServer.ini核心配置项及解释:
【DBServer】
IP=192.168.1.100 (内网IP,数据库服务器仅与服务端内部程序联动,填写内网IP即可,无需对外暴露)
Port=8002 (数据库服务器监听端口,与所有关联程序的DBPort一致)
(2)!AddrTable.txt核心配置项及解释(用于设置允许访问数据库的服务端程序IP):
192.168.1.100 (添加服务端内网IP,允许LoginSrv、SelGate、RunGate、M2Server访问数据库)
解释:数据库服务器是所有数据(账号、角色、游戏操作)的存储核心,仅允许服务端内部程序访问,因此仅填写内网IP,无需对外暴露外网IP,也无需做端口映射,避免数据泄露或被外部干扰。
三、各网关之间的核心关系(重点,彻底厘清联动逻辑)
很多人混淆各网关的作用,其实核心关系很简单,用通俗的话总结,结合流程联动,让你一眼看懂:
1. 注册网关(Register)→ 登录验证服务器(LoginSrv):注册网关是“账号注册入口”,负责接收玩家注册信息,然后将信息交给LoginSrv,由LoginSrv写入数据库,二者是“提交-处理”关系,Register依赖LoginSrv完成注册。
2. 登录网关(LoginGate)→ 登录验证服务器(LoginSrv):LoginGate是“登录入口”,负责接收玩家登录请求和账号密码,然后转发给LoginSrv进行验证,验证通过后,LoginSrv将服务器列表返回给LoginGate,再由LoginGate转发给客户端,二者是“转发-验证”关系,LoginGate依赖LoginSrv完成登录验证,LoginSrv通过“心跳”数据确认LoginGate正常运行。
3. 角色选择网关(SelGate)→ 数据库服务器(DBServer):SelGate是“角色管理入口”,玩家选择角色时,SelGate向DBServer请求角色信息,DBServer返回信息后,SelGate展示给玩家,二者是“请求-反馈”关系,SelGate依赖DBServer获取角色数据。
4. 角色选择网关(SelGate)→ 游戏网关(RunGate):玩家点击“进入游戏”后,SelGate将角色信息和进入请求同步给RunGate,RunGate接收后,准备接收玩家后续的游戏操作,二者是“同步-衔接”关系,SelGate是RunGate的“前置入口”。
5. 游戏网关(RunGate)→ 主控制器(M2Server):RunGate接收玩家游戏操作(如打怪、移动),转发给M2Server,M2Server处理游戏逻辑(如计算伤害、刷新怪物),然后将处理结果返回给RunGate,再由RunGate转发给客户端,二者是“传输-处理”关系,RunGate依赖M2Server处理游戏逻辑。
6. 所有网关/程序 → 数据库服务器(DBServer):DBServer是“数据核心”,LoginSrv(写入/读取账号数据)、SelGate(读取角色数据)、RunGate(写入/读取游戏操作数据)、M2Server(读取/更新游戏数据),均需与DBServer联动,所有数据都存储在DBServer中,DBServer是所有程序的“数据支撑”。
核心总结:所有网关都有明确的“分工”,且均围绕LoginSrv(账号验证)和DBServer(数据存储)联动,LoginGate、SelGate、RunGate负责对外接收客户端连接(填写外网IP),LoginSrv、M2Server、DBServer负责内部处理和数据存储(填写内网IP),无需对外暴露,这样的架构既保证了玩家能正常访问,也确保了服务端内部数据的稳定。
四、外网端口映射(重点:规避禁忌端口,优先DMZ主机,附实例)
你明确说明“会开外网”,且提醒“映射7000、7100、7200端口会导致小区/网吧网络异常”,因此重点说明:外网端口映射无需映射多个端口,优先设置DMZ主机,将服务端电脑设为DMZ主机后,所有外部访问请求会直接转发至该电脑,无需单独映射端口,彻底避免端口冲突和网络异常,以下是详细操作(结合实例,路由器通用):
实例前提:服务端内网IP:192.168.1.100;外网IP:220.201.32.23;路由器管理地址:192.168.1.1(大部分路由器默认地址,可在路由器背面查看);路由器账号密码:admin(默认,若已修改则用修改后的)。
1. 优先方案:设置DMZ主机(推荐,操作简单,无端口冲突)
操作步骤:
第一步:打开浏览器,输入路由器管理地址(192.168.1.1),输入账号密码登录路由器管理后台;
第二步:在后台左侧菜单中,找到“转发规则”→“DMZ主机”(不同路由器名称略有差异,如“DMZ设置”“虚拟主机-DMZ”);
第三步:勾选“启用DMZ主机”,在“DMZ主机IP地址”中填写服务端电脑的内网IP(192.168.1.100);
第四步:找到“安全设置”→“端口过滤”,添加端口过滤规则,封禁不必要的端口(如7000、7100、7200,避免被外部访问,导致网络异常),过滤规则设置为“禁止所有外部IP访问这些端口”;
第五步:保存设置,重启路由器,DMZ主机设置完成,此时玩家客户端输入外网IP(220.201.32.23),即可正常连接服务端所有网关,无需单独映射任何端口。
补充说明:设置DMZ主机后,服务端电脑会直接暴露在公网中,因此需封禁不必要的端口(如7000、7100、7200),仅保留服务端网关使用的端口(如8000-8006),避免外部无关访问,同时无需担心端口冲突导致的小区/网吧网络异常,这是外网设置的最优方案,也是你重点需要的操作。
2. 备用方案:若无法设置DMZ主机,单独映射端口(避开禁忌端口,附实例)
若路由器不支持DMZ主机,可单独映射服务端外网所需的端口(仅映射对外暴露的网关端口,内部联动端口无需映射),具体映射端口如下(结合前文实例端口):
需要映射的端口(仅对外暴露的网关端口,共4个,避开禁忌端口):
(1)注册网关端口:8000(对应外网IP:220.201.32.23)
(2)登录网关端口:8003(对应外网IP:220.201.32.23)
(3)角色选择网关端口:8004(对应外网IP:220.201.32.23)
(4)游戏网关端口:8005(对应外网IP:220.201.32.23)
映射操作步骤(路由器通用):
第一步:登录路由器管理后台(192.168.1.1),找到“转发规则”→“虚拟服务器”;
第二步:点击“添加新条目”,依次添加上述4个端口,每个端口单独添加一条规则,规则设置如下:
服务端口号:8000(对应注册网关端口);内部端口号:8000(与服务端口号一致);IP地址:192.168.1.100(服务端内网IP);协议:全部(或TCP/UDP,建议选全部);状态:启用;
第三步:重复第二步,依次添加8003、8004、8005端口,所有规则添加完成后,保存设置;
第四步:进入“安全设置”→“端口过滤”,封禁7000、7100、7200端口,避免导致网络异常;
第五步:重启路由器,端口映射完成,玩家客户端输入外网IP(220.201.32.23),即可正常连接服务端。
重点提醒:无论哪种方案,都必须封禁7000、7100、7200端口,这三个端口是常用公共端口,映射后容易导致小区/网吧网络冲突,出现QQ无法登录、网页无法打开等问题,优先选择DMZ主机方案,操作更简单,且无端口冲突风险。
五、完整实例(所有配置统一,可直接复制修改使用)
结合前文所有配置,整理一套完整实例,你只需将实例中的外网IP、内网IP替换为你自己的,即可直接使用,无需修改其他参数(避开禁忌端口,适配外网,各网关联动正常):
实例参数:外网IP:220.201.32.23;内网IP:192.168.1.100;
1. 注册网关(Register.ini):
【Server】
IP=220.201.32.23
Port=8000
LocalIP=192.168.1.100
LoginSrvIP=192.168.1.100
LoginSrvPort=8001
2. 登录验证服务器(LoginSrv.ini):
【Listen】
IP=192.168.1.100
Port=8001
【DB】
DBIP=192.168.1.100
DBPort=8002
!ServerAddr.txt:1 220.201.32.23 8003 传奇一区
3. 登录网关(LoginGate.ini):
【Gate】
IP=220.201.32.23
Port=8003
LocalIP=192.168.1.100
LoginSrvIP=192.168.1.100
LoginSrvPort=8001
4. 角色选择网关(SelGate.ini):
【SelGate】
IP=220.201.32.23
Port=8004
LocalIP=192.168.1.100
DBIP=192.168.1.100
DBPort=8002
RunGateIP=192.168.1.100
RunGatePort=8005
5. 游戏网关(RunGate.ini):
【RunGate】
IP=220.201.32.23
Port=8005
LocalIP=192.168.1.100
M2IP=192.168.1.100
M2Port=8006
DBIP=192.168.1.100
DBPort=8002
6. 主控制器(!Setup.txt):
DBAddr=192.168.1.100
DBPort=8002
GateAddr=192.168.1.100
GatePort=8005
!Runaddr.txt:IP=192.168.1.100,Port=8006
7. 数据库服务器(DBServer.ini):
【DBServer】
IP=192.168.1.100
Port=8002
!AddrTable.txt:192.168.1.100
8. 外网设置(DMZ主机):
启用DMZ主机,IP填写192.168.1.100,封禁7000、7100、7200端口,重启路由器即可。
六、常见问题补充(针对性解决你可能遇到的问题,避免走弯路)
1. 各网关启动后,提示“连接失败”(如LoginGate提示连接LoginSrv失败):检查对应联动的IP和端口是否一致,如LoginGate的LoginSrvIP和LoginSrvPort,是否与LoginSrv的IP和Port一致,确保所有内网IP均为服务端电脑的内网IP,无填写错误。
2. 玩家能注册、登录,但无法进入角色选择界面:检查SelGate的IP/端口设置,确保外网IP填写正确,且SelGate的DBIP和DBPort与DBServer一致,同时确认DBServer已正常启动。
3. 玩家能进入角色选择界面,但无法进入游戏:检查RunGate的IP/端口设置,确保!ServerAddr.txt中的端口与RunGate的Port一致,且RunGate的M2IP和M2Port与M2Server一致,M2Server已正常启动。
4. 设置DMZ主机后,玩家仍无法访问:检查路由器是否重启,DMZ主机IP是否填写正确,同时检查服务端电脑的防火墙,关闭防火墙或允许服务端所有网关程序通过防火墙(避免防火墙拦截外部访问)。
5. 单独映射端口后,出现网络异常:确认未映射7000、7100、7200端口,且仅映射了对外暴露的4个网关端口(8000、8003、8004、8005),若仍有异常,切换为DMZ主机方案。
总结:传奇外网与服务端IP设置的核心,是厘清各网关的分工和联动关系,对外暴露的网关(Register、LoginGate、SelGate、RunGate)填写外网IP,内部处理程序(LoginSrv、M2Server、DBServer)填写内网IP,外网优先设置DMZ主机并封禁禁忌端口,避免网络异常,按本文实例配置,即可确保玩家从注册到进入游戏全程正常,且各网关联动稳定,彻底解决你找不到精准答案的困扰。