A text adventure world rendered as connected rooms, command output, and bytecode motifs.

Open-source LPC worlds on the JVM

A modern Java-native platform for building and playing text-only, interactive, multiplayer worlds in the LPMUD tradition: live LPC content hosted inside a JVMud engine built around places, entities, personas, persistence, time, and presence.

What It Is

JVMud compiles LPC-authored game content to JVM classes and hosts it inside an engine built around the core features of MUD: Game, Text, Interactive, Multiplayer, World, Persistence, Temporality, and Presence. Check out the Glossary to learn more!

Current Shape

The repository contains a Java engine, an LPC compiler, a hosted instance layer, Telnet transport, persistence adapters, a local admin CLI, the native LPMuseum landing mudlib, and legacy mudlib content used to drive compatibility work.

Project Areas

Engine

Engine-owned world concepts: worlds, places, links, entities, containment, capabilities, players, sessions, personas, and deterministic scheduling.

Compiler

Scanner, preprocessor, parser, semantic analysis, typed IR, bytecode generation, efun contracts, generated-code helpers, and LPC runtime loading.

Instance And Transport

A hosted world instance that starts in LPMuseum, a Telnet transport for player sessions, and a single-user admin shell for filesystem and object work.

Architecture

JVMud's package layout follows a responsibility map centered on the engine, with compiler, mudlib, persistence, instance, transport, and player-facing concerns kept distinct.

Open Architecture

Status

JVMud is early-stage engine work with a Maven-backed baseline, a buildable runtime module, a live Telnet path, and an LPC compiler that is being expanded against real mudlib transcripts. Compatibility work is deliberately incremental and preservation-first.

mvn test
scripts/jvmud-admin
scripts/jvmud-start

User Manual

The user manual collects the current JVMud guide in a browsable web page with a matching PDF for offline reading.

Open User Manual

Java API Docs

Generated Javadocs publish the current compiler and engine contracts: runtime world primitives, mudlib boundary declarations, compiler pipeline entry points, LPC runtime loading, and efun registration.

Open API Docs