先说明一点,下面讲的这套东西,本质上是在一台机器上把传奇的服务端程序、数据库和客户端串起来,让它们互相通信,从而在没有联网服务器的情况下自己跑起一个游戏环境。整个过程不涉及任何对外服务,全部在本机完成。
一、开工之前要准备什么
架设之前,几样东西必须先到位,缺一样都跑不起来。
第一是服务端程序。传奇服务端俗称"引擎",主流有GOM、GEE、V8、GXX、HeroM2这几种。它们在脚本语法、数据库结构、插件支持上有差别。新手建议从GOM或GEE入手,资料多、能搜到的教程也全。拿到手的一般是压缩包,里面会包含服务端主程序、脚本目录、配置文件、数据库文件这几块,有的还附带了地图、登录器配置工具。
第二是客户端。传奇客户端版本和引擎要能对上,客户端过新或过旧都可能出现进不了游戏、地图黑屏、装备显示异常的问题。服务端压缩包里通常会说明适配的客户端版本号,照这个版本去找客户端最省事。
第三是数据库。传奇服务端依赖数据库存储账号、角色、装备、怪物掉落这些数据。早年用DBC2000,现在多数用MySQL。选哪个取决于你拿到的引擎设计要求,压缩包说明里会写清楚。
第四是运行环境。Windows系统下大部分引擎直接双击就能跑,但要注意部分老引擎对系统位数、.NET框架版本、VC运行库有要求。装好对应的运行库能省掉一大半启动报错。
二、部署服务端
准备工作做完,开始动手。
把服务端压缩包解压到一个路径里,路径尽量短、不要含中文和空格,比如放在D盘的mirsrv文件夹下。中文路径是很多人第一步就翻车的地方,装完启动失败,排查半天才发现是路径问题。
解压完先看目录结构。通常会看到Mir200、DBServer、LoginGate、RunGate、LogServer这几个文件夹,它们分别对应游戏逻辑、数据库服务、登录网关、游戏网关和日志服务。这些是要按顺序启动的。
如果引擎要求配置数据库,这一步不能跳过。以MySQL为例,要先装好MySQL服务,建一个空库,然后用引擎自带的数据库还原工具,把服务端目录里的数据库备份文件导进去。导入完成后,还要去引擎的配置文件里填上数据库地址、端口、账号、密码,让服务端知道去哪连。填错了后面启动时会直接报连接失败。
数据库搞定后,去配置表里把服务器的IP和端口设置成127.0.0.1和引擎默认端口。单机架设就是用本机回环地址,不需要改成公网IP。
三、启动顺序和常见报错
服务端的启动是有顺序的,顺序错了会互相连不上。
正确顺序是先启动数据库服务,再启动日志服务,然后是登录网关和游戏网关,最后启动主程序。每一次启动后都要观察控制台输出,看有没有报错。主程序启动成功的话,控制台会刷出一批加载信息,最后停在一个等待连接的状态。
常见的启动问题有几类。端口被占用是最常见的,表现为某个服务启动后立刻退出。排查办法是看引擎配置里用的端口,然后用系统自带的网络状态查看工具看这个端口有没有被别的程序占着,占用了就改配置换个端口,或者关掉占用端口的程序。
数据库连不上也很常见,一般是配置里的账号密码写错,或者数据库服务压根没启动。
还有一类是脚本报错。控制台会打印出具体是哪一行脚本有问题,按行号去改就行。这类报错如果太多,说明服务端和引擎版本不匹配,建议换个压缩包重来。
四、配置客户端和登录器
服务端跑起来只是第一步,客户端得能连上它。
先去客户端目录里找到服务器列表配置文件。这个文件决定了客户端启动后能看到哪个服务器。把里面的IP改成127.0.0.1,端口改成你在服务端配置的那个,服务器名字随便起一个自己能认出来的。
然后处理登录器。登录器是客户端和服务端之间的桥,它会读取这个列表文件,把玩家引导到对应的服务器。很多服务端压缩包里自带登录器配置工具,用工具生成一个登录器,生成的登录器要放到客户端目录下,双击它启动游戏。
有的引擎还要求客户端和登录器做版本匹配,登录器版本不对会直接被服务端拒绝连接,表现是登录时提示版本不一致或者一直卡在连接中。
五、进入游戏后要验证什么
登录器启动、输入账号密码、创建角色、进入游戏,这一套走通,基本就算架设成功了。
进去之后建议做几项检查。走一圈地图,确认地图能正常加载,没有黑屏或卡住;找几个怪物打一下,确认怪物刷新和掉落正常;打开背包和装备栏,确认物品能正常显示和使用;上下线一次,确认角色数据能正常存进数据库。
这几项里任何一项出问题,都要回到对应环节排查。地图异常多半是客户端地图文件缺失;怪物不刷新往往是脚本或数据库没配好;数据存不住则是数据库写入配置有问题。
六、几个新手容易踩的坑
路径带中文或空格,前面提过,最容易忽略。
服务端和客户端版本对不上,这个也高频。引擎版本、客户端版本、登录器版本三者要能配套,任何一个不匹配都可能出问题。拿到压缩包后先看说明文档里要求的版本,再去找对应的客户端。
只启动部分服务。有人图省事只启动主程序,结果登录网关没开,客户端连不上还以为是网络问题。所有该启动的服务一个都不能少。
杀毒软件误杀。部分引擎的可执行文件会被杀毒软件当成可疑程序拦截,导致启动后进程消失。遇到这种情况把服务端目录加入信任列表。
端口冲突。一台机器上如果之前跑过别的服务,端口很可能被占。改配置换端口是最直接的解决方式。
防火墙拦截。虽然是本机通信,但部分系统下防火墙仍会拦本机端口。可以临时关掉防火墙测试,确认是这个原因后再加白名单。
七、把配置固定下来
搭好一次之后,把整个服务端的配置文件、数据库备份、客户端配置各存一份备份。以后想换机器或者重装系统,直接复制过去,稍微改一下路径就能用,不用重新摸一遍流程。
另外,配置里的端口、路径这些参数,自己记一份清单。下次启动报错时,对照清单逐项检查,比漫无目的翻配置快得多。
单机版传奇架设完整教程:从零搭建本地游戏服务端详细步骤
来源:
作者:
点击:

