info.html · 介绍 · play.html · 游玩 · llms.txt · 下载与本地运行 · ZIP · GitHub
《夕阳再现》之「风云再起II」:`logind.lpc`/`master.lpc`/注册流程和 `xysylmhb`(夕阳三-炎龙美化版)/`xyzxiiylzymh`(夕阳再现II-炎龙专用美化客户端)非常相似,但这份档案的地图才是真正的"夕阳再现"血统——和 `jhfy3`(江湖风云3)、`xajh4gkb`(笑傲江湖4公开版)、`xyzxyl201412`(夕阳再现-炎龙20141231,内容最扩充的后期版本)逐字节相同,四份档案共享同一套地图(`d/city/sj.lpc` 等),各自搭配不同的安全层实现;反而是打着同样"夕阳再现"招牌的 `xysylmhb`/`xyzxiiylzymh`,地图内容其实是完全不同的"天涯"家族,这批档案里"核心系统同源、地图各自独立替换"的模式在这里再次出现,品牌名称完全不能作为地图内容血统的可靠依据。新角色不是从常见的南城客栈,而是从北疆镇起步,一旁的"白家大院"("白家"是新疆一带对地主富户的称呼)营造出边塞风情,而不是这类游戏惯常的江南武侠味道,在本收藏里是相当罕见的中亚/新疆风格开局场景。登录/注册流程和 `xysylmhb` 一样是管理密码+登陆密码双密码机制,但和 `xysylmhb` 不同的是,这份档案的标准端口完全不需要走 Tomud 客户端握手——`master.lpc` 的 `connect(port)` 只有连到专门的 TOMUD_PORT 才会设一个临时标记,`logind.lpc` 只有那个标记被设置时才会走 `2060` 版本检查,普通端口直接跳过。
English
The "Storm Rises Again II" branch of the true Sunset Reappears lineage: unlike its similarly-"Sunset Reappears"-branded siblings xysylmhb and xyzxiiylzymh (whose maps actually belong to the unrelated "Tianya" family), this archive's world data really is byte-identical to jhfy3, xajh4gkb, and xyzxyl201412 -- four snapshots of the same authored map running on different security-layer implementations. New characters start not at the genre's usual South City Inn but at Northern Frontier Town, an unusually rare Central-Asian-flavored setting for this corpus, with an adjoining Bai's Family Courtyard (named for a term for a wealthy landowner in Xinjiang) evoking a frontier backdrop rather than the standard Jiangnan wuxia one. Its login/registration flow closely mirrors xysylmhb's (the same dual admin-password/login-password scheme), but unlike xysylmhb, this build's standard port skips the old Tomud client handshake entirely -- the literal "2060" version check only fires on a separate, dedicated Tomud-only port.
README
内容亮点
- 是"夕阳再现"真正血统的源头版本之一,和
jhfy3(江湖风云3)、xajh4gkb(笑傲江湖4公开版)、xyzxyl201412(夕阳再现-炎龙 20141231,内容最扩充的后期版本)共享同一套地图(d/city/sj.lpc逐字节相同)。 - 挂着同样"夕阳再现"品牌的
xysylmhb/xyzxiiylzymh实际地图却是 完全不同的"天涯"家族——这批档案里"核心系统同源但地图各自独立替 换"的模式在这里再次出现,品牌名称完全不能作为地图内容血统的可 靠依据。
本次修复的关键 bug
同样借助本次会话新写的 scripts/lib_bulk_fix.py/scripts/
scan_known_bugs.py 提前抓出来:
1. uptime() 开机保护闸门(AGENTS.md §1.3(e) 既定处理方针):
改成只对非 loopback 连线生效。
2. check_legal_name() 的标准 §8.1 i%2 奇偶校验/[i..<0]
后缀切片写法(is_chinese() 本身已经是正确的逐码点写法)——
改成逐码点的 name[i..i]。
3. master.lpc 的 valid_read()/valid_write() 缺少
user == this_object() 短路判断——这份档案和 xysylmhb 一
样,原本就有一段用 previous_object() 判断的局部保护逻辑,为
了和这次会话建立的标准防御一致,额外补上了明确的短路判断。
httpd.lpc/dns_master.lpc 本来就已经在 preload 里被注释掉,
休眠状态,未作处理。
SECURITY_D 正确指向真正会读取 WIZLIST 的 securityd.lpc(
globals.h 里另一个 securd 路径是注释掉的),没有 §7.56 的双档
案歧义问题。
管理员账号 / Admin account
- ID:
fluffos - 密码 / Password: 注册时自设
- 权限 / Level:
(admin),通过/adm/etc/wizlist授予,登录 后自动显示"★ 您目前权限:(admin)"确认生效。
警告:对外公开架设前请务必修改此密码。
注册流程提示(供后续测试参考)
英文 ID → y(确认创建新角色)→ 中文名字 → 管理密码 + 确认 → 登
陆密码 + 确认 → 天赋菜单(0 随机整组,y 接受)→ 电子邮件 → 性
别(m/f)→ 进入游戏。
本地运行
cd libs/xyzx
~/src/fluffos/build-debug/src/driver config.fluffos游戏端口:40180。
NOTES · 移植与修复记录
WASM 修复摘要(迁移自 meta.json 的 group_note)
夕阳再现 之「风云再起Ⅱ」——夕阳三-炎龙美化版(xysylmhb)家族的原始基础版本;logind.lpc/master.lpc/注册流程几乎一致,标准端口上没有 Tomud '2060' 握手闸门(master.lpc 的 connect() 里有一个单独的 TOMUD_PORT 检查会设一个临时标记,logind.lpc 只在这个标记被设置时才检查它,所以普通的、相当于 telnet 的端口完全跳过这一步)。WASM 修复靠 scripts/lib_bulk_fix.py + scripts/scan_known_bugs.py 在第一次启动测试之前就主动抓出来:(1)一个 uptime()<30 启动宽限门槛(AGENTS.md §1.3(e),和 xyxyutf8 等档案同样的模式)——已对本地回环连线放行。(2)标准的 §8.1 check_legal_name() i%2 奇偶门槛/[i..<0] 后缀切片(is_chinese() 本身已经正确)改成了逐码点的 name[i..i]。(3)master.lpc 的 valid_read()/valid_write() 缺少 'user == this_object()' 短路判断(这份档案已经有一段基于 previous_object() 的局部保护,和 xysylmhb 一样——为了一致性又额外补上了标准保护)。httpd.lpc/dns_master.lpc 本来就已经在 preload 里被注释掉(原来就是这样,休眠状态)——保持原样。管理员账号播种:fluffos (admin) 加入 adm/etc/wizlist(SECURITY_D 正确指向 securityd.lpc,真的会读取 WIZLIST;globals.h 里另一个 securd 路径是注释掉的,没有 §7.56 的歧义问题)。注册流程在一次连续的 WASM 客户端会话里完整验证过:英文 id→y(确认新角色)→中文名字→管理员密码+确认→登录密码+确认→天赋菜单(0 随机,y 接受)→电子邮件→性别(m/f)→在客店进入游戏世界,look/score 都干净。管理员权限已通过"★ 您目前权限:(admin)"确认。LPC 格式化工具对全部 14000 个档案运行(写入 13888 个,75 个转档之前就存在的未结束字符串/文本块内容错误未做格式化——是目前这一批里最杂乱的代码库——37 个未改动)。没有 :: 父类呼叫拆分命中,没有 CJK 重新加空格命中;和 xysylmhb 一样的 2 处 case 标签带尾随注释的命中(cmds/bakcmds/csc.lpc、cmds/bakcmds/meskills.lpc,都是死代码备用指令副本)经 diff 复核干净。格式化后重新验证干净,管理员权限依然是 (admin)。
§7.86 跨库扫描修复(留言板 post 崩溃)
BULLETIN_BOARDinherit+ 多余replace_program()致命形状(AGENTS.md §7.86,post命令崩溃):全档案 100 处命中,已删除多余的replace_program(...)调用(保留inherit),逐文件保留原有行尾格式(CRLF/LF 按文件原样)。本次为跨库 §7.86 扫描修复(触发原因:该 bug 已在 6+ 个互不相关的血统家族独立确认,属于近乎普遍的拷贝粘贴模式),仅做编译检查(驱动干净启动、端口正常监听),未做完整 §10.7 深度游玩测试。
深度功能测试(2026-08-13,round two,新驱动重测)
针对驱动升级(quest_times/win_times %-operator 修复 + Warning/warning
大小写回退兼容)做的重测,同时也是这份档案第一次真正的 §10.7 深
度游玩测试(此前只做过 WASM 阶段的注册流程验证)。这份档案(和手
足档案 xysylmhb 一样)用双密码机制:先设"管理密码"(用于账号安
全恢复),再设"普通密码"(日常登录用,系统会拒绝和管理密码相同的
普通密码)——已确认没有 tybxjh 那种把管理密码明文写进 help 文件的
§7.84 泄漏,也没有 feature/dbase.lpc 里 tybxjh/wlhd 那种密码写保
护 bug(这份档案压根没有 dbase.lpc 里涉及密码字段的守卫逻辑)。
发现并修复的 PROGRAMMING bug
1. get_resp()/get_name()(adm/daemons/logind.lpc,CRLF 行
尾档案)各有一处调试残留 printf("%O\n", ob)(AGENTS.md
§7.34-class):紧跟在中文名字确认之后,把连线桩物件的原始引
用直接回显给正在注册的新玩家。已删除两处。
2. log_error()(adm/obj/master.lpc,实际生效的 master
file)完全没有严重度检查(AGENTS.md §7.34-class):已加上
strsrch(message, "arning:") == -1 判断。
3. log_file()(adm/simul_efun/file.lpc)完全没有
assure_file() 保护(AGENTS.md §7.11-class):已加上前向声明
+ assure_file(LOG_DIR + file);。
4. §8.9 食物/饮水初始化判断的对象错了:adm/daemons/
logind.lpc 的 enter_world() 里 ob->query("age") == 14(应为
user)。已改成 user->query("age") == 14。
Proactive checks(无需改动)
win_times的%-operator 修复确认存在且正确:d/city2/npc/refereew.lpc:146已用to_int(query("win_times")) % 5;d/huashan/npc/refereew.lpc/referee.lpc未用到%,不适 用。
实测过程
管理员 fluffos(管理密码 AdminMud@2026,普通密码
Mud@2026,adm/etc/wizlist 早已播种但从未真正注册过)用完整注
册流程创建(id → y → 中文名 → 确认 y → 管理密码 ×2 → 普通密码 ×2
→ 天赋(0) → 接受 y → email → 性别 m),落地"北疆小镇",score
显示"【玄法天君】"头衔,食物/饮水满格,debug.log 干净,未见调试
泄漏。随后单独一步做了真实断线重连+密码验证(用普通密码
Mud@2026):成功登录,存档数据一致。驱动按精确 PID 结束;管理员
存档已提交。
§7.100 跨库扫描修复(ROOM 冗余 replace_program() 关闭包炸弹,2026-08-19)
同一形状覆盖到几乎所有房间基类(机制详见 AGENTS.md §7.100)。本库属
于该扫描已知最大规模的 10 个库之一。二进制模式脚本机械删除了 5591
处独立、未注释的 replace_program(ROOM); 整行。另外手工清理了造房工
具代码生成模板里内嵌的同一形状,本库有两份完全同形状的拷贝
(clone/misc/roommaker.lpc、u/fyue/misc/roommaker.lpc,各 1 处
字符串拼接,和同一 XYZX 血统的 longyunmeng/xyzxfk 完全一样的形状)。
删除总计 5593 行,与本次扫描 FINDINGS.md 记录的 xyzx 存活命中数完全
一致。
验证:干净启动一次真实调试驱动,端口 40180 正常监听,
work/log/debug.log 全程无新增内容。用已播种的 fluffos/Mud@2026
管理员账号连线(沿用上方记录确认的密码),在北疆小镇/巴依家庭院之
间往返走了十余个房间(含 NPC 互动),look/score/who 均正常,未见任
何 "cannot replace"/"cannot bind" 或崩溃迹象。测试产生的
data/{login,user}/f/fluffos.o 存档时间戳 diff 已 git checkout
撤销,不提交。驱动按精确 PID kill。
§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.
深度功能测试(2026-09-03,第三轮)
新角度:2026-08-13 第二轮只做了注册 + 普通密码重连,没测商店和拜
师。本轮用既有 fluffos/Mud@2026(中文名「浮浮」,男性,无门
派)。这份档案没有 xyzxyl201412 那种「巫师登陆效验码」额外一步。
- 登录:落地
/d/city/wumiao武庙(巫师重连落点,不是注册时 的北疆小镇)。 - 商店:
goto /d/city/zuixianlou,npc/xiaoer2list列出烤 鸡腿 80 文 / 牛皮酒袋一两白银 / 包子 50 文。无现金时buy jitui正确拒绝。clone /clone/money/gold后再买成功(烤鸡腿 + 找零 99 两白银 + 20 个铜板)。 - 拜师:
goto /d/gaibang/inhole,apprentice zuo(左全)一次 完成 →「恭喜您成为丐帮的第二十代弟子」。score称谓「丐帮第二 十代弟子」、「你的师父是左全」。 - 重连冷却:
logind.lpc在time() - last_on < 120时拒绝登 录(「你刚退出游戏…请过一会再连入」)。等满 120 秒后重连成功, 仍在树洞内部,称谓/师傅/银钱均在;烤鸡腿未随存档回来(食物常 见no_save)。 - 日志:live
debug.log是libs/xyzx/log/debug.log(Boot Time Thu Sep 3 21:37:57 2026)。无error:。mudliberror_handler()目标work/log/debug.log本轮未写出新文件。 - 结论:商店 / 有机拜师 / 重连均通过,本轮无新编程 bug 可修。