Initial commit: SSH MUD server with data-driven world
Rust-based MUD server accepting SSH connections on port 2222. Players connect with any SSH client, get dropped into a data-driven world loaded from TOML files at startup. Binary systems: SSH handling (russh), command parser, game state, multiplayer broadcast, ANSI terminal rendering. Data layer: world/ directory with regions, rooms, NPCs, and objects defined as individual TOML files — no recompile needed to modify. Commands: look, movement (n/s/e/w/u/d), say, who, help, quit. Made-with: Cursor
This commit is contained in:
8
world/town/rooms/cellar.toml
Normal file
8
world/town/rooms/cellar.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
name = "Tavern Cellar"
|
||||
description = """\
|
||||
A damp underground room lined with barrels and crates. Cobwebs drape \
|
||||
the ceiling. A single lantern sputters on a hook, casting long shadows. \
|
||||
Something skitters in the dark corners."""
|
||||
|
||||
[exits]
|
||||
up = "town:tavern"
|
||||
9
world/town/rooms/dark_alley.toml
Normal file
9
world/town/rooms/dark_alley.toml
Normal file
@@ -0,0 +1,9 @@
|
||||
name = "Dark Alley"
|
||||
description = """\
|
||||
A narrow passage between crumbling stone walls. Puddles of dubious origin \
|
||||
dot the ground. Shadows pool in doorways, and you catch the faint sound \
|
||||
of whispered conversation from somewhere above."""
|
||||
|
||||
[exits]
|
||||
north = "town:town_square"
|
||||
south = "town:gate"
|
||||
8
world/town/rooms/forge.toml
Normal file
8
world/town/rooms/forge.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
name = "Blacksmith's Forge"
|
||||
description = """\
|
||||
Waves of heat roll from a roaring forge. A massive anvil stands in the \
|
||||
center, scarred by countless hammer strikes. Weapons and armor line the \
|
||||
walls, gleaming with fresh oil."""
|
||||
|
||||
[exits]
|
||||
west = "town:market"
|
||||
8
world/town/rooms/gate.toml
Normal file
8
world/town/rooms/gate.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
name = "City Gate"
|
||||
description = """\
|
||||
Towering iron-reinforced wooden gates mark the southern edge of town. \
|
||||
Guards in dented armor lean on their spears, watching the dusty road \
|
||||
that stretches into the wilderness beyond."""
|
||||
|
||||
[exits]
|
||||
north = "town:dark_alley"
|
||||
9
world/town/rooms/market.toml
Normal file
9
world/town/rooms/market.toml
Normal file
@@ -0,0 +1,9 @@
|
||||
name = "Market Row"
|
||||
description = """\
|
||||
Colorful stalls line both sides of a narrow street. Merchants hawk their \
|
||||
wares — bolts of cloth, exotic spices, gleaming trinkets. The air is thick \
|
||||
with competing smells and the chatter of commerce."""
|
||||
|
||||
[exits]
|
||||
west = "town:town_square"
|
||||
east = "town:forge"
|
||||
9
world/town/rooms/tavern.toml
Normal file
9
world/town/rooms/tavern.toml
Normal file
@@ -0,0 +1,9 @@
|
||||
name = "The Rusty Tankard"
|
||||
description = """\
|
||||
A warm tavern with low wooden beams and the smell of roasting meat. \
|
||||
A crackling fireplace casts dancing shadows across rough-hewn tables. \
|
||||
The barkeep polishes a mug behind the counter, eyeing newcomers."""
|
||||
|
||||
[exits]
|
||||
south = "town:town_square"
|
||||
down = "town:cellar"
|
||||
8
world/town/rooms/temple.toml
Normal file
8
world/town/rooms/temple.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
name = "Temple of the Dawn"
|
||||
description = """\
|
||||
A serene stone temple bathed in golden light filtering through stained \
|
||||
glass windows. Rows of wooden pews face an altar adorned with candles. \
|
||||
The air hums with quiet reverence."""
|
||||
|
||||
[exits]
|
||||
east = "town:town_square"
|
||||
11
world/town/rooms/town_square.toml
Normal file
11
world/town/rooms/town_square.toml
Normal file
@@ -0,0 +1,11 @@
|
||||
name = "Town Square"
|
||||
description = """\
|
||||
You stand in the heart of Thornwall. A worn stone fountain sits at the \
|
||||
center, water trickling quietly. Cobblestone paths branch in every \
|
||||
direction. The sounds of merchants and travelers fill the air."""
|
||||
|
||||
[exits]
|
||||
north = "town:tavern"
|
||||
east = "town:market"
|
||||
west = "town:temple"
|
||||
south = "town:dark_alley"
|
||||
Reference in New Issue
Block a user