aboutsummaryrefslogtreecommitdiff
path: root/building_guide/admin.md
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-01 03:21:52 -0400
committerhistoria <[not public]>2026-07-01 03:21:52 -0400
commitfbe5090ac3325ff8ea6989cdf4515c7f077c975b (patch)
tree1811ad9c6a596e7177bb2c42944c389c0a120066 /building_guide/admin.md
parent5f37dc9b6f6b79da04da70ae0c33ec8d02998587 (diff)
downloadthehouseoficarus-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.md69
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.