Map the voice path before installing anything
Simple Voice Chat adds a separate real-time audio path to the ordinary Minecraft connection. On a Paper server, the server side is a Bukkit/Paper plugin, while every player who wants to speak or listen installs a compatible client mod. A player without the client mod can still join when voice chat is not forced, but none of its audio features will be available. Write down both paths before maintenance: the normal Paper address and TCP port, plus the public hostname and dedicated UDP port that will carry voice.
Confirm the exact Minecraft version, Paper build, Java runtime, proxy layout and client loaders in use. The project's current supported-versions page lists the releases maintained for mods and the game versions accepted by the universal plugin JAR. Do not assume that a Paper-compatible server download also supplies the right client file. Fabric, NeoForge, Forge and Quilt clients use their matching mod artifacts, although the project designs those supported loaders to communicate across the same server.
Choose a maintenance and rollback point. Stop Paper cleanly and back up the complete server directory, especially plugins, plugin data, configuration and worlds. Record the existing public listener and firewall rules. The general review in /blog/install-plugins-paper-minecraft-server applies because the voice plugin runs with the server account's access. Download only from the project's official pages, and postpone the change if the host cannot allocate or expose a UDP port.
- Record the Paper, Minecraft and client-loader versions before choosing files.
- Plan one normal game connection and one separate UDP voice connection.
- Take a complete stopped-server backup and preserve the current firewall state.
- Verify that the hosting plan or network can allocate inbound UDP before installation.
Install the Paper plugin and matching client mod
Download the Bukkit/Paper Simple Voice Chat plugin JAR from the official project download page. With Paper fully stopped, place that single JAR directly in the server's plugins directory. Remove an older Simple Voice Chat JAR from the active folder before starting, but keep it in the offline backup. Do not upload the Fabric, Forge, NeoForge, Quilt or proxy artifact to Paper, and do not use a reload command to introduce the plugin to a live server.
Start Paper once and read the startup log from the first line. A successful load creates plugins/voicechat/voicechat-server.properties. Confirm that the plugin enabled without a version, class or duplicate-name error, then stop Paper again before editing the generated file. A directory appearing is not proof that the whole plugin initialized cleanly. Preserve the server log and exact downloaded filename in the change record so production and staging can be compared later.
Each participating player installs Simple Voice Chat for the same Minecraft release through a supported client loader. The official installation guide allows the supported loader families to communicate with the Paper plugin, but the correct platform file still belongs in that client's mods directory. Test with a clean ordinary client rather than an administrator's heavily modified pack. Keep force_voice_chat false during rollout so one missing or incompatible client mod does not turn an optional feature into a server-wide admission failure.
Allocate one dedicated UDP port
Simple Voice Chat uses UDP for audio independently of Paper's normal game networking. Its default voice port is 24454 UDP. A managed host must assign that port or another available UDP allocation to the server; typing an unallocated number into a configuration file does not make it reachable. Ask the provider for the exact public and internal port mapping when its panel abstracts networking. Follow a provider-specific official guide when one exists instead of copying another host's panel steps.
Use a separate port from the Minecraft listener. The server configuration accepts -1 to reuse the Minecraft port number, but the project strongly recommends against that choice because Minecraft Query also uses UDP by default and a collision can crash the server. A different numeric voice port is easier to inspect, filter and document. Make sure Geyser, Query and any other UDP plugin use distinct ports as well; only one process can bind a given address-and-port combination.
For Pterodactyl, an administrator needs to create the node allocation and assign it to the server before the container can listen there. For Docker, publish the protocol explicitly, for example 24454:24454/udp. A mapping without /udp publishes TCP and will not carry Simple Voice Chat audio. Record the host port, container port and protocol together. Do not expose the panel, remote console, database or unrelated ranges while adding this one service.
- Default voice listener: UDP 24454.
- Managed hosting: request and assign a real UDP allocation first.
- Docker: publish the chosen mapping with the /udp suffix.
- Keep Voice Chat, Geyser and Query on distinct UDP ports.
Configure the generated server properties
Edit plugins/voicechat/voicechat-server.properties while Paper is stopped. Set port to the assigned internal voice port, such as port=24454. Leave bind_address empty unless the provider or network design explicitly requires an address. The project documents that an empty value follows server-ip from server.properties, while * binds the wildcard address. An address that does not exist inside the container or host can make startup fail with a bind error.
Leave voice_host empty for the ordinary case where players should derive the voice destination from the Minecraft server address. Set it only when the client must use a different public hostname or port, such as a deliberate NAT or proxy arrangement; the value may contain a hostname and port. Do not put a private container address there for internet players. Restart fully after every server-config change because the troubleshooting guide notes that edited values do not take effect until restart.
Review behavior settings separately from networking. max_voice_distance and whisper_distance control proximity ranges, enable_groups allows private groups, and allow_recording declares whether recording is permitted. The default force_voice_chat value is false; if it is later enabled, login_timeout determines how long the server waits to detect the client mod. Keep defaults for the first connection test, publish a clear recording policy to players and change one behavior at a time after transport is known-good.
Open the UDP route and test it from outside
Allow the chosen UDP port through every network layer between a player and the plugin. A VPS may have both a provider firewall and an operating-system firewall. A home server needs a UDP router forward to the machine's stable private address plus a matching host rule. A container needs the published UDP mapping as well as the outer firewall. Change only this destination and keep the ordinary Minecraft TCP rule intact. A broad all-protocol range makes later diagnosis and auditing harder.
Start Paper and confirm the voice listener did not report failed to bind or address already in use. Join from a different network with the client mod installed, then run /voicechat test PLAYERNAME as an authorized administrator. The plugin also publishes a command-line ping tool for testing its UDP service. Ordinary online port-check websites are not decisive here: UDP is connectionless, so a useful check needs the voice application to answer rather than merely attempting a generic socket connection.
Treat an external join as the acceptance path. Verify the connected status, proximity audio in both directions, whisper range, mute controls, groups if enabled and behavior after both client and server restart. Test two non-operator players so an administrator permission does not hide a real policy problem. Keep the exact attempt time beside the server log. A working game connection proves only the TCP path to Paper; it says nothing about the separate UDP voice route.
- Open the same chosen UDP destination in provider, host, router and container layers.
- Test from outside the server network, not only over localhost or LAN.
- Use /voicechat test PLAYERNAME or the project's application-aware ping tool.
- Verify two-way audio and restart persistence with ordinary accounts.
Apply permissions without breaking proximity chat
On Paper, Simple Voice Chat uses the Bukkit permission system. The current permission reference grants voicechat.listen, voicechat.speak and voicechat.groups to everyone by default. voicechat.admin is reserved for server operators and covers administrative actions such as the test command. If a permissions plugin changes those defaults, create an explicit ordinary-player role and verify speaking, listening and group access separately instead of granting operator status to make the microphone work.
Decide whether every world and role should use the same voice policy. Staff may need administrative testing without bypassing ordinary mute or recording expectations, and spectators have separate server settings for interaction and player possession. Document the chosen nodes and settings beside the plugin version. Avoid hybrid servers that mix plugin and mod-loader permission systems: the project explicitly says those hybrid layouts are unsupported and recommends using either plugins or mods on the server.
Diagnose the plug icon and operate safely
A plug or not-connected icon usually means the client did not complete the voice connection. Work through the recorded path: correct client mod and version, server plugin enabled, configured port, successful UDP bind, container or panel allocation, provider firewall, host firewall, router forward and public voice_host override. If only one player fails across several servers, test without a VPN or mobile connection because the project notes that some providers or VPN paths can block UDP. Do not weaken unrelated security controls to test a guess.
If startup says address already in use, find the other server instance or UDP feature using that port. Check a duplicate voice plugin, Geyser and query.port before choosing a new allocated port. If startup says failed to bind to address, return bind_address to empty unless the host explicitly supplied an interface address. When a hosting provider's DDoS filtering drops the voice packets, ask it for a documented exception or supported voice allocation; repeatedly changing Paper settings cannot repair upstream filtering.
Proxy networks require the project's separate proxy setup: the proxy plugin does not replace the Simple Voice Chat plugin or mod on each actual Minecraft server. Stage that topology instead of extending this single-Paper procedure by trial and error. After launch, monitor disconnects, re-run the external test after network changes and update the plugin and client pack through normal backups and restarts. More server guides are collected at /blog. If the current plan cannot provide an assigned UDP listener or support the tested route, compare the documented options at /pricing.
- Not connected: verify each UDP hop and the exact client/server versions.
- Address already in use: remove the collision or assign a different UDP allocation.
- Failed to bind: correct or clear bind_address and restart cleanly.
- After host, firewall or proxy changes, repeat the same outside acceptance test.
Frequently asked questions
Quick answers
Does Simple Voice Chat work on a Paper server?
Yes. Install the official Bukkit/Paper plugin on the server and a supported Fabric, NeoForge, Forge or Quilt client mod for each player who wants to use voice features.
Which port does Simple Voice Chat use?
The default is UDP port 24454. Your host, firewall, router and container mapping must expose the chosen UDP allocation, which should remain separate from other UDP services.
Why does Simple Voice Chat show a plug icon?
The separate voice connection is not established. Check the client mod, server plugin, UDP bind, assigned port, /udp container mapping, firewalls, router forwarding and any voice_host override.
Can players join without Simple Voice Chat installed?
Yes while force_voice_chat remains false, but they cannot speak or listen through the mod. Test the optional setup thoroughly before considering enforcement.
How do I test a Simple Voice Chat server?
Join from an outside network with the client mod and use /voicechat test PLAYERNAME as an authorized administrator. The project also provides an application-aware UDP ping tool.
