Proximity voice chat in Minecraft means a mod or plugin on the server and a matching mod on every player's client. Simple Voice Chat is the one most servers use: it runs on Paper as a plugin and on Fabric, NeoForge and Forge as a mod, and it needs one extra thing most guides skip past - its own UDP port, 24454 by default, which has to be reachable from the internet. Install the server side, open or allocate the port, tell the plugin the address players should use if it differs from the game address, and have every player install the client mod. Bedrock players coming in through Geyser cannot use it at all, and that is the limit to understand before you build a community around voice.
How proximity voice works#
Minecraft has no voice of its own, so voice mods run a second channel beside the game connection:
The client mod captures your microphone, encodes it with Opus, and sends it over UDP to the voice server, which runs inside the Minecraft server process. The server knows every player's position, so it forwards your audio only to players within range, and their clients play it from your direction and with falloff. The game connection is used to negotiate the voice session - the client learns the address and a secret for the voice channel through it - but audio never travels over the game's TCP connection.
UDP is the right choice for voice: a lost packet is a dropped syllable, not a stall while it is resent. The cost is that it is a separate port and a separate protocol, which is exactly what firewall rules and panel allocations forget. TCP vs UDP for game servers goes into why.
Simple Voice Chat, Plasmo Voice and the alternatives#
| Option | Server side | Client side | Notes |
|---|---|---|---|
| Simple Voice Chat | Paper plugin, or Fabric/NeoForge/Forge mod | Mod required | Most widely used, many addons |
| Plasmo Voice | Paper plugin, or mod | Mod required | Different addon ecosystem, its own config |
| Discord or other voice apps | Nothing | Nothing | No proximity, but works for everyone |
Simple Voice Chat (by henkelmax) is the default because it is on every platform, has a simple config, and supports groups as well as proximity. Plasmo Voice is the main alternative with similar architecture and its own set of addons; the port and connection principles below apply to it as well, with its own config file and keys.
Proximity voice changes how a server plays. Survival servers become social in a way text chat never manages; roleplay and horror maps become different games. It also changes moderation, which comes up below.
Installing Simple Voice Chat on the server#
On Paper: download the Bukkit/Paper build of Simple Voice Chat for your Minecraft version and put the jar in plugins/. On Fabric or NeoForge: the mod build for your loader goes in mods/, with Fabric API if the mod page says it is needed.
Start the server once. The config is created at:
| Platform | Config file |
|---|---|
| Paper, Spigot | plugins/voicechat/voicechat-server.properties |
| Fabric, NeoForge, Forge | config/voicechat/voicechat-server.properties |
The important keys:
port=24454bind_address=voice_host=max_voice_distance=48.0whisper_distance=24.0codec=VOIPmtu_size=1024keep_alive=1000enable_groups=trueallow_recording=trueforce_voice_chat=falseWhat each key controls:
- `port` - the UDP port the voice server listens on. Recent versions also accept
-1, meaning "the same port number as the Minecraft server", which works because the game uses TCP and voice uses UDP on that number. Whether that is useful depends on your host - see the next section. - `bind_address` - which local address to listen on. Empty means all. Leave it empty unless you know the machine has several addresses and you need a specific one.
- `voice_host` - the address clients should connect to for voice, if it is different from the address they used to join the game. Empty means "the same host as the game, on
port". Covered in detail below. - `max_voice_distance` - how far, in blocks, normal speech carries.
48is the default. Lower makes conversations more local and crowded spawns quieter. - `whisper_distance` - range when whispering.
- `codec` -
VOIP,AUDIOorRESTRICTED_LOWDELAY.VOIPis tuned for speech and is the right default. - `mtu_size` - the maximum packet size. Lower it if voice connects but audio is choppy on some networks.
- `enable_groups` - lets players create groups that talk regardless of distance. Popular; disable it if you want strictly proximity voice.
- `allow_recording` - whether clients may record voice. Some communities turn it off.
- `force_voice_chat` - kicks players who join without the mod. Use it only if voice is truly essential to the server.
Exact defaults move between releases; the generated file is commented and is the authority for your version. Restart after changes.
The port, and voice_host#
Voice not connecting is almost always a port problem. The client gets the voice address from the server and sends UDP to it; if nothing reachable is listening there, the client shows a "voice chat not connected" state while the game works perfectly.
On your own machine, open 24454/udp in the firewall and forward it on the router if you host at home. On a panel host, you need an allocation for the voice port, because each server can only listen on ports it has been given. On RE:NODE, Minecraft plans include one port, and you add another on the Network tab; set port to the number you were given.
That number is often not 24454. Hosts allocate whatever is free, so your voice port might be 25632 while the game is on 25565. Set port to the allocated number. Clients learn it from the server automatically, so players do not need to type anything.
voice_host is needed when the address players use to reach the game is not the address voice should go to. Common cases:
- An SRV record or domain. Players join
mc.example.com, which SRV-resolves tonode.host.example:25565. Voice by default goes to the host the client connected to - which works ifmc.example.comalso has an A record to the same machine, and fails if it is SRV-only. Setvoice_hostto an address that resolves directly. - A proxy in front. Players connect to the proxy, but voice runs on the backend. Set
voice_hoston each backend to the backend's public address and voice port (next section). - A tunnel or forwarding service. The game address belongs to the tunnel, the voice port does not exist there. Set
voice_hostto wherever the UDP port really is reachable.
voice_host=play.example.com:25632voice_host can include a port, which overrides port for what clients are told. If you put a hostname here, it must resolve to the server's address; DNS records explained and SRV records for Minecraft cover why SRV records alone are not enough for anything but the game itself.
Clients, versions and Bedrock players#
Every player who wants voice needs the Simple Voice Chat client mod for their Minecraft version and loader: Fabric (with Fabric API) or NeoForge or Forge. Vanilla clients cannot use voice at all; they can still play, but they neither hear nor are heard, unless force_voice_chat keeps them out.
- Versions must be compatible. The mod's network protocol changes occasionally. A client mod much older or newer than the server's may connect to the game but fail to start voice. Tell players which version to install.
- Modpacks that include Simple Voice Chat on the client handle this for you, which is one reason voice is common on modded servers.
- Paper servers still need a client mod on each player; the plugin is just the server half.
Bedrock players cannot use it. Players joining a Java server through Geyser are on Bedrock clients, which cannot load Java mods. There is no client-side install for them. They will be silent and deaf in voice, and in a voice-centred community they are effectively second-class players. If a large part of your community plays on phones or consoles, voice in Discord or another external app is the only option everyone can use. Geyser and Floodgate lists the other things that do not translate across.
Running voice behind a proxy#
On a Velocity or BungeeCord network, the proxy forwards Minecraft traffic, not voice UDP. Two ways to make it work:
Voice on each backend, reached directly. Each backend runs Simple Voice Chat on its own allocated UDP port, with voice_host set to that backend's public address and port. When a player switches servers, their client reconnects voice to the new backend. This is the simplest arrangement on a panel host, where each backend is its own server with its own allocations.
Voice through the proxy. Simple Voice Chat has proxy support in recent versions that forwards voice through the proxy, so players need only reach the proxy's address. Check the mod's documentation for your version: it requires a matching build on the proxy and the right voice_host configuration on backends, and it adds the proxy to the audio path.
In both cases, voice is per backend: players on the lobby cannot hear players in survival. Groups do not cross servers either. The Velocity network guide covers the rest of the network setup.
Bandwidth, CPU and sizing#
Voice is light for the server. Each speaking player sends a stream of small Opus packets, tens of kilobits per second, and the server copies each packet to the players in range. Silent players send almost nothing. The server does not decode or mix audio; it forwards packets. The main-thread cost is negligible because the voice server runs on its own threads.
Where it adds up:
- Crowded spawns. Thirty players in one place all in range of each other means every packet goes to twenty-nine people. Bandwidth grows roughly with the square of a crowd. A lower
max_voice_distancehelps. - Groups forward to every member regardless of distance.
Even so, a hundred-player server with voice is a modest bandwidth load by game-server standards. Bandwidth per player puts it in context with other games.
Moderation, addons and permissions#
Voice is harder to moderate than text: there is no log, and recordings are the only evidence. Plan for it:
- Permissions. On Paper, the plugin has permission nodes such as
voicechat.listen,voicechat.speakandvoicechat.groups, which you can remove from a group or a single player through LuckPerms - effectively a voice mute. - Rules. Write voice rules: no music through the mic, no screaming, no slurs. Players need to know reports about voice are taken as seriously as chat.
- Evidence. With
allow_recording=true, players can record and submit clips. That is useful for moderation and a privacy consideration; mention it in your rules.
Popular addons from the same ecosystem include AudioPlayer (custom music discs and goat horns played through voice) and Voice Chat Interaction (voice triggering sculk sensors), plus client-side sound mods that add reverb and occlusion. Server-side addons go next to the main plugin or mod; client-side ones are each player's choice.
Troubleshooting#
The voice icon shows "not connected" for everyone. The port is not reachable. Check the allocation, check port matches it, check it is UDP, and restart. Look in the server console at startup for the line where the voice server reports the port it is listening on.
Works for players on the same network, not for others. Home hosting with the port forwarded for TCP only, or voice_host pointing at a local address.
Works on the IP, not on the domain. The domain is SRV-only. Set voice_host to an A-record hostname or the IP.
Connects but audio cuts in and out. Packet loss or fragmentation. Lower mtu_size, and check the player's own connection - latency, jitter and packet loss shows how to tell.
One player cannot connect, everyone else can. Their client mod version is incompatible, or their network blocks outbound UDP (some school and office networks do).
Voice stops after switching servers on a network. The new backend's voice_host is wrong or its port is not allocated.
FAQ#
What port does Simple Voice Chat use?
UDP 24454 by default, set by port in voicechat-server.properties. On hosted servers it is usually whichever extra port you were allocated, and the server tells clients the right one automatically.
Do players need to install anything?
Yes. Every player who wants voice needs the Simple Voice Chat client mod for their Minecraft version and loader. Players without it can still play but cannot hear or speak.
Can Bedrock players use proximity voice on a Geyser server?
No. Bedrock clients cannot load the Java mod. They can play on the server through Geyser but have no access to voice; use an external voice app if they must be included.
Does voice chat cause server lag?
Not in any normal setup. The voice server runs off the main thread and only forwards packets. It uses some bandwidth, which grows with crowds, but it does not affect TPS.
Can I use Simple Voice Chat on a Paper server without mods?
The server side is a plain Paper plugin, so the server needs no mod loader. The players still need the client mod, which means a modded client such as Fabric with the mod installed.




Comments
Completely anonymous: no account, no email, no cookie. We store the name you type, the text and the time - nothing else. Links are limited and markup is not rendered.