MorgenGrauen

✅ 可玩

morgengrauen

更新 fdf581a 2026-09-12 源码 下载 ZIP 上游 MorgenGrauen/mg-mudlib

▶ 开始游玩 · Play Now

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

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.fluffos

Game 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 quit

NOTES · 移植与修复记录

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 + 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 40283, lazy resets : 1.

Catalog overlay (questmud §7.158 cluster):

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.

/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):

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.