准备一台WindowsServer2012/2016/2019或Windows1064位机器,CPU至少4核,内存8G起步,开区多就16G/32G。硬盘留50G以上,数据库和日志会越跑越大。服务器放家里也行,但对外网玩家开放建议用云服务器,带宽5M起步,人数多再加。
先装运行环境。多数Legend/Mir2引擎依赖VC++运行库,把2005、2008、2010、2012、2013、2015、2017、2019的x86和x64都装上。再装MSSQLServer,新手用SQL2008R2Express或SQL2012都行,记得把SQLServer身份验证改成“Windows和SA混合模式”,给sa设强密码,别用123456。装完开SQLServerConfigurationManager,把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看它弹个黑框,那叫会开机。
先装运行环境。多数Legend/Mir2引擎依赖VC++运行库,把2005、2008、2010、2012、2013、2015、2017、2019的x86和x64都装上。再装MSSQLServer,新手用SQL2008R2Express或SQL2012都行,记得把SQLServer身份验证改成“Windows和SA混合模式”,给sa设强密码,别用123456。装完开SQLServerConfigurationManager,把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看它弹个黑框,那叫会开机。

