Permissions
VoiceHub uses two categories of permission nodes: player permissions (granted to everyone by default) and admin/config permissions (must be explicitly granted).
Player Permissions
These permissions are registered with default: true, meaning all players have them unless explicitly denied. Deny individual nodes to restrict specific features.
| Permission | Command / Feature | Default | Description |
|---|---|---|---|
ks.voice.user.open | /ksvoice open | true | Open the channel browser UI |
ks.voice.user.create | /ksvoice create | true | Create a voice channel |
ks.voice.user.join | /ksvoice join | true | Join a voice channel |
ks.voice.user.leave | /ksvoice leave | true | Leave current channel |
ks.voice.user.list | /ksvoice list | true | List public channels |
ks.voice.user.info | /ksvoice info | true | View channel details |
ks.voice.user.whisper | /ksvoice whisper | true | Start a whisper channel |
ks.voice.user.invite | /ksvoice invite | true | Invite a player to your channel |
ks.voice.user.kick | /ksvoice kick | true | Kick a player from your channel |
ks.voice.user.mute | /ksvoice mute | true | Mute a player in your channel |
ks.voice.user.password | /ksvoice password | true | Set/change channel password |
ks.voice.user.moderate | /ksvoice moderate | true | Toggle moderated mode |
ks.voice.user.request | /ksvoice request | true | Request talk power |
ks.voice.user.grant | /ksvoice grant | true | Grant talk power |
ks.voice.user.revoke | /ksvoice revoke | true | Revoke talk power |
Player permissions default to true. You only need to touch these if you want to deny a specific feature to certain players or groups. For example, deny ks.voice.user.create to prevent a group from creating channels while still letting them join existing ones.
Admin Permissions
Admin permissions must be explicitly granted. They are not granted by default.
| Permission | Command / Feature | Default | Description |
|---|---|---|---|
ks.voice.admin | /ksvoice admin, /ksvoice proximity | false | Required by the command system for admin subcommands |
kyuubisoft.voicehub.admin | Admin panel, admin commands | false | Checked at runtime for all admin operations (panel, list, create, delete, mute, forcejoin, proximity) |
kyuubisoft.voicehub.create | /ksvoice create (restricted mode) | false | Only checked when allowPlayerCreatedChannels is false in config |
Both ks.voice.admin and kyuubisoft.voicehub.admin are required for admin commands to work. The first is the command-level gate; the second is checked at runtime inside the command handler.
Configurable Permissions
The following permission nodes can be changed in config.json under the permissions section:
| Config Key | Default Value | Description |
|---|---|---|
adminPermission | kyuubisoft.voicehub.admin | Permission checked for all admin operations |
createPermission | kyuubisoft.voicehub.create | Permission checked when allowPlayerCreatedChannels is false |
{
"permissions": {
"adminPermission": "kyuubisoft.voicehub.admin",
"createPermission": "kyuubisoft.voicehub.create"
}
}
Channel-Level Permissions
Inside a voice channel, each member has a role that determines what they can do:
| Role | Actions |
|---|---|
| Owner | Edit channel settings, set password, toggle moderation, kick, mute, invite, grant/revoke talk power, delete channel |
| Moderator | Kick, mute, invite, grant/revoke talk power |
| Member | Request talk power, leave, use text chat (!vc) |
Owners and moderators always have talk power in moderated channels.
Per-Channel Join Permissions
Admin-created channels can require a custom permission to join. This is set with the --perm flag:
/ksvoice admin create VIPLounge GROUP --perm myserver.vip.voice
Only players with myserver.vip.voice will be able to join that channel. This check applies in both the command and the UI.
Permission Flow Examples
Player creates and manages a channel
ks.voice.user.create-- allows/ksvoice create- If
allowPlayerCreatedChannelsisfalse, also needskyuubisoft.voicehub.create - Creator becomes channel Owner -- can kick, mute, set password, etc.
Admin manages server voice
- Needs
ks.voice.admin+kyuubisoft.voicehub.admin - Can open admin panel, force-delete channels, voice-ban players, adjust proximity settings
- Admins bypass password and invite-only restrictions when joining channels through the UI