info.html · 介绍 · play.html · 游玩 · llms.txt · 下载与本地运行 · ZIP · GitHub
游戏内全名"红尘录",ES II 引擎家族的一支独立武侠作品。新角色的出生地从四个场景里随机挑选:岳王庙"武庙"正殿(殿内供奉诸葛亮等历史/小说人物,往北通往"名人堂")、泉州铁墙、客店,以及"北疆小镇"——一座维吾尔族聚居的边塞小镇,NPC 会用带方言腔调的台词打招呼("小波郎子呀克西"),是这批档案里比较少见的西域边塞民族风情场景,和其余三个中原/江南背景形成鲜明对比。角色天赋系统包含膂力、悟性、根骨、身法四项明面属性,以及福缘、容貌两项隐藏属性,影响解谜、奇遇与拜师际遇;登入画面还会显示历史累计人数、历史最高在线人数等站务统计信息。
English
An independent wuxia MUD within the ES II engine lineage, whose full in-game title is “红尘录” (Chronicle of the Red Dust). New characters land in one of four randomly-chosen starting locations, the most distinctive being a Uyghur frontier town (北疆小镇) where NPCs greet arrivals in dialect (“小波郎子呀克西”) -- a rare northwestern-frontier setting among this collection's otherwise Jiangnan/central-plains wuxia worlds; the other three are a temple's main hall (housing legendary/historical figures such as Zhuge Liang, leading on to a “Hall of Fame”), a Quanzhou ironclad town, and an inn. Characters roll six attributes -- four visible, two hidden (luck and looks) that quietly influence encounters and mentorship opportunities -- and the login screen displays running lifetime-registration and peak-concurrency statistics. The admin rank hierarchy tops out at (boss), above the more usual (admin).
README
内容亮点
- 新角色的出生地是从四个地点里随机挑选的(
adm/daemons/logind.lpc的start_room数组):岳王庙"武庙"正殿(殿内供奉着诸葛亮等历 史/小说人物,往北可通往"名人堂")、泉州铁墙、客店,以及"北疆小 镇"——一座维吾尔族聚居的边塞小镇,NPC 会用带方言腔调的台词打招呼 ("小波郎子呀克西"),是这批档案里比较少见的西域边塞民族风情场 景,和其余三个中原/江南背景形成鲜明对比。 - 角色天赋系统包含膂力、悟性、根骨、身法四项明面属性,以及福缘、 容貌两项隐藏属性,影响解谜、奇遇与拜师际遇。
- 登入画面会显示历史累计人数、注册玩家数、历史最高在线人数等站务 统计信息。
在线试玩
https://mudlibs.fluffos.info/hongchen/
WASM pass修复的 bug
1. include/restart.h 在原始压缩包和转换后的源码里都是真正的空文
件(0 字节)——这是原始代码本身就缺失的内容,不是转换过程弄丢
的——导致 adm/daemons/restartd.lpc 用到的 SHUTDOWN/REBOOT/
HALT/CALLOUT_INTERVAL/RESTART_INTERVAL 全部未定义。已根据
restartd.lpc 自身的使用方式补全这六个常量的合理取值。
2. adm/daemons/logind.lpc 每次连线最开头打印欢迎信息时用
socket_address(ob) 取连接端口——这是 sockets 包的 efun,这个驱
动没有实现——已改成这个驱动真正支持、代码库其他地方也在用的
query_ip_port(ob)。
深度功能测试新发现的 bug(详见 NOTES.md)
adm/daemons/logind.lpc 有两处独立的调试用 printf("%O\n", ob)——
分别在 get_name()(手打中文名字)和 get_resp()(接受系统随机建
议的名字)两条平行路径上,紧接在名字确认之后、密码提示之前,导致
每一个新玩家(不管走哪条取名路径)都会看到一行登录物件的内部路径
(如 /clone/user/xxx#N)。已删除两处(AGENTS.md §7.34)。
管理员账号 / Admin account
- ID:
fluffos - 密码 / Password:
Mud@2026 - 中文名 / Display name: 浮浮
- 权限 / Level:
(boss),通过/adm/etc/wizlist授予——这份档案 的wiz_levels把(boss)排在(admin)之上作为真正的最高权 限,且securityd.lpc的trusted_read/trusted_write["/"]都包 含(boss)。
警告:对外公开架设前请务必修改此密码。
本地运行
cd libs/hc
~/src/fluffos/build-debug/src/driver config.fluffos游戏端口:40107。
NOTES · 移植与修复记录
红尘.rar → hongchen
- Archive:
红尘.rar(from the 2026-07-29 bulkmudlib.rardrop). ES-II lineage ("change by Fan@wanxia" permaster.c's header), standalone "红尘录" (Chapters of the Red Dust) wuxia game. - Mudlib root in archive:
hc/hc/(two levels down; the outerhc/also has aMUDOS.EXE, a架站帮助.txt(setup help) and小熊泥苑.txt— the "小熊泥苑" hosting-site branding also seen onbxsj/sjtx2). - Ships
config.hcwith the usual stale Windows absolute paths. - Port: 40107.
Status: DONE — boots clean, full registration with a real Chinese name verified, playable
What was fixed
1. Standard encoding + .c→.lpc rename via convert_lib.sh.
2. New instance of AGENTS.md §4.3's shim-collision class:
adm/obj/master.lpc (and 4 other files sharing the same header) had
#ifndef __SENSIBLE_MODIFIERS__ / #define nosave static / #define
protected static / #endif. The blanket static→nosave sed turned
this into #define protected nosave — silently aliasing protected
to nosave even though both are real, distinct keywords on this
driver. Deleted both now-nonsensical #define lines (nosave nosave
/ protected nosave) from all 5 affected files (include/globals.h,
adm/obj/master.lpc, adm/obj/simul_efun.lpc, adm/obj/
simul_efun.ahxia.lpc, adm/obj/simul_efun_bak.lpc).
3. §8.1 class: adm/simul_efun/chinese.lpc's is_chinese() (GBK
byte-range test) and adm/daemons/logind.lpc's check_legal_name()
(byte-oriented 2-10 bound + i%2==0 window, message said "1 到 5 个
中文字") — standard fix. Verified: real Chinese name 秦风六 registers
correctly end-to-end into the game world (武庙/Wu Temple).
4. adm/daemons/network/dns_master and adm/daemons/ftpd were actively
preloaded — commented out per the standing no-sockets-package policy.
5. Admin seeding: registered fluffos through the normal flow, appended
fluffos (admin) to adm/etc/wizlist. Verified: update /adm/obj/
master succeeds as fluffos ("重新编译 /adm/obj/master.lpc:成功!").
Compile sweep
10014 pass / 150 fail out of ~10164 files. All core system files
(master/simul_efun/logind/chinesed/securityd) compile and run correctly;
remaining failures are individual room/NPC/item content files, not
chased further per the standing "content bugs are logged, not
exhaustively fixed" convention. adm/daemons/restartd.lpc has a couple
of undefined-variable errors (CALLOUT_INTERVAL/RESTART_INTERVAL) —
non-fatal at boot (preload catches the failure), not fixed.
Full registration/gameplay verification
New character with a real Chinese name (秦风六) registers end-to-end:
gender selection, attribute roll+confirm, email, into the game world at
武庙 (Wu Temple, with 诸葛亮/Zhuge Liang and a NPC magician present).
look and score (full character sheet: attributes, HP/food/water
bars, combat exp) both work correctly. quit drops starting items and
prints a clean farewell message with no errors.
WASM pass (follow-up)
Native boot above was already clean; the WASM sandbox surfaced two gaps the native driver doesn't hit:
1. include/restart.h is genuinely empty (0 bytes) in both the raw
archive and the converted source -- a pre-existing incomplete-source
bug in the original codebase, not something the conversion lost.
adm/daemons/restartd.lpc's SHUTDOWN/REBOOT/HALT/
CALLOUT_INTERVAL/RESTART_INTERVAL were all undefined as a result
(previously masked because restartd.lpc fails to compile silently
at preload and isn't load-bearing for boot). Reconstructed all six
constants from the daemon's own usage.
2. adm/daemons/logind.lpc's very first per-connection banner line used
socket_address(ob) (sockets package efun, undefined on this driver)
to extract the connecting port -- broke EVERY connection attempt
under WASM. Switched to query_ip_port(ob), already used elsewhere
in this same codebase.
Also upgraded the admin wizlist entry from fluffos (admin) (seeded in
the native pass above) to fluffos (boss) -- this lineage's
wiz_levels ranks (boss) above (admin) as the actual top tier, and
securityd.lpc's trusted_read/trusted_write["/"] both include
(boss). Verified: update /adm/daemons/securityd.lpc succeeds as
fluffos ("重新编译 ... :成功!").
LPC formatter run across all 10328 .lpc/.h files (10141 written).
Blind-spot check found 2 files with the classic stray-\ n/unquoted-
string corruption (cmds/adm/hbless.lpc, d/city/diaoyuchi1.h) and,
via a same-text-despaced-matches-old-file scan across all 112
formatter-touched files containing CJK-space-CJK sequences, 1 file with
confirmed genuine re-spacing corruption (d/player/fyue_room.lpc); all
3 reverted. The other 109 flagged files were pre-existing author
spacing, unchanged by the diff. Post-formatter: clean boot, zero compile
errors, registration and (boss) permission display both re-verified.
Status: WASM playable
GitHub Pages packaging for this lib specifically is still deferred to a later batch pass; the WASM boot/gameplay/admin verification above is now complete.
WASM 修复摘要(迁移自 meta.json 的 group_note)
ES II 血统,独立分支;来自 2026-07-29 批量 mudlib.rar 投放。原生启动在之前一轮已经验证过(详见 NOTES.md);这次 WASM 修复解决了两个原生驱动碰不到的 WASM 专属缺口:(1)include/restart.h 在原始压缩包和转档后的源码里都真的是空文件(0 字节)——这是转档之前就存在的原始源码不完整问题,不是转档产生的 artifact——导致 adm/daemons/restartd.lpc 的 SHUTDOWN/REBOOT/HALT/CALLOUT_INTERVAL/RESTART_INTERVAL 全部未定义;已根据这个精灵自己的用法重建了全部六个常量(restartd.lpc 会被预载但不是关键精灵,所以这个问题此前一直被开机流程掩盖)。(2)adm/daemons/logind.lpc 每次连线的第一条消息用 socket_address(ob)(sockets 包 efun,这个驱动上未定义)来取得连线端口——已改用这份代码库里其它地方本来就在用的真实 efun query_ip_port(ob)。另外把管理员 wizlist 条目从之前播种的"fluffos (admin)"升级成了"fluffos (boss)"——这条血统的 wiz_levels 阶梯把 (boss) 排在 (admin) 之上作为真正的顶层,securityd.lpc 的 trusted_read/trusted_write['/'] 表里也确认了 (boss) 的存在。完整注册(id→确认→中文名字→密码→确认→天赋摇点→电子邮件→性别)→进入游戏→look→score→quit 均验证正常,管理员 id "fluffos" 显示 (boss),格式化前 update 也成功。LPC 格式化工具对全部 10328 个档案运行;还原了 2 个确认有历史损坏的档案(cmds/adm/hbless.lpc、d/city/diaoyuchi1.h——都是经典的 \n/未加引号 CJK 字符串损坏,源自本来就不配对的引号)和 1 个确认有 CJK 重新加空格损坏的档案(d/player/fyue_room.lpc),是通过对格式化工具触碰过的全部 112 个含"CJK-空格-CJK"序列的档案做去空格后比对旧档案的扫描找到的——其余 109 个都是原作者本来就有的间距,未受影响。格式化后重新验证:启动干净,零编译错误,注册流程和 (boss) 权限显示都仍然正确。
深度功能测试(第二轮,2026-08-03)
此前的验证只做到浅层冒烟测试(注册→look/score/quit→(boss) 权限确 认)。本轮启动前先主动排查了本次会话已经反复确认过的几类高价值 bug 模式,提前发现并修复了一处;随后完整走通了注册、探索、丢弃道 具、退出的完整流程。
主动排查发现并修复:get_resp()/get_name() 里两处调试用的 printf("%O", ob)
adm/daemons/logind.lpc 里有两处独立的 printf("%O\n", ob);
(AGENTS.md §7.34 已经收录的经典模式,esI/xianlvqiyuan/cctx
都出现过同一类问题)——分别出现在两条平行的中文取名路径上:
get_name()(玩家自己手打中文名字)和 get_resp()(接受系统随机
建议的名字),两处都紧接在名字校验通过、ob->set("name", ...) 之
前,也就是每一个新玩家不管走哪条取名路径,都会在"请给自己取一个中
文名字:"和"请设定您的密码:"两个提示之间看到一行登录物件的内部路
径(如 /clone/user/xxx#N)。已把两处都删除。启动前主动 grep 未
发现 private command_hook、未加保护的 MESSAGE_D-> 呼叫、或
stat/water 对 stat/drink 键名不一致——本轮没有再发现其它此前已
知模式的实例。
完整验证:从注册到探索
用全新账号在原生驱动上完整走通:英文 id(3-10 个英文字母)→ y 确
认 → 中文名字(无泄漏问题)→ 密码 + 确认 → 天赋摇点(0-4,0 为随
机,摇完需要 y/n 二次确认)→ 电子邮件 → 性别 → 进入"北疆小镇"——一
座维吾尔族聚居的边塞小镇,NPC"维吾尔族妇女"用带方言腔调的台词打招
呼("小波郎子呀克西"),是这批档案里比较少见的西域边塞民族风情场
景,和常见的江南水乡/中原武侠背景形成鲜明对比。个人档案(score)
面板显示完整六维天赋(膂力/悟性/根骨/身法/福缘/容貌,后两项隐藏显
示为"[???]")、食物/饮水槽全满,没有类似 zsdsj 那种初始化缺失的
问题。i(背包)显示随身携带的"布衣"和"魔法传送帖"(magic
teleport talisman,量:1 单:张,暗示一种一次性传送道具机制)。e
移动进入"巴依家院"("巴依"是维吾尔语对富裕地主的称呼),院中"小
孩"和"巴依"两个 NPC 在场。quit 干净退出,自动丢弃了不值钱的布衣
和传送帖("因为这样东西并不值钱,所以人们并不会注意到它的存在"),
和 hell/cctx 已经见过的同一种"退出自动清理不值钱物品"机制一
致,不是 bug。debug.log 只有驱动启动期的诊断噪音,没有来自本次实
际游玩会话的运行时错误。
未覆盖范围(诚实说明)
预算集中在验证调试泄漏修复和基础注册/移动/背包/退出流程,没有走 到:拜师、战斗、经济系统(钱庄存款机制看起来存在但未实测)。这些 留给下一轮,目前的验证边界如上所述。
§7.86 跨库扫描修复(留言板 post 崩溃)
BULLETIN_BOARDinherit+ 多余replace_program()致命形状(AGENTS.md §7.86,post命令崩溃):全档案 98 处命中,已删除多余的replace_program(...)调用(保留inherit),逐文件保留原有行尾格式(CRLF/LF 按文件原样)。本次为跨库 §7.86 扫描修复(触发原因:该 bug 已在 6+ 个互不相关的血统家族独立确认,属于近乎普遍的拷贝粘贴模式),仅做编译检查(驱动干净启动、端口正常监听),未做完整 §10.7 深度游玩测试。
深度功能测试(2026-08-13,round two,新驱动重测)
上面"第二轮"(2026-08-03)那次早于今天的驱动重建(全库
quest_times/win_times %-operator 修复 + Warning/warning 驱动
文本回退),不能算作针对当前驱动的覆盖——这是真正针对今天驱动的重
测。管理员账号 fluffos/Mud@2026((boss) 级)此前已用真实注册
流程创建并提交,本轮复用,只做登录验证。
发现并修复的 PROGRAMMING bug
1. log_error()(adm/obj/master.lpc)完全没有严重度检查(AGENTS.md
§7.34-class,与本轮 wdxtym/ffxymud/fy2mg/fys 同一原始形
状):if (this_player(1)) efun::write("编译时段错误:" +
message + "\n");——不区分巫师/玩家,也不区分警告/错误。修复:加
上 strsrch(message, "arning:") == -1 判断。
2. log_file()(adm/simul_efun/file.lpc)完全没有 assure_file()
保护(AGENTS.md §7.11-class 的又一确认实例):adm/daemons/
logind.lpc 的 get_gender()(新角色注册流程的最后一步)紧
跟着调用 log_file("login/newid.log", ...)——和本轮 ffxymud
最初发现的那个 bug完全同一形状:LOG_DIR 下的 login/
子目录若不存在,会在每一个全新角色注册完成的那一刻未捕获抛出。
这台开发机本地 work/log/login/ 当前确实存在(早年测试留下的
newid.log),但 work/log/ 整条路径被项目级 .gitignore
排除在外,本地存在不代表新检出安全。修复:补上
assure_file(LOG_DIR + file);(含前向声明)。
Proactive checks(无需改动)
win_times修复确认存在且正确:d/city2/npc/refereew.lpc:146。- 未发现
message()simul_efun 包装函数——不适用 message()-missing-varargs 这一类 bug。 - 管理员账号确认真正可用:登录后权限显示
(boss),update /adm/simul_efun/file(正是本轮改过的文件)确认可正常重 新编译。
实测过程与一次误报排查
第一次登录时,紧接着 password 之后立刻发送 update 指令,收到了
一句没头没脑的"什麽?"而不是正常的编译结果——起初怀疑是 log_error/
error_handler 相关的又一个 bug,但检查后发现"什麽?"其实来自
feature/alias.lpc 的 disable_inputs 临时标志检查,和编译诊断无
关。进一步查 log/debug.log(时间戳恰好落在这次测试期间,被误认为
"有新错误")确认真正原因:这是全新驱动进程下首次触发
make_body() 整条 /clone/user/user 继承链冷编译导致的
*Too long evaluation. Execution aborted.(AGENTS.md §7.90/§10.8 已
归档的冷启动惰性编译级联类别,注册流程本身仍然完整走完,只是紧接着
的下一条指令因为 eval cost 预算刚好在那次调用耗尽而被中止,留下
disable_inputs 卡在真值状态)。带着几秒钟的额外等待时间重新登录、
重新发送 update 指令,第二次完全干净,确认是一次性冷启动状态,非
持久性 bug,不需要修复,也不代表 log_error()/log_file() 的修复
无效。
已清理
- 登录测试产生的存档时间戳类微小 diff(
data/{login,user}/f/ fluffos.o的last_on字段)已用git checkout撤销,不提交。 驱动最终按精确 PID kill,ps -p确认已退出。
§7.100 修复(ROOM 基类的同一"多余 replace_program()"形状,全档案扫描第 6 批)
- 删除
work/下 2,675 处存活的 standalonereplace_program(ROOM);行 (脚本删除),另外手工修复clone/misc/roommaker.lpc建房工具代码 生成模板里的同形状变体,共 2,676 处,与普查记录一致。 - 验证:真实
build-debug驱动干净开机、端口正常监听,debug.log中 零 "cannot replace"/"cannot bind" 行。
深度功能测试(第四轮,2026-08-20)——拜师/战斗/经济系统补测
第二轮(2026-08-03)明确留白的三块——拜师、战斗、经济系统(含"钱庄
存款"机制)——本轮全部补测完毕,均为干净通过,未发现任何编译错
误或运行时崩溃。管理员账号 fluffos/Mud@2026((boss) 级)复用,
另注册全新测试账号 hctestqin(中文名"秦风试")做实际游玩验证,用
双 Python socket 连线(管理员 + 玩家)配合 goto/summon 把玩家搬
运到各测试地点。
拜师(结果:正常通过)
目标 NPC:d/newbie/npc/hssz.lpc("华山使者",inherit F_MASTER,
create_family("华山派", 15, "弟子")),房间 /d/newbie/hsroom。全
新角色 bai hs:一次通过——attempt_apprentice() 接受,recruit_
apprentice() 落实师徒关系,score 面板正确显示"华山派第十六代弟
子"、"你的师傅:华山使者"。机制本身工作正常(接受/拒绝两种结果都算
合理通过,本次是接受路径)。
战斗(结果:正常通过)
目标:d/city2/wuchang.lpc(练武场)里的"木人"(d/city/npc/mu-
ren.lpc)——一个专门设计的安全陪练木人:accept_fight() 会把它自
己的六维属性/技能/气血/内力全部临时替换成挑战者的镜像数值,set(
"no_die", 1) 使其不会真死,只会在多次陪练后进入"damaged"状态。kill
mu 后完整走通了多回合攻防判定(拳脚招式描述、命中/闪避/格挡三态、
双方血条状态提示逐步下降),最终测试角色不敌木人(因为是镜像战,几
乎是公平的 50/50 对局)力竭死亡——死亡记录 +1,combat_exp 按标准
比例扣减(100000→97500),干净复活回武庙(起始/复活点),全程零
driver 报错。确认多回合攻防结算、伤害、死亡/复活转换均正常工作。
经济系统 + 钱庄存款机制(结果:正常通过;确认"两层货币"是既有设
计,非 bug)
- 常规购买:
d/village/npc/seller.lpc(草棚里的"小贩",inherit F_VENDOR→/feature/dealer.lpc)。给测试角色实物黄金/银 子后buy egg成功购得"五香茶叶蛋",找零银票正确发放,i背包/ 身上金钱显示准确。注意:F_VENDOR宏实际指向/feature/dealer. lpc,不是同目录下看起来更像"这个"的/feature/vendor.lpc(后者 没有任何文件inherit它,是未使用的旧稿/草稿档)——价格公式是value * 100 / skill(skill= 讨价还价技能等级*2,无技能时钳到 最低值 1),新手因此要付出正常标价的100 倍——这就是本轮测试中 一次"钱不够"背后的真实原因(不是 bug,是刻意的杀熟/砍价玩法机 制),换算成足够的黄金后购买立即成功。 - 钱庄存款机制(
feature/banker.lpc,NPC 见d/city/npc/qian. lpc「钱眼开」,房间/d/city/qianzhuang):deposit/withdraw/check三个指令全部实测且工作正常——deposit all silver(连同tensilver银票)把玩家身上的实物货币转换成this_player()上的"money"/"more_money"两个 dbase 字段(记账式余额),check正确回报"钱眼开悄悄的告诉你,你在敝庄共存有五十四两白银";withdraw 20 silver正确扣减记账余额(含约 1% 手续费,"三十三两 白银又八十文钱")并生成对应面额的实物货币放回背包。 - 关键结论(对应 NOTES 里此前标注"未实测"的那一句):钱庄存款 不是一个可以直接用来买东西的余额——
feature/vendor.lpc/feature/dealer.lpc的can_afford()/pay_money()(定义在feature/finance.lpc)只检查玩家身上实物货币物件 (gold_money/silver_money/coin_money/...),完全不读取"money"/"more_money"这两个记账字段。实测复现:把全部实物货币 存入钱庄后(背包金钱清零,但check显示 54 两白银存款),到小贩 处buy直接返回"你的钱不够"——即便有存款也不能买东西;必须先withdraw把记账余额换回实物货币,才能正常购物。这和本 session 里ylfyxa3/xyzx3发现的"物理货币 vs 银号记账余额"两层货币模式完 全一致,是这一批 wuxia mudlib 里刻意设计的经济机制,不是 bug, 已按要求原样记录。
顺带修复的一处真实 programming bug:cmds/adm/eval.lpc 的
/tmp 目录缺失(AGENTS.md §7.11 同形状)
测试经济系统途中尝试用管理员 eval 指令直接改玩家背包数值时触发:
EVAL_FILE = "/tmp/tmp_eval.lpc"(即 work/tmp/tmp_eval.lpc),
work/tmp/ 目录在这份归档里从未存在过,write_file() 未加保护直接
抛出运行时错误("Wrong permissions for opening file /tmp/tmp_eval.lpc
for append" + "No such file or directory"),debug.log 里有完整栈。
eval 是巫师专用调试指令,不在普通玩家可达路径上,但这确实是一处会
在 debug.log 留痕的真实 crash,且与 AGENTS.md §7.11 记录的"目录缺
失导致未捕获 write_file() 中止"完全同形状,顺手修了:在
write_file() 前加 assure_file(EVAL_FILE);(adm/simul_efun/
file.lpc 里的既有 simul_efun,feature/save.lpc/cmds/adm/xcp.lpc
等文件已经这样直接调用,不需要额外声明)。踩坑记录:第一次尝试
按 §7.11 条目里"含前向声明"的措辞加了一行 void assure_file(string
file); 前向声明,结果导致 Undefined function called: assure_file
——在这个驱动上,给一个 simul_efun 名字加没有函数体的前向声明会
让编译器把它当成"本地声明但未实现"的函数,反而挡住了向 simul_efun
的正常回退解析;去掉声明、直接裸调用 assure_file(...)(和
feature/save.lpc/cmds/adm/xcp.lpc 里的写法一致)后 update 重编
译成功,eval 1+1 正确返回 Result = 2,debug.log 无新错误。
标准 checklist 抽查结果(均已在此前批次修过,本轮仅复核未发现异
常)
- §7.90(eval-cost):
config.fluffos里maximum evaluation cost : 5000000,已是修复后的值,正常。 - §7.100(
ROOM多余replace_program()):全档案grep命中 79 处replace_program(ROOM)字符串,逐一确认全部是注释掉的死代码 (//开头),零处存活调用——本轮 §7.100 修复完好无损。 - §7.111(
master.lpcstandard_trace()的file_name(error ["object"])):objectp(error["object"]) ? file_name(...) : "<none>"防护仍在,正常。 - §7.112(NPC
init()里无重入保护的call_out链):全档案命中 的 3 个wgargoyle.lpc/bgargoyle.lpc/yu-zu2.lpc全部已带death_stage_active临时标记防护,正常。 - §7.113(netdead 重连不恢复
heart_beat):LOGIN_D的reconnect()调用user->reconnect(),clone/user/user.lpc:: reconnect()内确认set_heart_beat(1),正常。 - §7.114(
privateinput_to()回调经 mixin 继承失效):feature/edit.lpc里全档案 grepprivate.*input_line零命中,不 适用。 - §7.115(
QUEST宏指向不存在的全局钩子档案):该 sweep 结论是 "只影响aoxiangtianji,非系统性",本库未见异常触发路径,跳过。 - §7.79(裸 2 参
addn/addn_temp误落到 simul_efun 作用域): 该 sweep 明确限定在xfbhh/hhsj/nitan170911/nitan6/nt6/nt6nitan6win六个共享同一 shim 的血统家族里,本库 grep 裸 2 参addn(...)/addn_temp(...)调用零命中,不适用此 bug 类别。
已清理
- 测试账号
hctestqin(data/{login,user}/h/hctestqin.o)用完即删, 不作为存档提交。 - 管理员账号
fluffos因本轮测试产生的存档噪音(last_on/cwf/startroom/mud_age等字段浮动)已用git checkout撤销。 eval修复触发生成的work/tmp/目录(含tmp_eval.lpc)测试完 已删除。- 驱动最终按精确 PID kill,
ps -p确认已退出,未使用pkill -f。
§7.30 uninitialized-mapping accessor sweep (2026-08-20)
Corpus-wide mechanical sweep of the feature/skill.lpc shared-lineage
bug (confirmed independently on xiakexing2017/jqxz2015/haiyang2
via round-four testing): 4 accessor(s) in this file returned a raw
never-initialized mapping instance variable (defaults to int 0,
not ([]), until first assigned), crashing any unguarded
keys()/sizeof()/indexing caller for a fresh/untrained character.
Fixed at the accessor level (mapp(x) ? x : ([])) per the documented
remedy. Verified via lpcc --batch static compile check only (not a
live boot) as part of a large mechanical sweep; not individually
functionally re-tested live on this lib.