# Commands

# Commands Reference

All commands use the `/ksvoice` prefix. Aliases: `vc`, `voicehub`.

Player commands are open to everyone; some need a channel role (owner or moderator). Admin commands need `kyuubisoft.voicehub.admin`. See [Permissions](./permissions).

## Channel Management

| Command | Description | Who |
|---------|-------------|-----|
| `/ksvoice open` | Open the channel browser UI | Everyone |
| `/ksvoice create <name> [type] [password]` | Create a voice channel | Everyone (only `kyuubisoft.voicehub.create` when `allowPlayerCreatedChannels` is `false`) |
| `/ksvoice join <channel> [password]` | Join a channel | Everyone (plus the channel's join permission, if set) |
| `/ksvoice leave` | Leave current channel (returns to Proximity) | Everyone |
| `/ksvoice list` | Show all public channels | Everyone |
| `/ksvoice info <channel>` | Show channel details | Everyone |
| `/ksvoice whisper <player>` | Start a 1-on-1 whisper channel | Everyone |
| `/ksvoice invite <player>` | Invite a player to your channel | Channel Owner/Mod |

**Aliases for open:** `menu`, `ui`

## Channel Settings

| Command | Description | Who |
|---------|-------------|-----|
| `/ksvoice kick <player>` | Kick player from channel | Channel Owner/Mod |
| `/ksvoice mute <player>` | Mute player in channel | Channel Owner/Mod |
| `/ksvoice password <password>` | Set/change channel password | Channel Owner |
| `/ksvoice moderate` | Toggle moderated mode | Channel Owner |

## Talk Power (Moderated Channels)

| Command | Description | Who |
|---------|-------------|-----|
| `/ksvoice request` | Request talk power | Everyone |
| `/ksvoice grant <player>` | Grant talk power | Channel Owner/Mod |
| `/ksvoice revoke <player>` | Revoke talk power | Channel Owner/Mod |
| `/ksvoice revoke all` | Revoke all talk power | Channel Owner/Mod |

## Admin

| Command | Description | Permission |
|---------|-------------|------------|
| `/ksvoice admin panel` | Open the admin panel UI | `kyuubisoft.voicehub.admin` |
| `/ksvoice admin list` | List all channels (including private) | `kyuubisoft.voicehub.admin` |
| `/ksvoice admin create <name> <type> [--perm <p>] [--pass <p>]` | Create a permission-locked channel | `kyuubisoft.voicehub.admin` |
| `/ksvoice admin delete <channel>` | Force-delete any channel | `kyuubisoft.voicehub.admin` |
| `/ksvoice admin mute <player>` | Globally mute a player | `kyuubisoft.voicehub.admin` |
| `/ksvoice admin forcejoin <player> <channel>` | Force a player into a channel | `kyuubisoft.voicehub.admin` |
| `/ksvoice proximity range <blocks>` | Change proximity hearing distance | `kyuubisoft.voicehub.admin` |
| `/ksvoice proximity volume <blocks>` | Change full-volume distance | `kyuubisoft.voicehub.admin` |

The admin node can be renamed with `permissions.adminPermission` in `config.json`.

## Text Chat

| Command | Description |
|---------|-------------|
| `!vc <message>` | Send a text message to voice channel members only |

The message appears as `[VoiceChat] PlayerName: message` and is only visible to members of your current voice channel.