# Configuration ## Location `/config.json`. Written with defaults on first boot. ## Full config ```json { "permissions": { "staff_groups": ["OP", "ADMIN", "MOD", "HELPER"], "admin_groups": ["OP", "ADMIN"] }, "chat": { "channel": "staff.chat", "prefix": "[Staff]" }, "tables": { "punishments": "staff_punishments", "players_seen": "staff_players_seen" } } ``` ## Fields ### permissions | Field | Default | Meaning | |---|---|---| | `staff_groups` | `["OP", "ADMIN", "MOD", "HELPER"]` | Any Hytale group name in this list grants access to staff commands. | | `admin_groups` | `["OP", "ADMIN"]` | Subset that the plugin treats as "admin". v1 doesn't gate anything on this, but it's available for future features that want to require admin (e.g. unban after a permaban). | Group names come from `PermissionsModule.get().getGroupsForUser(uuid)`. Set up your groups in the Hytale server's own configuration first; this plugin just reads them. ### 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. | ## Setting up staff groups In your Hytale server config, define groups and assign players: 1. Make sure the group names you assign match one of `staff_groups` exactly. The check is case-sensitive (groups in Hytale tend to be uppercase, e.g. `OP`). 2. After assigning, the player needs to relog for the change to take effect (`PermissionsModule.get().getGroupsForUser` is queried on each command, but Hytale generally requires a reconnect for group changes to apply on the player side). 3. Test with `/lookup ` from a staff account. If you see the lookup output, you have staff perms. ## Environment variables None specific to Staff. The relevant secrets (`MYSQL_PASSWORD`, `NETWORK_AUTH_TOKEN`) live in NetworkCore's env.