VoiceChat Channels

How to use voice chat channels (the /channel command, configuring channels and permissions)

Channels

Channels are a way to let players talk to others globally (without the limitation of distance from proximity voicechat, or the spatial audio effect). Think of them as TeamSpeak/Discord channels, but in Minecraft.
Channels can be managed per-server, and each channel can have its own dedicated permission requirements, making it possible to create (for example) a public channel, a donator channel, and a staff channel.

Registering channels

The config file in plugins/OpenAudioMc/config.yml contains a section for channels. Here's an example of what that looks like:

# Static channels are a set of channels that will always exist (even if they are empty), and can be locked behind certain permissions # You can use this feature in cases where individuals don't have permissions to create their own channels, but sitll want to offer # some groups for global voicechat (like a channel for minigames, off-topic, and roleplay). You can add more values here if you wish, # or disable the feature entirely. Keep in mind to include all sub values if you add a new channel, and to respect yaml formatting. # These values are only used on spigot instances static-channels: enabled: true list: - name: survival permission: channels.survival requirePermission: true - name: off-topic permission: channels.offtopic requirePermission: true - name: staff-chat permission: channels.staffchat requirePermission: true

In this example, we have three channels: survival, off-topic, and staff-chat. Each channel has a permission requirement, and the requirePermission value is set to true. This means that players need to have the permission channels.survival, channels.offtopic, or channels.staffchat to join these channels. If you set requirePermission to false, the channel will be public and anyone can join it.
These channels will continue to exist even if they are empty, which is different from user-created channels (which will be removed if they are abandoned).

Channels are loaded from the config when the server starts, so you will need to restart your server to apply changes to the channel list.
If you with to disable static channels, you can set static-channels.enabled to false.
It's also possible to disable all channels by setting options.enable-channel-command to false in the config file, and then restarting your server.

(Temporary) User-created channels

Players who have the correct permission (listed below) can create their own channels. These channels will be removed if they are left empty, and only the creator of the channel can invite others to it (but staff with the force join permission, which is also listed below, will always be able to join).
Channel owners can invite other players to their channel by running /channel invite {player}. The invited player will receive a notification, which they have to click within 30 seconds to join the channel. Invite

Channel listing

If the /channel command is enabled, then everyone can see the list of available channels by running /channel list. This command shows all channels, their status, and the amount of players in them by default.
Server owners can change the entire response format of this command, making it fit server branding or (for example) hiding certain elements (like the list of players in a channel).

# Format messages for the channel list command voicechat-channel-list-no-channels: '&7&oThere are no voice chat channels available' voicechat-channel-list-header: '&7&oAvailable voice chat channels and their occupants:' voicechat-channel-list-item: '&f┌ &b{channel}\n&8├─ &3{type}\n&8└─ &7&o&d{participants}&7&o'

channel list

Leaving and joining channels

Players can join a channel by running /channel join {channel}. If the channel is public, they will be able to join without any issues. If the channel is private, they will need to have the correct permission to join it or are prompted to ask for an invite. Messages for both of these actions can be found in the config file, and can be changed to fit your server's branding.

Players are always able to leave a channel by running /channel leave.

Permissions

openaudiomc.channel.create

This is the permission for '/channel create', allowing the executor to create a temporary voice channel

Default access level: op

openaudiomc.channel.force-join

Players with this permission will always be able to join a channel through '/channel join', even if its a private channel owned by a player (which would otherwise require an invite) of if the targeted channel has a configured permission.

Default access level: op

Javadoc