拿到别人开区用的传奇服务端,想改成自己本地玩的单机版,核心思路是把网络验证、远程列表、动态IP绑定这些联网功能全部切断,让服务端只在本地回路跑。不需要懂编程,改几个配置文件和IP地址就行。
第一步:改IP地址为127.0.0.1
开区版服务端的所有网关和配置文件里填的都是公网IP或域名,必须全部换成127.0.0.1。打开MirServer目录,逐个检查以下文件:
• Mir200\!Setup.txt:搜ServerAddr或GateIP,改成127.0.0.1
• Mir200\Envir\ServerTable.txt:把每一行的IP都改成127.0.0.1
• LoginGate\Config.ini:GateAddress改成127.0.0.1
• SelGate\Config.ini:同样改成本地IP
• RunGate\Config.ini:同上
• DBServer\DBSrc.ini:DBAddr改成127.0.0.1
有些版本还有LogServer、CenterServer等额外网关,一律照做。如果文件里是域名(比如xxx.com),直接替换成127.0.0.1。
第二步:关掉远程列表和自动更新
开区版登录器通常会从远程服务器拉取游戏列表和更新包,单机不需要这些。找到登录器目录下的ListFile.txt或LoginList.txt,把里面的URL地址删干净,只保留一行本地服务器信息:
[Server]
ServerName=单机测试
ServerAddr=127.0.0.1
ServerPort=7000
如果登录器配置器里有“远程列表地址”“更新地址”等选项,全部清空。部分版本会在登录器EXE里硬编码远程地址,这种情况需要用配套的登录器配置器重新生成一个新的登录器,生成时所有网络选项留空。
第三步:去掉动态IP绑定和反外挂插件
开区版服务端经常捆绑动态域名解析(DDNS)或反外挂插件,这些组件在单机环境下会报错或阻止服务端启动。在Mir200目录下找有没有DDns.dll、PlugList.txt、Plugin文件夹,如果有,把里面除了核心引擎(M2Server.exe)以外的第三方插件文件全部移走或删除。PlugList.txt里记录的插件名称,把非必要的行前面加;注释掉,或者直接清空文件内容。
第四步:解除硬件绑定或授权验证
一些商业引擎(如GEE、GOM、LEGEND)会绑定服务器硬件码,单机启动时会提示“未授权”或“非法机器”。处理方法:
• 如果是GEE/GOM引擎,找引擎包里的注册机或KeyGen程序,按说明生成本机授权文件放到Mir200目录。
• 如果是LEGEND引擎,把Mir200\License目录下的授权文件删除,启动时若提示错误,直接点跳过或取消,部分版本可以不带授权正常运行。
• 如果是3K引擎,一般没有硬件绑定,直接启动即可。
实在不行,换用该引擎的免费版或试用版重新生成服务端。
第五步:配置数据库路径和账号注册
开区版数据库可能指向远程SQL服务器,单机必须改成本地。绝大多数传奇单机用DBC2000或Access数据库:
• 如果是DBC2000:打开控制面板里的BDE Administrator,把STANDARD的PATH指向MirServer\Mud2\DB文件夹。
• 如果是Access:检查DBServer目录下的DBConfig.ini或!addrtable.txt,把数据库连接字符串里的服务器地址改成localhost或127.0.0.1。
账号注册方面,开区版可能有独立的注册页面,单机直接用服务端自带的注册工具(Reg.exe或AccountReg.exe)在本地注册账号,或者手动在数据库Account表里插入一条记录,账号密码明文写入,Level和Status填0。
第六步:测试启动顺序
单机版启动顺序比开区版简单,不需要启动网站和远程列表服务。按以下顺序依次启动:
1. DBServer.exe(数据库服务)
2. LogServer.exe(日志服务,有些版本不需要)
3. LoginGate.exe(登录网关)
4. SelGate.exe(角色选择网关)
5. RunGate.exe(游戏运行网关)
6. M2Server.exe(主引擎)
每个窗口出现“已连接到服务器”或“正在监听”字样再启动下一个。全部启动完毕后,用刚生成的单机登录器点连接,输入本地注册的账号即可进入游戏。
常见遗留问题处理
• 启动M2Server时报错“远程列表获取失败”:把Mir200\Envir\RemoteList.txt或ListURL.txt里的网址删干净,保存为空文件。
• 登录器连接不上:检查所有网关的端口是否被占用,CMD输入netstat -ano | findstr 7000查看7000端口状态,被占用了就换一个端口(比如7100),同时改所有配置文件里的对应端口。
• 游戏黑屏或看不到地图:客户端版本与服务端不匹配,换成和服务端配套的客户端版本(通常服务端压缩包里有注明所需客户端版本号)。
• 点击NPC没反应:QuestDiary目录下的脚本文件可能引用了远程变量,打开QFunction-0.txt和QManage.txt,搜索http://或www.开头的字符串,全部删除或注释掉。

