info.html · 介绍 · play.html · 游玩 · llms.txt · 下载与本地运行 · ZIP · GitHub
Official public MorgenGrauen mudlib (German LPMud, LDMud 3.x). LDMud → FluffOS conversion: catalog login lands in Die beruehmte Abenteurergilde. Walkable Hafenstrasse (reconstructed po_haf1) and Foerderverein buero. Full Port Vain domain and /d/anfaenger are not in the snapshot. Not Shea690901/Sagenwelt-Lib (collection sagenwelt).
README
LDMud → FluffOS conversion. Snapshot of git clone https://github.com/MorgenGrauen/mg-mudlib.
Slug morgengrauen, number 974, port 40283.
This collection’s copy is a snapshot, not a live mirror.
Official public MorgenGrauen mudlib (German LPMud, LDMud 3.x). LDMud → FluffOS conversion: archive master uses set_driver_hook/closures; catalog login lands in Die beruehmte Abenteurergilde (Port Vain). Full LDMud source tree is preserved. Not Shea690901/Sagenwelt-Lib (collection sagenwelt).
German LDMud sources are preserved for study. Interactive play is a Strategy A start hall (guild / Hafenstrasse / buero), not the full LDMud world. Published as playable on that start.
Registration flow
Name (2–16 letters) → new character: password (≥6, twice) → Die beruehmte Abenteurergilde. Existing names prompt for password only.
Admin / test account
- name:
fluffos - password:
Mud@2026 - privilege: seeded mortal (level 1). This overlay does not auto-god the first player.
Verified live: fluffos / Mud@2026 → Die beruehmte Abenteurergilde;
look / look at tuer / north Hafenstrasse / up Buero / score /
quit; reconnect lands in the guild again.
Local run
cd libs/morgengrauen
~/src/fluffos/build-debug/src/driver config.fluffosGame port: 40283.
python3 scripts/mudclient.py 127.0.0.1 40283 --timeout 25 --idle 0.6 \
--send fluffos --send Mud@2026 \
--send look --send score --send quitNOTES · 移植与修复记录
MorgenGrauen (morgengrauen) — porting notes
Source: git clone https://github.com/MorgenGrauen/mg-mudlib (commit a178b88a9cac64480a9475f72a96cd4c183e64c7, cloned 2026-09-05); repo root is the mudlib. Converted 2026-09-05. Config name MorgenGrauen.
Slug morgengrauen, number 974, port 40283.
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 +
static→nosave 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 40283,
lazy resets : 1.
Catalog overlay (questmud §7.158 cluster):
/catalog/master.lpc—get_root_uid/get_bb_uid,creator_filealways returns string"BACKBONE",valid_readincludesload_object/recompile_object/include/restore_object,valid_overridereturns 1,error_handler→/log/catch/catalog/simul_efun.lpc— thincat/log_file/exists/catalog/login.lpc,/catalog/player.lpc— name/password →/gilden/abenteurer(Strategy A; Void fallback if load fails)/catalog/void.lpc,/catalog/workshop.lpc— leftover overlay rooms
3. Live-verified (native, port 40283)
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 German LDMud 3.x world is not loaded.
Organic fluffos / Mud@2026 on native 40283: 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:08:07, live fd
libs/morgengrauen/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.
4. What is not ported yet
Full LDMud world (/d/ebene Port Vain and other domains live in
git submodules that are not in this snapshot), guild commands
(liste / kosten / lerne), shop, combat, protocol stacks,
OSB/MG kernel daemons. 840 #' in 180 files — do not attempt a
mechanical /std rewrite this slice. /room/church is a leftover
English 2.4.5 church, not the live German spawn.
6. Full dialect port (Strategy A, 2026-09-06)
Catalog Void/workshop is no longer the live start. Established
players in the archive start at /gilden/abenteurer ("Die
beruehmte Abenteurergilde"; std/player/base.lpc P_START_HOME).
Newbies go to /room/welcome/<name> then a tutorial hut — that
path is not loaded here.
/std/room cannot load on FluffOS (LDMud inherit + #').
Strategy A keeps the authentic path and German text as thin
FluffOS rooms; original guild object is
/gilden/abenteurer_ldmud.lpc.
/gilden/abenteurer— guild hall (login)/d/ebene/room/PortVain/po_haf1— Hafenstrasse (north). Domain files.ebene is not in the snapshot; text reconstructed from the guild's own Hafenstrasse / Port Vain details so the exit walks./p/verein/room/buero— Foerderverein office (up)
/catalog/login still handles name/password. /catalog/player
enter_world() moves into the guild (fallback Void if load fails).
Live walk (native 40283, 2026-09-06, organic fluffos /
Mud@2026):
- Lands in Die beruehmte Abenteurergilde.
look at tuer/dielen/uhr. - North → Hafenstrasse von Port Vain. South back. Up → Buero des Foerdervereins. Down back.
scorelevel 1, hp 20/20. Quit persist. Reconnect lands in the guild again.
This-boot live libs/morgengrauen/log/debug.log (fd 3, PID
1724270 BOOT_MARKER1 mg-abenteurer): start rooms compiled, no
new lines after the marker. Catch this walk: empty after the
marker (older *catch-path-probe line is from 2026-09-05).
Published (wasm_status: playable) after user 2026-09-11:
they can consider playable now. Guild-hall walk is the snapshot
start. Shop / combat / liste / lerne are still not claimed.
Do not invent Port Vain.
5. WASM
Verified 2026-09-05 via scripts/wasm_client.js: register/reconnect fluffos, look/score/quit.
Published on mudlibs.fluffos.info (wasm_status: playable)
after user 2026-09-11. WASM catalog look/score/quit was already
verified 2026-09-05. Do not invent Port Vain.
<!-- librarian-leftover:634 -->
Leftover 634 (2026-09-10, cheap reconfirm, no boot).
work/d/ is only ebene + seher. PortVain still
has the one reconstructed po_haf1.lpc. /d/anfaenger
(archive mantisbee combat, host-only #if MUDHOST)
is not in the snapshot. zeitungsautomat.lpc exists
but inherits LDMud /std/thing (free newspaper, not
a shop). Guild liste/kosten/lerne still live
in /std/gilde + #' and are not wired. /d/seher
(47 files) has no exit from the walked guild /
Hafenstrasse / buero. Do not invent Port Vain
streets or connect seher. Do not flip. aoh is
already playable (29d73abf400).
<!-- librarian-leftover:635 -->
Leftover 635 (2026-09-10, persist only, no boot).
Same tree as leftover 634 (f0975b36b09):
work/d/ still ebene + seher; PortVain still
only po_haf1.lpc; /d/anfaenger still missing.
Issue #3 still OPEN, 0 comments
(updatedAt 2026-09-03). Do not invent Port Vain.
Do not flip.
<!-- librarian-leftover:636 -->
Leftover 636 (2026-09-11, persist only, no boot).
Same tree as leftover 635 (1ddf6f10123).
Issue #3 still OPEN, 0 comments. Do not invent
Port Vain. Do not flip.
<!-- librarian-leftover:637 -->
Leftover 637 (2026-09-11, persist only, no boot).
Same tree as leftover 636 (d60cd9919c7).
Issue #3 still OPEN, 0 comments. Do not invent
Port Vain. Do not flip.
<!-- librarian-leftover:638 -->
Leftover 638 (2026-09-11, persist only, no boot).
Same tree as leftover 637 (3dcd14f5af3).
Issue #3 still OPEN, 0 comments. Do not invent
Port Vain. Do not flip.
<!-- librarian-leftover:639 -->
Leftover 639 (2026-09-11, persist only, no boot).
Same tree as leftover 638 (b7106c81e28).
Issue #3 still OPEN, 0 comments. Do not invent
Port Vain. Do not flip.
<!-- librarian-leftover:640 -->
Leftover 640 (2026-09-11, persist only, no boot).
Same tree as leftover 639 (16876edf6d8).
Issue #3 still OPEN, 0 comments. Do not invent
Port Vain. Do not flip.
<!-- librarian-leftover:641 -->
Leftover 641 (2026-09-11, persist only, no boot).
Same tree as leftover 640 (f89c13266ea).
Issue #3 still OPEN, 0 comments. Do not invent
Port Vain. Do not flip.
<!-- librarian-leftover:642 -->
Leftover 642 (2026-09-11, persist only, no boot).
Same tree as leftover 641 (25e2370fa27).
Issue #3 still OPEN, 0 comments. Do not invent
Port Vain. Do not flip.
<!-- librarian-leftover:643 -->
Leftover 643 (2026-09-11, persist only, no boot).
Same tree as leftover 642 (7860bad89b1).
Issue #3 still OPEN, 0 comments. Do not invent
Port Vain. Do not flip.
<!-- librarian-leftover:644 -->
Leftover 644 (2026-09-11). User: they can consider
playable now. Flipped wasm_status to playable on
existing guild / Hafenstrasse / buero evidence. Do
not invent Port Vain or connect seher.
<!-- librarian-leftover:645 -->
Leftover 645 (2026-09-11, persist only, no boot).
Already playable (546d780ee87). Same tree. Issue
#3 still OPEN, 0 comments. Do not invent Port Vain.
Do not flip again.
<!-- librarian-leftover:646 -->
Leftover 646 (2026-09-11, persist only, no boot).
Already playable (546d780ee87). Same tree as
leftover 645 (bfcd764dde2). Issue #3 still OPEN,
0 comments. Do not invent Port Vain. Do not flip
again.
<!-- librarian-leftover:647 -->
Leftover 647 (2026-09-11). User: if all source
content is loadable it is done; fix trivial load
failures; do not invent. Archive
/gilden/abenteurer already AddItems
/obj/zeitungsautomat. Thin stand + newspaper
copy (originals *_ldmud.lpc). Live native 40283
organic fluffos: look Zeitung is here; look at
zeitung archive long; nimm archive get message;
inventory Die Zeitung; second nimm already-have.
Full MPA news reader is not trivial.
liste/lerne still need /std/gilde + #'.
Do not invent Port Vain.