传奇手游架设教程:从服务器选型到客户端连通的完整实操步骤

来源: 作者: 点击:
传奇手游架设的核心流程可以拆成四步:选服务器、装环境、传服务端、改客户端IP。看起来简单,但每一步都有卡人的地方。下面按实际操作顺序走一遍,用的是CentOS 7.6加宝塔面板的方案,这套组合教程最多、踩坑最少,适合新手起步。

## 服务器选型:2核4G起步,按量付费试水

个人测试或者开给十几个朋友玩,选国内云服务器就行。配置上,2核CPU加4G内存是底线,游戏服务端本身跑起来大概占2.5G内存,留点余量才稳。硬盘50G系统盘够用,带宽看人数,十来个人玩5M够,人多就往上加。

关键一点:别一上来就买一年。先按月付或者按量付费,把环境跑通了再考虑续费。很多人卡在装环境阶段就放弃了,年付的钱等于打水漂。

操作系统选CentOS 7.6。这个版本虽然官方停止维护了,但教程资源和社区支持最全,跟着教程走基本不会遇到系统层面的兼容问题。

## 宝塔面板安装与依赖软件配置

SSH连上服务器后,装宝塔面板。命令一行:

```
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
```

跑完之后终端会显示面板地址、用户名和密码,立刻复制保存。浏览器打开那个带安全入口的地址,登录进去。

宝塔会弹一个环境安装推荐窗口,这里版本要卡死:Nginx 1.18、MySQL 5.6、PHP 5.6、phpMyAdmin 4.4。MySQL别选5.7或8.0,传奇服务端的代码大多写死在老版本上,版本太新容易出兼容问题。PHP同理,5.6是很多传奇后台接口的基准版本。

这几个软件装起来要等十几分钟,取决于服务器性能。

## 上传源码与数据库导入

服务端源码一般是个压缩包。通过宝塔的文件管理上传到服务器,解压到根目录或者/www/wwwroot/下面。解压完记得给目录权限:

```
chmod -R 777 /data/
chmod -R 777 /www/wwwroot/game
```

数据库方面,宝塔的数据库菜单里把MySQL的root密码改一下,记住就行。然后通过命令导入数据库:

```
cd /data
./sk
```

如果源码里没有这个脚本,就用phpMyAdmin手动导入SQL文件。

## 修改服务端IP

这是最容易出错的一步。服务端配置文件里有好几个地方要改,把IP换成你服务器的公网IP。

常见的需要改的文件包括:
- `/data/sbin/resource/config/gateway_cfg.lua`
- `/data/sbin/resource/config/session_cfg.lua`
- `/www/wwwroot/game/api/ym_api.php`

用宝塔的文件编辑器打开,Ctrl+F批量替换IP。不同版本的服务端文件路径可能不一样,以源码里的说明文档为准。

改完之后启动游戏服务。启动命令通常是一串脚本,按顺序执行:

```
bash db_service.sh start
bash session_service.sh start
bash gamegate_service.sh start
bash world_service.sh start
bash nameserver_service.sh start
```

跑完之后用`ps -ef |grep WorldFrame_d`检查一下,如果显示两行(一行是进程本身,一行是grep命令),说明WorldFrame进程起来了。只有一行的话,就是启动失败,回去看报错信息。

## 客户端IP修改与签名

服务端跑起来了,客户端还得改。安卓客户端用压缩软件打开APK文件,找到里面的配置文件,通常是`YMConfig.lua`这种名字,把它拖出来改IP,再拖回去替换。不同引擎的文件路径不一样,幽冥引擎可能在`assets/kuniu/src/`下面,战神引擎可能在别的目录。

改完的APK需要重新签名才能安装。用ApktoolBox这类签名工具,签完装到手机或者模拟器上。苹果客户端更麻烦,得改ipa文件然后重新签名,还需要在手机设置里信任开发者证书。

## 外网访问的两个前提

想让外面的人连进来,光服务端跑起来不够。第一,服务器安全组或者防火墙要把游戏端口放行,常见的包括80、88、8080、8099这些。最省事的做法是宝塔安全组里开放1到65535全端口,测试阶段这么干没问题,正式跑的时候再收紧。

第二,服务端配置文件里的IP必须改成公网IP。如果服务端里写的是127.0.0.1或者内网IP,外面的人连不上。同理,客户端APK里填的IP也得是公网IP。

## 常见报错和排查方向

MongoDB起不来是最常见的问题。战神引擎类的服务端依赖MongoDB存账号数据。如果装的时候路径带中文或空格,或者用subst映射的虚拟盘符,服务注册会失败。解决办法是用真实物理路径,安装前先用命令行前台启动一下,看报错信息。

区服列表空白一般是IP没改对,或者Web服务器的端口没通。检查`gateway_cfg.lua`和`sessions_cfg.lua`里的IP,确认Web服务能通过浏览器访问。

WorldFrame进程只有一行,说明服务端没真正起来。看它的日志文件,通常是数据库连接失败或者端口被占用。

GM后台进不去的话,检查PHP版本和网站目录的权限。GM后台一般依赖PHP运行,PHP 5.6没装或者目录权限不是777,都会导致500错误。

架设这件事,真正难的不是技术本身,是耐心。一个配置项写错,可能折腾半天才找到。建议每一步做完都验证一下,别一口气全跑完再排查,那样报错信息会混在一起,定位起来更费劲。