init
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# Configuration
|
||||
|
||||
## Location
|
||||
|
||||
`<plugin data dir>/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 <staff-member-name>` 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.
|
||||
Reference in New Issue
Block a user