# Configuration ## Location `/config.json`. Written with defaults on first boot. ## Full config ```json { "chat": { "channel": "staff.chat", "prefix": "[Staff]" }, "tables": { "punishments": "staff_punishments", "players_seen": "staff_players_seen" }, "presence": { "announce_staff_join_leave": true, "leave_suppression_seconds": 10 } } ``` Permission gating no longer lives here. Each command checks a permission node (`networkstaff.`) via Hytale's `PermissionsModule`. Configure those in the Hytale server's own permission config - see [03_Commands.md](03_Commands.md#permissions) for the full list of nodes. ## Fields ### chat | Field | Default | Meaning | |---|---|---| | `channel` | `"staff.chat"` | MessageBus channel used for cross-server staff chat. Don't share this with other plugins. | | `prefix` | `"[Staff]"` | Visual prefix on every staff chat line. | ### tables | Field | Default | Meaning | |---|---|---| | `punishments` | `"staff_punishments"` | Table name. Change only if you really need to and you're prepared to migrate data. | | `players_seen` | `"staff_players_seen"` | Same. | ### presence | Field | Default | Meaning | |---|---|---| | `announce_staff_join_leave` | `true` | When a staff member (anyone with `networkstaff.chat`) joins or leaves the **network**, announce on the staff chat channel. Server-to-server transfers via `/send` or `/hub` are suppressed. | | `leave_suppression_seconds` | `10` | After a disconnect, wait this many seconds before declaring the player has "left the network." If they reconnect anywhere (any server) in that window, no leave message is sent. Tune higher if your transfers take longer than 10s; tune lower for snappier announcements at the cost of false positives. | Requires NetworkCore's `PlayerPresence` service. If NetworkCore isn't running or PlayerPresence is unavailable, presence announcements are silently skipped (with a warning in the boot log). ## Setting up staff permissions 1. In your Hytale server's permission config, create a `staff` group (or whatever you want to call it). 2. Grant it `networkstaff.*` (or pick specific nodes - see [03_Commands.md](03_Commands.md#permissions) for the list). 3. Assign your staff members to that group. 4. Players need to reconnect for newly-granted permissions to apply. 5. Test with `/lookup ` from a staff account. If you see the lookup output, the perms are wired. ## Environment variables None specific to Staff. The relevant secrets (`MYSQL_PASSWORD`, `NETWORK_AUTH_TOKEN`) live in NetworkCore's env.