StickLib

✅ 可玩

sticklib

更新 fdf581a 2026-09-12 源码 下载 ZIP 上游 StickMUD/StickLib

▶ 开始游玩 · Play Now

StickLib, a legacy public dump of StickMUD (turn-of-century LPMud 2.4.5 lineage on the LDMud driver, with later GMCP/MSSP/MXP/MSP/MCMP protocol work). LDMud → FluffOS conversion: catalog overlay for login/look/score/quit; original /secure/master_ldmud.lpc keeps set_driver_hook and closures. Live StickMUD historically at stickmud.com. Not collection ageofelements (different 2.4.5 fork).

README

LDMud → FluffOS conversion. Snapshot of git clone https://github.com/StickMUD/StickLib. Slug sticklib, number 977, port 40286. This collection’s copy is a snapshot, not a live mirror.

StickLib, a legacy public dump of StickMUD (turn-of-century LPMud 2.4.5 lineage on the LDMud driver, with later GMCP/MSSP/MXP/MSP/MCMP protocol work). LDMud → FluffOS conversion: catalog overlay for login/look/score/quit; original /secure/master_ldmud.lpc keeps set_driver_hook and closures. Live StickMUD historically at stickmud.com. Not collection ageofelements (different 2.4.5 fork).

Upstream StickMUD: telnet://stickmud.com:7680. This snapshot is an LDMud → FluffOS Strategy A start (temple yard, market shop, Harry combat, Adventurers' Guild). WASM §10.7 2026-09-10.

Registration flow

Name (2–16 letters) → new character: password (≥6, twice) → the temple yard. Existing names prompt for password only.

Admin / test account

Verified live: fluffos / Mud@2026 → temple yard; shop buy torch; kill harry; guild cost; WASM §10.7 reconnect persist (level 2, exp 1190).

Local run

cd libs/sticklib
~/src/fluffos/build-debug/src/driver config.fluffos

Game port: 40286.

python3 scripts/mudclient.py 127.0.0.1 40286 --timeout 25 --idle 0.6 \
  --send fluffos --send Mud@2026 \
  --send look --send score --send quit

NOTES · 移植与修复记录

StickLib (sticklib) — porting notes

Source: git clone https://github.com/StickMUD/StickLib (commit a0750273104c49d7d506d92f232b221b64577853, cloned 2026-09-05); repo root is the mudlib. Converted 2026-09-05. Config name StickLib. Slug sticklib, number 977, port 40286.

This is an LDMud → FluffOS conversion. Discovery triage normally drops LDMud-lineage libs; this onboard is an explicit exception in the same family as questmud / acme (AGENTS.md §7.158).

This collection’s copy is a snapshot, not a live mirror. Do not onboard the same upstream repo again.

0. Layout

Repo root is the mudlib. raw/ is gitignored. Original LDMud master preserved as /secure/master_ldmud.lpc.

1. Convert (2026-09-05)

convert_lib.sh with UTF-8 source encoding (already UTF-8 English / German sources). .c.lpc rename + literal .c" fixups + staticnosave as usual.

2. FluffOS port (LDMud → FluffOS)

The archive is LDMud 3.x (set_driver_hook, inaugurate_master, #' / unbound_lambda closures, multi-file or directory simul_efun). FluffOS has none of those driver hooks. A mechanical dialect rewrite of the whole tree is not attempted; the original login/command stack is kept as source and not loaded.

config.fluffos: master /catalog/master, simul /catalog/simul_efun, global include "/catalog/auto.h", port 40286, lazy resets : 1.

Catalog overlay (questmud §7.158 cluster):

3. Live-verified (native, port 40286)

Create fluffos / Mud@2026. Lands in The Void; look / score / north (workshop) / south / quit. Reconnect after cold restart reloads data/f/fluffos.o.

深度功能测试(§10.7, 2026-09-05)

Catalog overlay only — the StickMUD LDMud 3.x world is not loaded. Organic fluffos / Mud@2026 on native 40286: Void look / score (level 1, hp 20/20) / inventory / north workshop / south / quit persist. Reconnect: Void look / score / quit. Shop, combat, guild, death: N/A (needs a real LDMud driver).

Logs this boot (PID started 20:09:19, live fd libs/sticklib/log/debug.log): stdout + debug.log clean. work/log/catch proven live with a one-shot catchprobe (CAUGHT /catalog/player.lpc *catch-path-probe) then reverted; play itself left no other catch lines.

6. Full dialect port (Strategy A, 2026-09-05)

Catalog Void/workshop is no longer the live world. User asked for the real StickMUD, not a demo skeleton.

What loads now:

Live walk (native 40286, 2026-09-05, organic fluffos / Mud@2026):

This-boot live libs/sticklib/log/debug.log (fd, PID 1662870 BOOT_MARKER16 sticklib-combat): living + catalog player compiled. Catch this walk: expected PEACE_D only.

Guild advance LIVE (0cf82e040d1 + fc60c6c304d + 38d9b3c591c, native 40286, 2026-09-10): catalog set_level/set_title persist (they were no-ops; query_level always returned 1). Harry respawns on re-enter of S7_7. Temple yard restores HP and unghosts (login compile needed a remove_ghost prototype). Organic fluffos: 13× kill harry with church rest between fights (70 XP each; start 210 → 1120). Guild cost: "enough experience to advance a level". advance level fanfare; score Fluffos the Mostly Harmless (level 2) exp 1120. Reconnect persist. qp_for_level is still 0 (XP-only).

Published (wasm_status: playable) after WASM §10.7 of shop / combat / guild (leftover 632, 2026-09-10).

4. What is not ported yet

Elevator, PEACE_D, NATURE_D. Trashcan toss (foreach :). Full LDMud HitFunc / weapon closures (thin living is enough to kill). Bulletin board extra inherit. City guards. Joe's LDMud tell_here format tokens still print raw. Catalog inventory persist is still save fields only.

WASM §10.7 (2026-09-10, leftover 632)

scripts/wasm_client.js against build-wasm (fluffos 20260830), organic fluffos / Mud@2026 (native leftover 629 save: level 2 Mostly Harmless, exp 1120, gold 152, quests M6a/M3/M2):

Expected compile noise (already documented, not player-visible): PEACE_D filter_objects, trashcan foreach :, bboard #'. Do not redo native harry farm or WASM shop/combat/guild. Remaining partials: aoh shop/combat (do not invent rooms), simud (no world.obj), morgengrauen (no /d/ebene), acme (no world).