SocketSVC

Quick rating

Community listing page, reviews may not be monitored by the author.

SocketSVC

By HippoDevOwner

No reviews yet

A client mod (Fabric, Quilt, NeoForge, Forge) plus a Paper plugin or server mod that brings real-time, 3D positional voice chat to Minecraft. Unlike other mods, SocketSVC completely drops UDP for WebSockets.

Minecraft
26.3 26.2

About

Description

SocketSVC

Proximity voice chat for Minecraft, built on WebSockets instead of UDP — with a spatial speaker system for addons.

SocketSVC is a client mod for Fabric, Quilt, NeoForge and Forge paired with a Paper plugin or a Fabric/Quilt/NeoForge/Forge server mod that lets players talk to each other in real time based on how close they are in-game. Every byte of voice — audio, the live player roster, speaker snapshots, connection status — travels over one persistent WebSocket connection, the same kind of connection your browser already uses for HTTPS. It also exposes a spatial-audio API that other plugins can use to add music, PA-style announcements, and named in-world speakers.

Why WebSocket instead of UDP

Most Minecraft voice mods speak raw UDP, which means punching a second port through your firewall/router and hoping every proxy, tunnel, or hosting panel in the chain happens to forward it correctly. SocketSVC never opens a UDP port at all:

  • Just an HTTP(S) upgrade. The voice connection starts as a normal WebSocket handshake, so anything that already proxies HTTP/HTTPS for your server — a reverse proxy, Cloudflare Tunnel, ngrok, a Docker/Pterodactyl panel — carries voice too, with zero extra configuration.
  • Real wss:// encryption. Point public-url at your own wss:// hostname and your existing TLS termination (the same proxy already fronting your server) encrypts voice, exactly like it encrypts HTTPS traffic.
  • One socket, not several. Audio frames, the player roster, named-speaker snapshots, and deafen/status updates are all multiplexed over that single connection — nothing else to open, forward, or firewall.
  • Ordered delivery still gets a jitter buffer. Frames carry stream/sequence numbers so out-of-order or briefly-missing packets get concealed (up to 60 ms via native PLC) instead of glitching, even though the transport itself is ordered rather than raw UDP.
  • Self-healing connections. A 10-second ping/pong keeps the socket honest even during silence, and the client automatically requests a fresh token and reconnects on drop — no /ssvc reconnect needed for an ordinary network hiccup.
  • Protocol capabilities negotiate on connect. Spatial audio, named speakers, and deafen-sync are each requested and echoed as upgrade headers, so a newer client talking to an older server (or vice versa) just falls back cleanly instead of breaking.

Voice chat

  • Proximity & positional audio — hear other players fall off with distance and pan left/right based on your facing direction.
  • Push-to-talk or automatic voice detection, RNNoise-assisted, with a manual sensitivity threshold and a short deactivation delay so words don't get clipped.
  • Noise suppression (RNNoise) bundled directly in the client — no separate native install.
  • Automatic microphone gain and peak limiting, so quiet and loud speakers stay balanced without manual tuning.
  • Adaptive echo cancellation with automatic delay alignment, plus a manual override — reduces the classic "hearing yourself" problem on open mic/speakers.
  • Per-player volume (0–200%), master volume, mute and deafen, all persisted in your client settings.
  • Live player roster synced from the server, with speaking indicators and nameplate icons.
  • Compact settings dialog — General / Advanced / Player Volume tabs, device selectors that don't require reconnecting, and a first-run setup flow.
  • Automatic reconnect if the connection drops, without needing to leave and rejoin.

Spatial speakers (addon API)

Beyond player-to-player chat, SocketSVC ships a spatial-audio API that lets other server plugins place independent, positioned audio sources in the world:

  • Server-defined speakers with a fixed ID and display name, so a speaker keeps its identity — and players' saved volume for it — across restarts.
  • Two audio sources per speaker: forward a player's live microphone to a fixed location, or play back a server-side WAV file.
  • Distance falloff and stereo positioning, same model as player voice, with configurable range and fade-start distance per speaker.
  • Per-speaker client volume slider, separate from the regular player-volume list, saved locally per speaker ID.
  • Recipient control — restrict who can hear a given speaker.
  • Ships with an optional example plugin (SocketSVCSpeakerExample) demonstrating block-anchored speakers you can bind to a WAV file or a player's mic with simple commands.

This makes it possible to build things like lobby music, jukeboxes, PA announcements, or ambient soundscapes — as separate, self-contained addon plugins — without touching SocketSVC's core.

Requirements

Component Requirement
Client Fabric/Quilt (with Fabric API), NeoForge or Forge mod — Minecraft 1.21.11 and 26.1–26.3; pick the file matching your exact game version and loader
Server Paper/Purpur/Folia plugin, or a Fabric/Quilt/NeoForge/Forge dedicated-server mod for the same Minecraft version
Network The server plugin/mod opens its own WebSocket listener; expose it directly (LAN) or behind a reverse proxy for wss:// on a public server
Velocity / BungeeCord networks One optional relay plugin jar (same file for either proxy) gives a whole proxied network a single public voice port instead of one per backend — see the repo's docs/proxy.md
Java Java 21 for Minecraft 1.21.11, Java 25 for 26.x

Both a client and a server side need to be installed for voice chat to work — any client loader works with the Paper plugin or any server mod. Every file's version number ends in @client, @server or @proxy, so it is clear which side it belongs to.

Installation

  1. Paper/Purpur/Folia: drop the -paper@server JAR into plugins/ and restart; it generates plugins/SocketSVC/config.yml. Fabric/Quilt/NeoForge/Forge dedicated servers: drop the matching @server JAR into mods/ (Fabric also needs Fabric API); it generates config/socketsvc-server.yml with the same settings. Defaults listen on port 24455, LAN-visible.
  2. Install the @client file for your exact Minecraft version and loader.
  3. Join the server — the client automatically requests a one-time connection token and connects to voice; no manual setup is required for the basic flow, though a first-run dialog lets you choose push-to-talk vs. automatic detection and your input/output devices.
  4. For a public server behind TLS, set public-url in the config to your wss:// hostname (e.g. behind a Cloudflare Tunnel or another reverse proxy) instead of exposing the raw port directly.

Server configuration highlights

  • hearing-range / fade-start-distance — how far voice carries and where it starts fading out.
  • spectator-interaction — whether spectators can be heard by non-spectators.
  • bind-address / port / public-url — network binding and the URL clients connect to.
  • /ssvc-server reload applies routing and network changes live, restarting only the voice listener without kicking players off the Minecraft server itself.
  • /ssvc-server status reports the current public URL, connected voice clients, and routing settings.

Permission socketsvc.admin (default: op) gates the admin command, and socketsvc.speak / socketsvc.listen / socketsvc.soundboard (default: everyone) can be revoked per player — through your permissions plugin on Paper, fabric-permissions-api (e.g. LuckPerms) on Fabric/Quilt, or the PermissionAPI on NeoForge/Forge; addon plugins built on the speaker API can define their own permissions for their own commands.

Servers already using SocketSVC

Server URL Discord
泥土商店 (dirtshop) dirtshop.xyz Click Me

Metrics

Clients Servers & Players