架设传奇服务端的全过程涉及系统环境部署、数据库建立、服务端文件修改、网关调试以及登录器配套生成。下面按照操作顺序逐一展开。
第一步,操作系统与运行库准备。服务端推荐安装在Windows Server系列或Windows 7以上版本的专业版系统内。安装完成后,首先安装Microsoft Visual C++ Redistributable包,需要同时安装2005至2019的所有版本,因为服务端内各网关程序依赖不同版本的运行库。接着安装.NET Framework 3.5和4.7.2,这两个框架支撑着登录器配置器和部分引擎控制台程序。安装完毕后重启系统,确保所有依赖项生效。
第二步,数据库系统的选择与安装。传奇服务端支持DBC2000和MySQL两种数据库方案。使用DBC2000时,下载安装包后按默认路径安装,安装完成后打开控制面板,找到BDE Administrator。在Object菜单下选择New,新建一个数据库别名,命名为HeroDB。在右侧的PATH栏中指定服务端内“Mir200\DB”文件夹的绝对路径。点击Apply保存后,DBC2000配置完成。使用MySQL方案时,安装MySQL Community Server,安装过程中设置root账户密码,创建名为“mir3”或“legend”的数据库,然后使用SQL文件导入服务端内“SQL”文件夹下的数据表结构。
第三步,服务端文件夹结构解析。完整的服务端目录包含以下核心文件夹:Mir200存放游戏主程序和数据文件,LoginGate负责账号验证,SelGate负责角色选择,RunGate负责游戏数据传输,DBServer负责数据库交互,LoginSrv负责登录服务,LogServer负责日志记录。将服务端压缩包解压至硬盘根目录,例如“D:\MirServer”,路径中不可出现中文字符或空格。
第四步,主配置文件!Setup.txt修改。进入Mir200文件夹,用记事本打开!Setup.txt。该文件包含数百条参数配置,必须修改的关键项包括:ServerName填写服务器名称,ServerIP填写服务器IP地址(单机架设填写127.0.0.1,外网架设填写公网IP),GameServerPort默认为7100,GatePort默认为7000,DBHost默认为127.0.0.1,DBPort默认为3306(使用MySQL时)或留空(使用DBC2000)。修改完成后保存文件。
第五步,数据库连接配置文件修改。打开DBServer文件夹下的DBServer.ini,将DBHost、DBUser、DBPassword分别填写为数据库地址、账户和密码。如果使用DBC2000,DBHost填写127.0.0.1,DBUser和DBPassword留空。打开LoginSrv文件夹下的LoginSrv.ini,同样填写数据库连接信息。打开Mir200文件夹下的!ServerTable.txt,将所有IP地址统一修改为服务器实际IP。
第六步,启动顺序与各网关窗口调试。服务端启动必须遵循固定顺序,不能颠倒。依次启动以下程序,每个程序完全加载后再启动下一个:第一步启动GameCenter.exe控制台,点击“启动服务器”按钮,此时控制台会自动按顺序调起各个网关。也可以手动启动,顺序为:DBServer.exe等待提示“数据库连接成功”,LoginSrv.exe等待提示“登录服务已启动”,LoginGate.exe等待提示“网关已监听端口”,SelGate.exe等待提示“角色网关就绪”,RunGate.exe等待提示“游戏网关启动完成”,最后启动M2Server.exe,等待加载所有地图和脚本文件后显示“游戏引擎启动成功”。
第七步,游戏数据初始化。首次架设的服务端没有玩家数据,需要创建管理员账号。M2Server启动后,在控制台窗口中输入“@makeadmin 角色名 10”,将指定角色设置为全权限管理员。管理员权限用于后续刷取装备、调整等级、传送等调试操作。同时检查“Mir200\Envir”目录下的“AdminList.txt”文件,确认管理员名单已正确写入。
第八步,登录器配置与生成。打开引擎包内的登录器配置器程序,在“基本设置”页面中填写游戏名称和列表地址。列表地址指向一个存放服务器信息的文本文件,该文件需上传至网站空间。列表文件的内容格式为:
[Server]
游戏名称=IP地址,端口
端口填写LoginGate使用的端口号,默认为7000。如果架设外网,IP地址填写公网IP或域名。配置完成后,点击“生成登录器”按钮,将生成的exe文件放入客户端目录中。
第九步,客户端补丁与资源文件放置。将服务端“Mir200”目录下的“Map”地图文件夹复制到客户端根目录。将“Data”文件夹内的所有素材文件复制到客户端的“Data”目录,如果存在PAK格式加密补丁,需要将对应的PAK文件和密码文件一并放置到客户端“Data”目录下。登录器配置器中指定的补丁读取路径必须与客户端实际路径一致。
第十步,游戏内脚本与参数调试。进入“Mir200\Envir”目录,该目录下“MapInfo.txt”控制地图连接点和入口参数,“MonGen.txt”控制怪物刷新坐标与数量,“NpcGen.txt”控制NPC摆放位置,“Shop.txt”控制商店物品列表。修改任何脚本文件后,无需重启服务端,在M2Server控制台输入“@reloadnpc”重新加载NPC脚本,输入“@reloadmonster”重新加载怪物数据,输入“@reloadmap”重新加载地图信息。
第十一步,网关参数微调以适配不同网络环境。RunGate网关程序内可调整“最大连接数”和“数据包处理间隔”。连接数根据服务器带宽设定,十兆带宽建议设置不超过二百个并发连接。数据包处理间隔默认为一百毫秒,若玩家反馈操作延迟,可将间隔下调至五十毫秒,但下调后CPU占用会上升,需根据CPU负载平衡调整。LoginGate中的“防攻击模式”保持开启状态,可过滤异常高频的登录请求包。
第十二步,多分区架设与端口偏移。若需要在同一台服务器上开设多个分区,每个分区必须使用独立的端口号。以第一分区为基准,第二分区的LoginGate端口设置为7001,SelGate端口为7101,RunGate端口为7201。每个分区的“!Setup.txt”和网关配置文件中相应修改端口数值。各分区文件夹独立存放,不可共享任何文件。登录器列表文件内分行写入各分区的IP与端口信息,玩家在登录器界面即可选择不同分区进入。
第十三步,日志系统的日常查看。LogServer文件夹内存放着所有操作日志,按日期分文件夹存储。“LoginLog”记录账号登录尝试,“GameLog”记录玩家进出游戏和物品操作,“ExceptionLog”记录服务端异常报错。当服务端出现闪退或玩家反馈数据回档时,优先查看ExceptionLog中的报错堆栈信息,该信息会明确指出出错的脚本行号或数据库操作语句。
第十四步,补丁更新机制建立。当新增地图或装备时,将新素材文件放置在服务端“Mir200\Data”和客户端“Data”目录中。若使用微端更新模式,将新文件放入微端服务器的“Patch”文件夹,并重启微端更新程序读取文件列表。若使用传统完整客户端模式,将补丁打包成压缩包提供给玩家下载覆盖。无论哪种更新方式,确保“!Setup.txt”中的“FileVersion”数值每次更新后递增,强制客户端同步最新资源。
第十五步,服务端备份与还原操作。备份时复制整个服务端文件夹到备份目录,同时导出数据库文件。使用DBC2000时,备份“Mir200\DB”下的所有文件;使用MySQL时,执行“mysqldump”命令导出所有数据表。还原时停止所有服务端程序,将备份文件覆盖回原位置,重启服务端即可恢复所有玩家数据和游戏进度。备份周期建议每六小时自动执行一次,备份文件保留最近三天的版本。

