Scratch

✅ 可玩

scratch

更新 3ce695d 2026-09-13 源码 下载 ZIP 上游 rmanis/scratch

▶ 开始游玩 · Play Now

A three-file FluffOS starter by the Lil author (rmanis), shipped with the line "If you consider Lil to have too much, start from Scratch." Not a game: no accounts, rooms, or combat. Connecting drops you into an echo chamber that prints unknown input as %O; look/score/quit are present. Not collection lil (the MudOS testsuite lib).

README

Snapshot of https://github.com/rmanis/scratch (commit 4ac1a4e, 2013-08-10). A three-file FluffOS starter by the Lil author. Slug scratch, number 971, port 40280. This collection’s copy is a snapshot, not a live mirror.

Not a game: no accounts, rooms, or combat. Connecting drops you in an echo chamber. Unknown input is printed as %O. look / score / quit work.

Not a duplicate of collection lil.

Registration flow

None. Telnet in.

Admin / test account

None. There is no login.

Verified live 2026-09-05: connect → look / score / quit.

Local run

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

Game port: 40280.

python3 scripts/mudclient.py 127.0.0.1 40280 --timeout 15 --idle 0.5 \
  --send look --send score --send quit

NOTES · 移植与修复记录

Scratch (scratch) — porting notes

Source: git clone https://github.com/rmanis/scratch (commit 4ac1a4ed898d217a9bb02508709694bd51ecbc76, “Add contents to master and what it needs.”, 2013-08-10; converted 2026-09-05). Config name Scratch. Slug scratch, number 971, port 40280.

This collection’s copy is a snapshot, not a live mirror.

Minimal FluffOS starter by the Lil author (rmanis). Shipped README: “If you consider Lil to have too much, start from Scratch.” Three LPC files: master, empty simul, echo chamber. Not a game and not a duplicate of lil (179; that archive is the MudOS testsuite lib). Do not onboard rmanis/scratch again.

0. Layout

Repo root is the mudlib. Master /single/master, simul /single/simul_efun (empty), connect object /clone/echochamber. No rooms, accounts, or commands in the archive. raw/ is gitignored.

1. Convert (2026-09-05)

convert_lib.sh UTF-8: already_utf8=10 converted=0 lossy=0 skipped_binary=0. 3 .lpc.

2. FluffOS port

The archive master was only connect(). FluffOS needs get_root_uid/creator_file/valid_*. Original connect() did destruct(this_object()) on new(ECHOCHAMBER) failure — that is the master, so a failed clone would take down the driver. Fixed: write the error and return 0. Original saved as master_orig.lpc.

Empty global include file in the archive config is the questmud trap (driver #includes ""). Pointed at "/include/globals.h".

set_this_player() in the archive logon() is not an efun on this driver (Undefined function); dropped. Interactive connect already sets this_player().

Echo chamber: original process_input only printf("%O\n", input). Added look / score / quit so the catalog bar works; unknown input still dumps %O.

Live-verified (native, port 40280)

No accounts. Connect → echo chamber; look / score / hello (echoes "hello") / quit (“Goodbye.”). Cold-boot after formatter still works.

WASM not verified. unique_games stays counting numbers < 900; 971 is still listed as a lib.

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

Catalog echo chamber only — the archive has no playable world (no rooms, accounts, shop, or combat). Do not invent rooms. Source- complete bar for a three-file starter.

Native boot (~/src/fluffos/build-debug/src/driver config.fluffos from libs/scratch, port 40280, PID owned by this session):

Logs this boot: