Skip to content

Repository files navigation

Liaozhai MUX 聊齋

A Rust-based multi-user exegesis for procedural literary fiction and world-building, in the PennMUSH/TinyMUSH lineage

Status: v0.1.0 — connect, authenticate, and list worlds via telnet. In-world simulation begins in v0.2.

Quick Start

git clone https://github.com/hexagram30/liaozhai
cd liaozhai

# Set up data directory
mkdir -p data
cp worlds.example.toml data/worlds.toml

# Build
make build

# Create an account
printf 'secret\nsecret\n' | cargo run --bin liaozhai-server -- account create alice

# Run the server
cargo run --bin liaozhai-server -- run

# In another terminal:
telnet 127.0.0.1 4444

See docs/design/ for architecture decisions and docs/dev/ for milestone plans.


About

Liaozhai MUX is a text-world engine bringing together three traditions:

  • The graph-based spatial models and live-coding extensibility of classic MUDs (DikuMUD, LPMud, LambdaMOO, PennMUSH, TinyMUSH).
  • The data-driven component composition of modern roguelikes (Caves of Qud, Cataclysm DDA, Dwarf Fortress).
  • Salience-based procedural text assembly grounded in the Chinese literary commentary tradition — píngdiǎn 評點.

The "MUX" stands for Multi-User eXegesis — a deliberate echo of the close-reading critical school exemplified by Jin Shengtan, Mao Zonggang, Zhang Zhupo, and Liu Xie's Wenxin Diaolong 文心雕龍. The aim is not only to generate narrative but to make narrative technique legible as runtime structure: foreshadowing, peripheral description, parallel construction, and other named devices from the píngdiǎn corpus become first-class components in the engine.

Etymology — 聊齋

The project takes its name from Liáozhāi Zhìyì 聊齋誌異 ("Strange Tales from a Studio of Leisure"), Pu Songling's late-seventeenth-century collection of nearly five hundred supernatural short stories. Pu Songling framed the work as a scholar-host receiving wandering travelers in his studio and recording the strange tales they brought with them.

That framing — a studio where strange tales accumulate from many sources — is, structurally, what a MUSH is. The name precedes the medium by three centuries.

Architecture (intent)

The architectural overview and foundational decisions live in docs/design/01-draft/. Start with 0001-architecture-overview.md and follow the cross-references into individual ADRs. In brief:

  • Server core: Rust, drawing inspiration (not source compatibility) from PennMUSH/TinyMUSH/LambdaMOO/Evennia.
  • World model: bevy_ecs standalone (not the full Bevy engine) layered as MUSH-shaped surface over ECS substrate.
  • Multi-world hosting: one bevy_ecs::World per game-world; accounts span worlds, in-world identity (Avatar) is per-world.
  • Concurrency: tokio async + actor-model — connections are tasks, worlds are tasks, channels carry everything across boundaries.
  • Soft-code: Lykn — typed, immutable, S-expression Lisp-flavored language with Rust toolchain. AST walking interpreter v0.4, bytecode VM later.
  • Builder/admin client: ratatui TUI (separate process; full Bevy + bevy_ratatui).
  • Text generation: salience-based procedural assembly with named píngdiǎn technique components — 草蛇灰線 (cǎoshé huīxiàn, foreshadowing), 烘雲托月 (hōngyún tuōyuè, peripheral description), and others — as first-class types. v0.5+ work.

Everything above is directional. Concrete decisions live in the ADRs.

Lineage

This project owes intellectual debt to:

  • PennMUSH, TinyMUSH, LambdaMOO, Evennia — for the attribute-keyed object model, soft-code extensibility, and typeclass-style flexibility.
  • Caves of Qud and Cataclysm DDA — for ECS-as-content and data-driven architectures.
  • Dwarf Fortress — for showing what deep simulation looks like underneath narrative surface.
  • Pu Songling — for the frame story.
  • Jin Shengtan, Mao Zonggang, Zhang Zhupo, Liu Xie — for the analytical vocabulary.
  • Emily Short and Valve's dynamic dialogue research — for salience-based text assembly.

Typography

The project uses two registers in its visual identity:

  • 聊斋 (Simplified) in Ma Shan Zheng (楷書 brush calligraphy) — the gestural logomark, evoking a scholar's hand-written title slip.
  • 聊齋 (Traditional) in Noto Serif TC (宋體 book printing) — the printed wordmark, used in headers and document type.

The split between Simplified and Traditional forms is intentional, mirroring how the character historically moved between brush and woodblock.

Hexagram 30 / Cowboys & Beans Games

Liaozhai MUX is part of the Hexagram 30 collection under Cowboys & Beans Games.

License

Apache Version 2.0

About

A Rust-based MUX for procedural literary fiction and world-building, in the PennMUSH/TinyMUSH lineage

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages