- world/MANIFEST.md: manifest.toml and directory layout - world/races/RACES.md: race schema (stats, body, natural, resistances, etc.) - world/classes/CLASSES.md: class schema (base_stats, growth, hidden, guild) - world/guilds/GUILDS.md: guild schema and [growth] - world/spells/SPELLS.md: spell schema and types - world/town/REGION.md: region.toml - world/town/rooms/ROOMS.md: room schema and exits - world/town/npcs/NPCS.md: NPC schema, race/class resolution - world/town/objects/OBJECTS.md: object schema and [stats] Made-with: Cursor
1.3 KiB
1.3 KiB
World Manifest Reference
The file world/manifest.toml defines the world identity and spawn location. There is exactly one manifest per world.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | World name (e.g. shown at login). |
spawn_room |
string | Yes | Full room ID where new characters and respawned dead characters appear (e.g. "town:town_square"). Must reference an existing room. |
Example
name = "The Shattered Realm"
spawn_room = "town:town_square"
Directory layout
The loader expects (under world/):
manifest.toml— this fileraces/*.toml— race definitions (seeraces/RACES.md)classes/*.toml— class definitions (seeclasses/CLASSES.md)guilds/*.toml— guild definitions (seeguilds/GUILDS.md)spells/*.toml— spell definitions (seespells/SPELLS.md)<region>/— one folder per region (e.g.town/), each containing:region.toml— region metadata (seetown/REGION.md)rooms/*.toml— rooms (seetown/rooms/ROOMS.md)npcs/*.toml— NPCs (seetown/npcs/NPCS.md)objects/*.toml— objects (seetown/objects/OBJECTS.md)
Folder names races, classes, guilds, and spells are reserved; other top-level directories are treated as regions.