传奇手游架设第一步是把运行环境装对。服务器建议用 CentOS 7 或 Ubuntu 20.04,配置至少 2 核 4G,带宽 5M 以上,开区人多再加。客户端用 Windows 电脑即可,方便解包、改资源、打 APK。先装 Xshell 和 Xftp,用来连服务器和传文件。数据库一般走 MySQL 5.7,别用 8.0,很多老端不兼容。PHP 环境看具体版本,有的用宝塔,有的直接用 LNMP,新手用宝塔省事,但别装一堆用不上的插件。
拿到传奇手游服务端后,先看清是 Hero、GOM、GEE、3K 还是其他引擎,不同引擎文件结构不一样。常见目录有 DB、Mir200、LoginGate、GameGate、LogServer、Web 等。先把服务端传到 /home 或 /www/server 下,给 Mir200 里的主程序执行权限:chmod +x 主程序名。MySQL 新建库,比如 mir3、db、game,把服务端里的 SQL 文件导进去。注意字符集,老端常用 latin1 或 utf8,导之前看 sql 文件头部,别乱改,不然中文乱码、物品名全是问号。
改 IP 是架设里最容易出问题的地方。服务端里搜 127.0.0.1、内网 IP、原发布者 IP,全部替换成你服务器公网 IP。重点文件一般在:
• Mir200/!Setup.txt
• Mir200/Envir/ 下的配置文件
- LoginGate/Config
• GameGate/Config
• 数据库里的 serverinfo、gameserver、ip 表
• 网站 config.php 或 database.php
改完用 grep -r "旧IP" /home/mirserver 再扫一遍,漏一个就可能卡登录、黑屏、进游戏掉线。
数据库账号密码要对上。服务端配置文件里写的数据库名、用户名、密码,必须和 MySQL 里建好的一致。很多端默认 root/123456,生产环境一定要改密码,不然被扫到就删库。宝塔里建数据库时,权限选本地或指定 IP,别开所有人访问。
启动顺序不能乱。一般是:
1. 启动 LogServer 日志服务
2. 启动 LoginGate 登录网关
3. 启动 GameGate 游戏网关
4. 启动 DB 数据库代理(如果有)
5. 启动 Mir200 主世界服务
6. 启动网站(Nginx/Apache)
每个程序启动后看日志,报错先搜报错关键词,不要反复重启。常见错误有端口被占、lib 缺失、MySQL 连不上、地图文件缺失、脚本路径不对。端口要放通:80、3306、7000、7100、7200、10000 段等,具体看端里 Config。服务器防火墙和云厂商安全组都要开。
客户端方面,安卓用 ApkTool 反编译 APK,进 assets 或 lib 目录找 ip 配置文件、serverlist.json、config.dat。把里面 IP 改成你的,重新打包签名。没有签名文件就生成个 keystore:
keytool -genkey -alias mykey -keyalg RSA -keysize 2048 -validity 36500 -keystore my.keystore
然后:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my.keystore xxx_unsigned.apk mykey
再用 zipalign 对齐。iOS 不走企业签或越狱基本跑不了正式服,个人测试用 TestFlight 或自签都麻烦,通常手游传奇只做安卓。
登录器配置要看引擎。Hero 和 GOM 有现成配置器,填网关 IP、端口、资源地址、补丁版本就行。GEE 和 3K 有的要配 Web 接口,网站里 api 文件不能少。客户端资源(Wil、Wix、Map、Sound)要和服务端版本号一致,不然进图闪退、装备显示白块、怪物变问号。
版本调试时先单区跑通:注册账号—登录—建角色—进土城—打怪—爆装—回城—存仓。这一步通了再开多区、合服、跨服。刷装备别一上来改数据库金币几个亿,先小量测试,避免物品叠加异常。NPC 脚本放在 Mir200/Envir/Npc_def 或 Market_Def,脚本语法看引擎文档,写错一行可能导致 NPC 不显示或点不开。
后台一般走网站,地址像 http://IP/admin,账号 admin,密码看服务端说明或数据库 admin 表。进后台先改密码,配区服列表、充值比例、封号、发奖、公告。充值接口别用端里自带野鸡支付,最好接自己信任的回调,校验订单号、金额、区服、角色名,防止伪造充值。
防攻击这块,传奇类最容易被 CC 和 SYN 打。前端套高防 IP,网关做连接频率限制,登录接口加验证码或令牌,数据库不允许公网直连。服务端里关掉多余协议,日志定期清,备份每天跑。备份命令简单点:
mysqldump -uroot -p mir3 > /backup/mir3_$(date +%F).sql
服务端整个目录也打 tar 包,传到另一台机器或对象存储。
常见故障速查:
• 黑屏:IP 没改全、资源地址错、网关没起
• 卡登录:LoginGate 端口不通、数据库连不上
• 进图闪退:地图编号缺失、客户端资源不对
• 打怪不掉装:爆率文件格式错、物品名和数据库对不上
• 充值不到账:回调地址错、签名校验没过、订单重复处理
• 角色卡死:断线重连逻辑烂,重启世界服务前先踢人
最后说下合规。拿别人收费端直接商用有版权风险,自己改着玩可以,想长期做要用授权引擎、自有美术和资源。版本更新时先备机测试,再热更脚本和资源,别大半夜直接覆盖 Mir200,出问题回滚都来不及。
架设本身不难,难的是把 IP、端口、数据库、客户端、网关、脚本六块拼成一条链。哪一段松了,玩家就卡在哪一格。

