当前位置 : 145z游戏站 | 传奇世界 | 技术教程 | 

实操指南:自己架设传奇 GM 设置沙城城主全流程(含引擎差异 / 问题排查 / 权限配置)

热度:
不少玩家在架设传奇单机或私人服后,想通过 GM 权限给指定角色设置沙城城主,却遇到各种问题 —— 要么设置后角色没城主称号,要么没法操作沙城功能,甚至沙城归属没变化。其实沙城城主设置涉及引擎、文件、数据库多方面,下面用提问解答的形式,把每一步关键操作和坑点说清楚。
一、设置沙城城主前,必须先确认哪两个关键前提?
很多人一上来就找设置入口,却忽略了基础前提,导致白忙活。这两个前提没满足,再怎么设置都没用:
(一)GM 账号是否有 “沙城管理” 权限?
普通 GM 账号可能只有刷装备、调等级的权限,没有管理沙城的权限。确认方法很简单:
打开服务端目录下的Mirserver\Mir200\Envir\AdminList.txt,找到你的 GM 账号那一行;
看账号后面的权限标识,比如 “1” 代表普通 GM,“9” 或 “255” 才是最高权限(不同引擎标识不同,GOM 引擎通常是 9,BLUE 引擎是 255);
如果权限不够,把数字改成最高权限,保存后重启 LoginSrv 服务端,再重新登录 GM 账号。
(二)沙城是否处于 “已开启” 状态?
有些服务端默认沙城是关闭的,没开启的话无法设置城主。检查和开启方法:
进游戏后用 GM 号在土城找 “沙巴克使者” NPC,对话看是否有 “申请攻城”“查看沙城归属” 选项,没有就说明沙城没开启;
服务端文件设置:打开Mirserver\Mir200\Envir\Castle\CastleConfig.txt,找到 “CastleOpen” 字段,把 “0” 改成 “1”(0 是关闭,1 是开启);
引擎设置:GOM 引擎在 M2Server 窗口点 “选项→沙巴克设置→基础设置”,勾选 “开启沙巴克功能”;BLUE 引擎则在 “查看→列表信息→沙巴克管理” 里勾选 “启用沙城”。
二、不同引擎下,GM 怎么手动设置沙城城主?
沙城设置和引擎关联很大,GOM、BLUE、HERO 这三种常见引擎的操作方法完全不同,要对应找对入口:
(一)GOM 引擎(最常用,操作最直观)
用最高权限 GM 号登录游戏,同时确保 M2Server 窗口处于打开状态;
在 M2Server 窗口点击顶部菜单栏 “沙巴克→沙巴克管理→设置城主”;
在弹出的窗口里,输入要设置为城主的角色名(必须是已创建的角色,不能输错字);
选择 “设置为当前沙巴克城主”,再勾选 “同步更新城主称号”“开启城主专属权限” 两个选项;
点击 “确定” 后,游戏里的角色会收到系统提示 “你已成为沙巴克城主”,头顶会显示 “沙巴克城主” 称号。
(二)BLUE 引擎(需结合脚本或文件修改)
BLUE 引擎没有直接的 “设置城主” 按钮,要分两步:
先改数据库确定归属:打开 SQL Server Management Studio,展开 MirDB 数据库,找到CastleLord表;
清空表内原有数据(如果有的话),新增一行:RoleName填角色名,LordTime填当前日期(比如 “2024-10-01”,不用填具体时间),CastleName填 “沙巴克”(有些版本是 “沙城”,看文件里的命名);
再改脚本刷新状态:打开Mirserver\Mir200\Envir\QuestDiary\QFunction-0.txt,添加一段刷新脚本:
#IF
CHECKADMINLEVEL 9 ;确认是最高权限GM
#ACT
SETCASTLELORD 角色名 沙巴克 ;角色名替换成实际名称
SENDMSG 7 沙巴克城主设置成功!

保存脚本后,在游戏里用 GM 号输入 “@执行脚本 QFunction-0”,执行后角色就有城主权限了。
(三)HERO 引擎(需修改配置文件 + 重启服务端)
HERO 引擎操作稍繁琐,要改两个文件:
打开Mirserver\Mir200\Envir\Castle\CastleLord.txt,这是存储城主信息的文件;
清空原有内容,按格式写入:角色名|沙巴克|1|当前日期(比如 “test | 沙巴克 | 1|2024-10-01”,“1” 代表城主有效);
再打开Mirserver\Mir200\Envir\Castle\CastleWar.txt,找到 “CurrentLord” 字段,把后面的角色名改成要设置的城主名;
保存两个文件后,按 “停止 DBServer→停止 M2Server→重启服务端” 的顺序操作,登录角色就能看到城主效果。
三、设置后没效果?常见问题怎么排查?
很多人设置完发现角色还是没城主权限,多半是这几个坑没避开:
(一)角色名输错或角色没上线?
这是最常见的错误:
角色名必须和游戏内完全一致,比如 “战神” 不能写成 “战圣”,带特殊符号的要完整输入(比如 “战神℃” 不能漏了 “℃”);
设置时目标角色最好处于在线状态,离线设置可能导致数据同步延迟,在线的话设置后会实时生效;
如果输错了,要先在对应入口 “清除当前城主”,再重新输入正确角色名,不能直接覆盖设置。
(二)城主称号不显示或没法操作沙城功能?
这是权限没同步的问题,解决方法:
称号不显示:GOM 引擎在 M2“沙巴克设置→称号设置” 里,勾选 “城主头顶显示称号”;BLUE 引擎则修改Mirserver\Mir200\Envir\String.ini,找到 “CastleLordTitle” 字段,确保内容是 “沙巴克城主”(不是空的);
没法操作城门 / 仓库:打开Mirserver\Mir200\Envir\Castle\CastleRight.txt,确认 “LordRight” 字段是 “15”(15 代表拥有全部权限,0 是没权限),如果是其他数字,改成 15 后重启服务端。
(三)沙城归属没变化,还是显示 “无主”?
这是数据没同步到客户端,解决步骤:
用 GM 号在游戏里输入 “@刷新沙城数据”(不同引擎命令可能不同,GOM 是 @刷新沙城,BLUE 是 @castlerefresh);
如果命令没用,手动删除Mirserver\Mir200\Cache文件夹下的 “CastleCache.dat” 文件(这是沙城缓存文件);
让目标角色退出游戏再重新登录,通常就能看到沙城归属变成该角色。
四、进阶操作:怎么设置城主专属奖励和权限?
设置完城主后,还能给城主加专属福利,让玩法更完整:
(一)城主专属权限配置
GOM 引擎:在 M2“沙巴克设置→权限设置” 里勾选 ——“允许开启 / 关闭城门”“允许使用沙城仓库”“允许任命沙城官员”(比如副城主、指挥官);
所有引擎通用:打开Mirserver\Mir200\Envir\Castle\CastleRight.txt,除了 “LordRight=15”,还能加 “LordMapRight=1”(允许进入城主专属地图)、“LordRewardRight=1”(允许领取每日奖励)。
(二)城主每日奖励设置
打开Mirserver\Mir200\Envir\QuestDiary\QFunction-0.txt,添加奖励脚本:
#IF
CHECKCASTLELORD ;判断是否为城主
CHECKDAYREWARD 1 ;判断今日是否已领奖励
#ACT
GIVE 元宝 1000 ;给1000元宝
GIVE 城主令牌 1 ;给专属道具
SETDAYREWARD 1 ;标记今日已领
SENDMSG 7 您已领取今日沙巴克城主奖励!
#ELSEACT
SENDMSG 7 您不是沙巴克城主,或今日已领过奖励!

保存后,城主在游戏里输入 “@领取城主奖励” 就能触发,记得把 “城主令牌” 道具添加到Mirserver\Mir200\Item.txt里,不然会刷不出道具。
五、通过攻城战让玩家成为城主,GM 需要做什么?
如果不想手动设置,想让玩家通过攻城战争夺城主,GM 要提前做好这些准备:
开启攻城申请:在CastleConfig.txt里把 “AttackApplyOpen” 改成 “1”,玩家就能通过沙巴克使者申请攻城;
设置攻城时间:GOM 引擎在 M2“沙巴克设置→攻城时间” 里选每周固定时间(比如周六 20:00-22:00);
攻城奖励配置:在CastleWar.txt里设置 “AttackWinnerReward”,比如 “元宝 = 5000, 特殊装备 = 1”,胜利方行会会长会自动成为城主;
提前测试:用两个小号建两个行会,模拟申请攻城,看时间到后是否能正常开启攻城战,城主归属是否自动切换。
不管是手动设置还是让玩家争夺,核心是确保引擎、文件、数据库的数据同步。设置前一定要备份Castle文件夹和MirDB数据库,万一设置出错,直接替换备份文件就能恢复。如果遇到引擎专属问题,比如某些小众引擎找不到设置入口,建议去对应的引擎官方论坛查教程,或者在传奇技术群里问老玩家,通常都能找到解决办法。
[顶部]