准备一台 Windows Server 2012/2016/2019 或 Windows 10 64 位机器,CPU 至少 4 核,内存 8G 起步,开区多就 16G/32G。硬盘留 50G 以上,数据库和日志会越跑越大。服务器放家里也行,但对外网玩家开放建议用云服务器,带宽 5M 起步,人数多再加。
先装运行环境。多数 Legend/Mir2 引擎依赖 VC++ 运行库,把 2005、2008、2010、2012、2013、2015、2017、2019 的 x86 和 x64 都装上。再装 MS SQL Server,新手用 SQL 2008 R2 Express 或 SQL 2012 都行,记得把 SQL Server 身份验证改成“Windows 和 SA 混合模式”,给 sa 设强密码,别用 123456。装完开 SQL Server Configuration Manager,把 TCP/IP 启用,端口 1433 放开,防火墙入站规则加上 1433、7000、7100、7200、5500、5600 这些常用端口。
拿一套完整服务端,至少包含 DB 数据库备份、LoginGate 登录网关、GameGate 游戏网关、DBServer、LoginSrv、M2Server、RunGate、SelChr 等目录。把 Mir2 或 Legend 的数据库备份(常叫 HeroDB.bak、Mir2DB.bak)还原进 SQL,数据库名要和服务端配置里的名字一致,比如 HeroDB、MuDB、LegendDB,差一个字母都连不上。
改 IP 是核心。搜服务端里所有包含旧 IP 的文本和配置文件:!Setup.txt、!Abil.txt、DBServer\DBSrv.ini、LoginSrv\LoginSrv.ini、GameGate\Config.ini、RunGate\GateInfo.ini、M2Server 里的 GameGate 列表、QQWry.dat 不用动但 IP 规则文件要清。把 127.0.0.1 留作本机测试,外网就把所有对外的网关 IP 改成你的服务器公网 IP。内网开服填局域网 IP,云服务器有内网网卡时,网关监听 0.0.0.0,对外地址填公网 IP。
启动顺序不能乱:先起 DBServer,再 LoginSrv,再 M2Server,然后 GameGate、RunGate、LoginGate。M2 起来后看日志,出现“游戏引擎启动完成”“数据库已连接”才算通。本机打开客户端,登录器列表填 http://你的IP:端口/serverlist.txt 或者直接填 IP+端口,能建号、能选人、能进比奇,说明单机通了。
做登录器。用引擎配套登录器生成器,选 Win 端还是微端,微端要挂补丁和地图资源到 Web 目录,用 IIS 或 Nginx 起一个下载站,m2server 的 UpdateServer 指过去。登录器要过杀毒,要么给 exe 做白加签,要么用引擎官方登录器;自己改壳、加花、藏 VM 的登录器会被 360/火绒当木马,玩家一开就删。
配游戏内容。!Setup.txt 里调经验倍数、爆率文件在 Envir\MonItems 和 Envir\DropRule,怪物爆什么、爆率千分比还是万分配,按行改。Envir\MapInfo.txt 管地图,Envir\Monster.txt 管怪物属性,Envir\Npc_def 里是 NPC 脚本,@main 是主对话,#if #act #say 那套。想加泡点、回收、转生、合击、内功,就放对应的脚本插件和 M2 扩展版,别把几个不兼容的 M2 混用,容易卡主线程、人物消失、物品复制。
开服前压测。本机用多开器登 50 个号,看 M2 的 CPU 和内存,RunGate 丢包就加 RunGate 数量,一台机器跑 2~4 个 RunGate 很常见。DBServer 卡就调缓存和查询线程。人数上 200 再考虑分服、分线、用 Redis 做跨区数据,不然单 M2 撑不住。
对外发布。做网站用帝国或织梦都行,开区列表、充值接口、GM 后台分开。充值别自己写支付,接第三方聚合支付,回调地址走 HTTPS,订单写进 SQL 的 Pay_Order 表,M2 定时查已支付订单发元宝。GM 后台绑 IP+MAC+二级密码,别把 1433 对公网开放,SA 密码别写进网页配置,数据库定期备份到异地。
防攻击。网关层加 IP 限速,单 IP 每秒连接超阈值就踢;M2 开防封包、防加速、防脱机。RunGate 前可以挡一层高防,被 CC 时先封 UA 和空连接。日志每天滚,CheckLog 和 M2 的 Log 留 30 天,出复制 BUG 能反查谁刷了物品。
版本合规。用别人打好的“1.76 复古”“1.80 合击”服务端可以自己玩、小圈子开,但挂广告吸金、仿官服名字、卖元宝提现,就会碰到商标和著作权问题。盛大/腾讯系“热血传奇”相关素材、地图名、技能名、登录界面,商用有风险。想长期做就用 H5 传奇类换皮、自研世界观、自研素材,或者拿有授权的引擎和美术。
日常运维。每天凌晨自动备份 HeroDB 和日志,写个 bat 调用 sqlcmd 备份;开区前清一下坏账号、脏数据、卡地图角色;M2 异常退出看 ErrorLog.txt 和 !Error 目录;网关闪退先看端口被没被占用,再看运行库缺不缺。玩家反馈“卡门”“进图黑屏”“背包东西没了”,优先查 RunGate、DBServer 和 MapInfo 坐标越界。
新人最容易踩的坑:IP 没全改、1433 没开、sa 密码不对、登录器列表端口和服务端不对、Envir 脚本少个分号导致 NPC 不显示、MonItems 爆率写成 1000000 以为必爆其实溢出、M2 和 DBServer 不是同一套版本、云服务器安全组没放行、家里宽带没公网 IP 还硬开外网、杀毒把 Gate 删了还以为服务端坏了。
搭完以后别急着拉人充钱。先自己三开跑三天:建号、打怪、死亡、回城、交易、存仓、关服重启、崩服恢复、数据库还原,每一步都顺了再定开区时间。版本平衡、回收比例、首冲奖励、沙巴克时间、攻城奖励、反外挂规则,这些比“服务器跑起来”更重要。跑不起来就盯日志,日志不骗人,红字报什么就修什么,别到处换引擎,换十套还是同一堆坑。
要加微端就把 Map、Wzl、Wis、Texture 传出去,客户端只留登录器和配置;微端服务用 IIS 起,MIME 把 .wzl .wis .pak 都加了,不然下载到 0 字节进图全黑。要上 Linux 网关也行,但 M2 和 DBServer 还是 Windows 生态最稳,别为了装逼全容器化,排错会累死。
最后说人话:传奇服务端不是“装一下就能赚钱”的东西,它是一堆老 Delphi/C++ 程序、文本配置、SQL 表、网关进程拼起来的系统。你能把 IP、数据库、网关、脚本、登录器、支付、防封、备份全跑顺,才叫会搭;只会双击 M2Server.exe 看它弹个黑框,那叫会开机。

