Permissions
Permissions
Section titled “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
Section titled “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 |
Admin Permissions
Section titled “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
Section titled “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
Section titled “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
Section titled “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.voiceOnly 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
Section titled “Permission Flow Examples”Player creates and manages a channel
Section titled “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
Section titled “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