# Voice groups

Joining, creating and leaving voice groups from the in-game menu

Source: https://socketsvc.vercel.app/client/groups
A voice group is a named channel you join. Everyone in it hears everyone else in it at full volume, wherever they are — different worlds included — instead of only when they are close enough. Press <kbd>G</kbd> to open the menu, or run `/ssvc groups`.

<Callout title="The server decides whether groups exist">
  Groups are a server feature and are off unless the server turns them on. If this one has not, the menu says so in one line and shows nothing else. There is nothing to configure on your side, and nothing you can do from the client to change it.
</Callout>

## The menu

The menu has two tabs along the top, because there are two questions: **Groups** ("what could I join?") and **Players** ("where is so-and-so?"). The count on each tab says how many there are. **New group** and the refresh button sit beside them, and once a tab has six or more entries a search box appears at the right of the same row.

### Groups

On the left is the list of groups, with the one you are in at the top marked **You**. Each row shows the group's name, how many people are in it, a coloured chip for its [type](#types), a padlock if it asks for a password, and a few of the faces already in it. Hovering a row lists every member by name.

**Clicking a group selects it; it does not join it.** The selected group opens in the pane on the right:

- its name, type, whether it has a password, and whether it stays open when empty
- who runs it — a star marks the owner — or that the server made it
- what its type means for who can hear whom
- **everyone in it**, face and name, with a ring around anyone talking right now

Along the bottom of the pane are the buttons:

- **Join**, for a group you are not in. If it needs a password the menu asks for it first; <kbd>Enter</kbd> submits. You are only ever in one group at a time, so joining another leaves the one you were in.
- **Leave** and **Invite**, for the group you are in. **Invite** switches to the Players tab, where clicking someone invites them.
- **Manage**, if you made the group or you are a moderator. It opens [the management screen](#managing-a-group).

Every group also has a **colour of its own**, picked from its identity and the same on every client. It runs down the edge of its row and its pane, and appears again beside its name on the Players tab, so the two tabs can be read against each other without matching up names.

On a small window the list and the pane take turns: selecting a group opens its pane in place of the list, and **Back** (or <kbd>Esc</kbd>) returns to it.

### Invitations

If somebody in a group invites you, it appears at the top of the Groups list — who sent it, which group, and a countdown — with **Accept** and **Decline** beside it. You also get a chat line the moment it arrives, since the whole point of being invited is that you were not looking at the menu.

- **Accepting bypasses the group's password.** That is the point of the feature: an invitation is consent from inside the group, and it is the alternative to passing a password around in chat rather than a way past one.
- Everything else still applies. A group that filled up or was disbanded while the invitation stood refuses it like it would refuse anyone.
- **Declining tells nobody**, and you can still join the group the usual way afterwards.
- An invitation lapses after a couple of minutes (the server sets how long). Once the countdown runs out the Accept button goes quiet on its own.
- To send one, click a player on the **Players** tab while you are in a group. Any member may invite — not only whoever made the group.

<Callout title="It is an invitation, not a summons">
  Nothing happens to the person you invite until they accept. Moderators with `socketsvc.groups.admin` have the stronger [move](#players) action instead, which does not ask.
</Callout>

### Players

Every player on the server with a voice connection — you included — showing their head, their name, how loud they are right now, and which group they are in (or **None**). A player in no group appears in no group, and they are usually the reason you opened the menu.

Clicking someone does the most useful thing it can, and the tooltip always says what that is:

- While you are in a group, it **invites them to it** — see [Invitations](#invitations).
- Otherwise, if they are in a group, it **shows you that group** on the Groups tab.

<Callout title="For moderators">
  With the `socketsvc.groups.admin` permission, clicking someone brings them into your group, or takes them out of it if they are already there; if you are in no group, clicking someone in one removes them from it.
</Callout>

## Managing a group

**Manage** in a group's pane opens a screen of its own, for the group's owner and for moderators. Everything on it takes effect for everyone in the group straight away, and the server's answer — "Saved", or why not — appears in a banner across the top.

- **Details** — rename the group, change its [type](#types), and choose whether it stays open after the last person leaves.
- **Password** — set a new one, change it, or remove it. Members already inside stay inside; the password is only checked at the door.
- **Members** — everyone in the group, owner first. **Kick** takes someone out of the group (they go back to proximity chat, and can join again unless you set a password). **Make owner** hands the group to another member: you keep your seat, but you can no longer manage it.
- **Invite players** — everyone connected who is not in the group, for an owner who is a member. Moderators get **Add players** instead, which moves them in without asking.
- **Danger zone** — **Disband group** ends the group for everyone in it.

Kick, Make owner and Disband each ask twice: the first click turns the button into **Click again**, and a second click within a few seconds does it.

<Callout title="Older servers">
  Renaming, passwords, persistence, kicking and handing a group on need a server running a SocketSVC version from after they were added. On an older server the screen says so and offers what that server can do: the type, disbanding and, for moderators, moving people out.
</Callout>

## Types

The type is chosen when the group is made, and changes only what you hear of the players **around** you. Inside the group it makes no difference at all.

| Type | You hear nearby players who are in no group | They hear you |
| --- | --- | --- |
| **Isolated** | No | No |
| **Normal** | Yes | No |
| **Open** | Yes | Yes |

**Normal** is the usual choice and is one-way on purpose: you can follow what is happening around you while your own conversation stays private. **Open** is a group that simply adds distance-free audio between its members on top of ordinary proximity chat. **Isolated** shuts the door in both directions.

Players in a *different* group are never audible, whatever either group's type.

## Making one

**New group** asks for four things:

- **Name** — up to 24 characters, and unique on the server.
- **Password** — optional. Leave it empty and anyone can walk in.
- **Type** — see above; the help text under the row says what the selected one does.
- **Keep when empty** — whether the group stays on the server after the last person leaves it. Servers often do not allow this.

Anything the server refuses is said in a red banner across the top of the menu, with the reason spelled out: a name already taken, a password on a server that does not allow them, a group that is full, or the server having as many groups as it allows. A group you successfully create gets the same banner in green. Either one clears itself after a few seconds.

## The overlay

While you are in a group, the people on it are listed in the top-left corner of the screen: their head and their name, with no panel behind them. You come first, then everyone else by name — an order that does not reshuffle as people talk, so it can be read at a glance.

- A ring around a head and an accent-coloured name mean that person is talking right now.
- A dimmed head and a grey name mean you are not hearing them: you have muted them, or they have deafened themselves.
- Groups larger than twelve show the first twelve and a "+n".

It disappears when you leave the group, and is hidden by <kbd>F1</kbd> and while any screen is open, like the rest of the HUD. It also steps aside while you hold <kbd>Tab</kbd> and the player list is showing, so the two do not draw over each other. Turn it off under Advanced → Interface → Group overlay.

## What a group does not change

- **Mute and deafen still work.** Deafening yourself silences the group like everything else, and muting your microphone still mutes it.
- **Volume sliders still apply.** A group member's per-player volume in the settings screen is the same slider it always was.
- **Group audio has no direction.** It is played centred rather than panned, because it is not coming from a place — that is how you can hear someone in another world.
- **Leaving the server leaves the group.** Nothing is remembered between sessions.

## If the menu is empty or unavailable

Each of these replaces the tabs with a single centred sentence under a dimmed icon, rather than leaving a menu on screen whose buttons would do nothing.

| Line in the menu | Why |
| --- | --- |
| "Voice chat is not connected…" | Voice itself is not up yet; see [Troubleshooting](/client/troubleshooting) |
| "This server has voice groups switched off…" | The server has not enabled them |
| "You do not have permission…" | The server has them on, but not for you |
| "No groups yet…" | Groups are working; nobody has made one |
| "This server does not allow group invitations." | `groups.allow-invites` is off |

The <kbd>G</kbd> key opens the menu in every one of these cases on purpose — a key that appears to do nothing is a worse answer than a sentence explaining why.