diff options
| author | historia <[not public]> | 2026-07-01 03:21:52 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-07-01 03:21:52 -0400 |
| commit | fbe5090ac3325ff8ea6989cdf4515c7f077c975b (patch) | |
| tree | 1811ad9c6a596e7177bb2c42944c389c0a120066 /building_guide/admin.md | |
| parent | 5f37dc9b6f6b79da04da70ae0c33ec8d02998587 (diff) | |
| download | thehouseoficarus-fbe5090ac3325ff8ea6989cdf4515c7f077c975b.tar.gz | |
feat: item messaging standardized, custom messages for production paths implemented
Diffstat (limited to 'building_guide/admin.md')
| -rw-r--r-- | building_guide/admin.md | 69 |
1 files changed, 55 insertions, 14 deletions
diff --git a/building_guide/admin.md b/building_guide/admin.md index 1c7db93..fbe15d5 100644 --- a/building_guide/admin.md +++ b/building_guide/admin.md @@ -40,7 +40,7 @@ etc.) and they receive a notification. Case-insensitive name matching. ``` dig <direction> [name] ``` -Creates a new room in the given direction (north/south/east/west/up/down) from your +Creates a new room in the given direction (north/south/east/west/ne/nw/se/sw/up/down) from your current room. The new room ID is auto-generated as the lowest available integer at-or-above the minimum room ID in the same directory as your current room's YAML file. @@ -61,7 +61,7 @@ Examples: undig <direction> ``` Deletes the room in the given direction and removes all exits leading to it from -every room. Requires confirmation — type `UNDIG <direction>` to proceed, anything +every room. Requires confirmation — type `y`/`yes` to proceed, anything else to cancel. The target room's name and ID are shown before deletion. A warning is displayed if deleting the room would create orphaned (unreachable) rooms. @@ -196,21 +196,62 @@ Dumps detailed diagnostic information about your current room: - Connected players in the room - Live mob instances with HP +### Web Admin GUI + +The server includes a browser-based admin panel for managing all game data visually. It runs alongside +the game server and is configured in `config.yaml` under `admin_http` (plain HTTP) or `admin_https` +(TLS with auto-generated self-signed certificate). + +#### Setup + +1. Ensure your account YAML has `admin: true` (same as in-game admin). +2. Configure the admin server in `config.yaml`: + ```yaml + admin_http: ":8080" # listens on port 8080, HTTP + # or for HTTPS: + admin_https: ":8443" + ``` +3. Start the game server. The admin panel is available at `http://<host>:8080` (or `https://<host>:8443`). +4. Log in with your account name and password (same credentials as in-game). + +#### Features + +| Page | URL | Description | +|------|-----|-------------| +| Map | `/` | Interactive SVG map showing rooms on a 3D grid. Zoom/pan, click rooms to edit, create/delete rooms and exits, relink exits. Up/down links shown alongside horizontal connections. | +| Items | `/editor/items` | Full CRUD editor with sections for equipment (type/slot/attack/defense/other), tool, craft (type/level/XP/ingredients/stations/tool/steps), firemaking, farming, potions, and requirements. Undo/redo supported. | +| Objects | `/editor/objects` | CRUD editor with sections for gather (tools/drops/success formula), use (message/wait/consumes), talk (visual talk tree editor), safespot, steal, use_interactions, and on_look. | +| Mobs | `/editor/mobs` | CRUD for mob definitions — stats, drops, talk, behavior, assassin/steal/task fields. | +| Drops | `/editor/drops` | CRUD for shared drop tables (gem tables, bird's nests, etc.). | +| Hazards | `/editor/hazards` | CRUD for hazard definitions. | +| Techs | `/editor/techs` | CRUD for technology definitions (buffs, drain rates, categories). | +| Courses | `/editor/courses` | CRUD for agility courses (obstacle sequences, XP, fail damage). | +| Modules | `/editor/modules` | CRUD for science modules (combat/utility/transport/enchant/processing). | +| Players | `/editor/players` | Browse character YAML files and view player state. | +| Flags | `/editor/flags` | View and edit world flags in real time. | +| Files | `/editor/files` | Raw file tree browser for all YAML files under `data/`. | + +All CRUD editors support undo/redo (persisted to `data/.admin_history.json`), so changes can be reverted +even across sessions. + +#### Map Interface + +The map page (`/`) is the main navigation hub: +- Rooms are displayed as colored nodes on a 3D grid, connected by links (bars for two-way, arrows for one-way, X for blocked). +- Click a room node to edit its properties (name, description, color, exits, objects, mobs, spawns). +- Drag connections between rooms to create or relink exits. +- Right-click (or long-press) a room to delete it or access advanced options. +- The map uses the same BFS-based grid layout as the in-game map, showing all rooms on the current z-plane. +- Up/down links are shown with special glyphs when connecting rooms on different z-levels. + ### Workflow The typical admin worldbuilding workflow: -1. **Lay out rooms:** Use `dig` to create connected rooms quickly. If `dig` would create a - grid overlap, a two-way link is created instead — no duplicate rooms. Use `room insert` - to place a new room between two already-connected rooms without breaking the map grid. -2. **Flesh out rooms:** Use `room` commands to set names, descriptions, add objects/mobs/spawns - directly from inside the game. For deeper edits, edit the YAML files directly in - `data/rooms/` to add on-enter scripts, triggers, hazards, etc. -3. **Rearrange:** Use `swapid` to renumber rooms and `undig` to delete rooms you no longer want - (with full exit cleanup). Use `close` to remove individual exits. +1. **Lay out rooms:** Use `dig` to create connected rooms quickly, or use the web map to create and link rooms visually. If `dig` would create a grid overlap, a two-way link is created instead — no duplicate rooms. Use `room insert` to place a new room between two already-connected rooms without breaking the map grid. +2. **Flesh out rooms:** Use `room` commands to set names, descriptions, add objects/mobs/spawns directly from inside the game. Use the web admin editors for richer CRUD with undo/redo. For deeper edits, edit the YAML files directly in `data/rooms/` to add on-enter scripts, triggers, hazards, etc. +3. **Rearrange:** Use `swapid` to renumber rooms and `undig` to delete rooms you no longer want (with full exit cleanup). Use `close` to remove individual exits. 4. **Reload:** Run `reload` to pick up YAML changes without restarting (rooms auto-reload). 5. **Test:** Use `goto` to jump around while debugging room connections and content. -6. **God mode:** Use `god` to test dangerous areas safely — full stats, no aggro, pass through - blocked exits. `ungod` restores normal state. -7. **Debug:** Use `setflag` / `setplayerflag` to test quest logic and conditional content. - Use `inspect` to check room state, flags, and triggers. +6. **God mode:** Use `god` to test dangerous areas safely — full stats, no aggro, pass through blocked exits. `ungod` restores normal state. +7. **Debug:** Use `setflag` / `setplayerflag` to test quest logic and conditional content. Use `inspect` to check room state, flags, and triggers. |
