All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Plasmo Voice

Plasmo Voice

by kpids • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Latest release

Available for all popular platforms

Paper, Folia, Fabric, Forge, and NeoForge servers are fully compatible with both Fabric and Forge clients.

To use voice chat, players must install the client-side mod for Fabric, Forge or NeoForge. Players without the mod can still join the server and play as usual – they just won't have access to voice chat features.

Assuming Plasmo Voice is installed on both client and the server.

Features

Voice chat proximity and settings demonstration Voice chat interface and controls demonstration

Client features

Audio Quality & Processing

  • RNNoise noise reduction
  • OpenAL sound engine with great 3D positioning
  • Stereo audio sources
  • Smooth volume transitions

Immersion & Realism

Controls & Interaction

  • Adjustable voice chat distance
  • Choose between Push to Talk or Voice Activation
  • Hold RMB while looking at a player and use the scroll wheel to adjust their volume

Devices & UI

  • Select input and output audio devices
  • Configurable GUI icon positions
  • Toggle player icon visibility
  • Discord-like in-game overlay

Check out voice settings by pressing V. Make sure you have the right devices selected and your microphone is working.

Server features

Audio & Performance

  • Opus codec for low bandwidth usage and high audio quality
  • Configurable voice distance

Moderation & Control

  • Server-side muting via chat commands
  • Option to kick players without the client mod installed
  • Permissions support
  • Vanish support

Compatibility & Networking

  • Works in singleplayer and Open to LAN
  • BungeeCord and Velocity support

Integration & Extensibility

  • PlaceholderAPI support
  • Advanced API

Security

  • Encrypted voice communication

Server-side add-ons

Universal add-ons work on Fabric, Forge, NeoForge and Paper.

Also read: Types of Add-ons.

Icon Add-on Description
pv-addon-groups pv-addon-groups Create group voice chat channels. Keep talking with players far away
pv-addon-sculk pv-addon-sculk With this add-on, warden and sculk sensors are triggered with proximity voice chat
pv-addon-broadcast pv-addon-broadcast Broadcast your voice to all players in the radius, world, server, or proxy
pv-addon-spectator pv-addon-spectator With this add-on, all players can hear spectators
pv-addon-whisper pv-addon-whisper By default, the whisper distance is half the current proximity distance
pv-addon-priority pv-addon-priority Voice activation with a greater and configurable distance
pv-addon-lavaplayer-lib pv-addon-lavaplayer-lib Add-on bundled with LavaPlayer fork library required for some Plasmo Voice add-ons
Voiceless Survival Voiceless Survival Mobs react to your voice. Hostile mobs follow the sound, animals run away
Third-party add-on. Issues should be reported on the Voiceless Survival GitHub.
pv-addon-discs pv-addon-discs Play audio from YouTube and other sources in Minecraft using music discs. Supports streaming and live streams (YouTube, Twitch)
Simple Voice Radio Simple Voice Radio Adds a radio block that lets players communicate over distances
Third-party add-on. Issues should be reported on the Simple Voice Radio GitHub.

Client add-ons

Icon Add-on Description
pv-addon-soundphysics pv-addon-soundphysics Adds compatibility with Sound Physics Remastered. Plasmo Voice is affected by sound physics
pv-addon-replaymod pv-addon-replaymod Fork of Replay Voice Chat that works with Plasmo Voice and allows recording voice chat with ReplayMod
pv-addon-flashback pv-addon-flashback With this add-on Plasmo Voice will be recorded in Flashback replays
Talking Heads Talking Heads Scales player heads when they’re talking
Third-party add-on. Issues should be reported on the Talking Heads GitHub.
Let Them Talk (LTT) Let Them Talk (LTT) Lowers your music and other apps while someone is talking
Third-party add-on. Issues should be reported on the Let Them Talk (LTT) GitHub.

Download

Documentation

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3
Neoforge
1d ago 1
26.3
Fabric
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
26.3 26.2 26.1.x +1
Velocity
1d ago 1
26.3 26.2 26.1.x +1
Bungeecord
1d ago 1
26.3 26.2 26.1.x +1
Folia Paper
1d ago 1
26.3
Neoforge
1d ago 1
26.3
Fabric
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.3 26.2 26.1.x +6
Velocity
1d ago 1
26.3 26.2 26.1.x +6
Bungeecord
1d ago 1
26.3 26.2 26.1.x +6
Folia Paper Spigot
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.2 26.1.x 1.21.x +5
Velocity
1d ago 1
26.2 26.1.x 1.21.x +5
Bungeecord
1d ago 1
26.2 26.1.x 1.21.x +5
Folia Paper Spigot
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.2 26.1.x 1.21.x +5
Velocity
1d ago 1
26.2 26.1.x 1.21.x +5
Bungeecord
1d ago 1
26.2 26.1.x 1.21.x +1
Folia Paper Spigot
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.2 26.1.x 1.21.x +5
Velocity
1d ago 1
26.2 26.1.x 1.21.x +5
Bungeecord
1d ago 1
26.2 26.1.x 1.21.x +1
Folia Paper Spigot
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.2 26.1.x 1.21.x +5
Velocity
1d ago 1
26.2 26.1.x 1.21.x +5
Bungeecord
1d ago 1
26.2 26.1.x 1.21.x +5
Folia Paper Spigot
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.2 26.1.x 1.21.x +5
Velocity
1d ago 1
26.2 26.1.x 1.21.x +5
Bungeecord
1d ago 1
26.2 26.1.x 1.21.x +5
Folia Paper Spigot
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.2 26.1.x 1.21.x +5
Velocity
1d ago 1
26.2 26.1.x 1.21.x +5
Bungeecord
1d ago 1
26.2 26.1.x 1.21.x +5
Folia Paper Spigot
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.2 26.1.x 1.21.x +5
Velocity
1d ago 1
26.2 26.1.x 1.21.x +5
Bungeecord
1d ago 1
26.2 26.1.x 1.21.x +5
Folia Paper Spigot
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.1.x 1.21.x 1.20.x +4
Velocity
1d ago 1
26.1.x 1.21.x 1.20.x +4
Bungeecord
1d ago 1
26.1.x 1.21.x 1.20.x +4
Folia Paper Spigot
1d ago 1
26.1.x
Neoforge
1d ago 1
26.1.x
Fabric
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.5
Neoforge
1d ago 1
1.21.5
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
26.1.x 1.21.x 1.20.x +4
Velocity
1d ago 1
26.1.x 1.21.x 1.20.x +4
Bungeecord
1d ago 1
26.1.x 1.21.x 1.20.x +4
Folia Paper Spigot
1d ago 1
1.21.11
Neoforge
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.5
Neoforge
1d ago 1
1.21.5
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Spigot
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.9
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.5
Neoforge
1d ago 1
1.21.5
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Spigot
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.5
Neoforge
1d ago 1
1.21.5
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Spigot
1d ago 1
1.21.6
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.5
Neoforge
1d ago 1
1.21.5
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Spigot
1d ago 1
1.21.5
Neoforge
1d ago 1
1.21.5
Fabric
1d ago 1
1.21.5
Neoforge
1d ago 1
1.21.5
Fabric
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Spigot
1d ago 1
1.21.4
Neoforge
1d ago 1
1.21.4
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Spigot
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Fabric
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Spigot
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Forge
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.4
Forge
1d ago 1
1.20.4
Fabric
1d ago 1
1.20.1
Forge
1d ago 1
1.20.1
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.1
Forge
1d ago 1
1.17.1
Fabric
1d ago 1
1.16.5
Forge
1d ago 1
1.16.5
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Folia Paper Spigot
1d ago 1
1.21.x
Fabric
1d ago 1
1.20.6
Fabric
1d ago 1
1.20.4
Fabric
1d ago 1
1.20.2
Fabric
1d ago 1
1.20.1
Forge
1d ago 1
1.20.1
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.21 1.20.x 1.19.x
Velocity
1d ago 1
1.21 1.20.x 1.19.x
Bungeecord
1d ago 1
1.21 1.20.x 1.19.x
Bungeecord
1d ago 1
1.21 1.20.x 1.19.x
Folia Paper Spigot
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.4
Fabric
1d ago 1
1.20.2
Fabric
1d ago 1
1.20.1
Forge
1d ago 1
1.20.1
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.20.x 1.19.x
Velocity
1d ago 1
1.20.x 1.19.x
Bungeecord
1d ago 1
1.20.x 1.19.x
Folia Paper
1d ago 1
1.20.x
Fabric
1d ago 1
1.20.2
Fabric
1d ago 1
1.20.1
Forge
1d ago 1
1.20.1
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.20.x 1.19.x
Velocity
1d ago 1
1.20.x 1.19.x
Bungeecord
1d ago 1
1.20.x 1.19.x
Folia Paper Spigot
1d ago 1
1.20.2
Fabric
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.20.x 1.19.x
Velocity
1d ago 1
1.20.x 1.19.x
Bungeecord
1d ago 1
1.20.x 1.19.x
Folia Paper Spigot
1d ago 1
1.20.x
Forge
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.20.x 1.19.x
Velocity
1d ago 1
1.20.x 1.19.x
Bungeecord
1d ago 1
1.20.x 1.19.x
Folia Paper Spigot
1d ago 1
1.20.x
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.20 1.19.x
Velocity
1d ago 1
1.20 1.19.x
Bungeecord
1d ago 1
1.20 1.19.x
Folia Paper Spigot
1d ago 1
1.20
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.x
Velocity
1d ago 1
1.19.x
Bungeecord
1d ago 1
1.19.x
Folia Paper Spigot
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.x
Velocity
1d ago 1
1.19.x
Bungeecord
1d ago 1
1.19.x
Folia Paper Spigot
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.x
Velocity
1d ago 1
1.19.x
Bungeecord
1d ago 1
1.19.x
Folia Paper Spigot
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.x
Velocity
1d ago 1
1.19.x
Bungeecord
1d ago 1
1.19.x
Folia Paper Spigot
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.x
Velocity
1d ago 1
1.19.x
Paper Spigot
1d ago 1
1.19.x
Bungeecord
1d ago 1
1.19.x
Velocity
1d ago 1
1.19.x
Paper Spigot
1d ago 1
1.19.x
Bungeecord
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.x
Velocity
1d ago 1
1.19.x
Paper Spigot
1d ago 1
1.19.x
Bungeecord
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.4
Forge
1d ago 1
1.19.4
Fabric
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.2
Forge
1d ago 1
1.19.2
Fabric
1d ago 1
1.19.3
Forge
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x 1.18.x 1.17.x +1
Paper Purpur Spigot
1d ago 1
1.19.x
Forge
1d ago 1
1.19.x
Fabric
1d ago 1
1.19
Forge
1d ago 1
1.19
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.19.1
Fabric
1d ago 1
1.19
Forge
1d ago 1
1.19
Forge
1d ago 1
1.19
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.19
Forge
1d ago 1
1.19
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.19
Forge
1d ago 1
1.19
Fabric
1d ago 1
1.19
Forge
1d ago 1
1.19
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.18.2
Forge
1d ago 1
1.18.2
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.18.x
Forge
1d ago 1
1.18.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.18
Forge
1d ago 1
1.18
Fabric
1d ago 1
1.16.x
Forge
1d ago 1
1.16.x
Fabric
1d ago 1
1.17.x
Forge
1d ago 1
1.17.x
Fabric
1d ago 1
### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the voice playback changes.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


Dropped support for Forge and Minecraft versions below 1.21. Plasmo Voice now only supports Fabric and NeoForge on 1.21 and newer.

### Client
  • Volume tab now shows only source lines used in the last 5 minutes when there are more than 3 of them (Proximity always shown). Can be toggled to show all via button next to Sources Volume.
  • Entity icons are now rendered on any entity, not only on living entities.
  • Display entities now show the icon even when they're empty, and their transformation is applied to the icon and audio position, so they can be used as an anchor for audio and icon.
  • Improved voice playback:
  • Fixed the start of the audio stream sometimes being cut off when you hear audio source for the first time.
  • Fixed the last moment of audio stream sometimes being cut off.
  • Fixed the end of audio stream sometimes being lost, or played late at the start of the next stream.
  • Fixed a short piece of already played audio sometimes being repeated.
  • Fixed a short silence in the middle of the audio stream with proximity sources when changing worlds.
  • Removed Adaptive Jitter Buffer, because it didn't work properly.
  • Activation settings in the client config are now stored by activation name instead of UUID.
  • Fixed Opus mode and mtu_size from the server config being ignored by the native encoder (it always used VOIP).
  • Fixed HUD icons and overlay not rendering when there are a lot of HUD layers on NeoForge. [#542](https://github.com/plasmoapp/plasmo-voice/issues/542)
  • Fixed settings screen resetting its scroll position and search input when window is resized.
  • Fixed overlay settings for source lines sometimes being reset on join.
  • Fixed ClientSourceLine#getVolume returning the max volume instead of the actual volume.

### Server
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added vanish support, supported mods: [Melius Vanish](https://www.curseforge.com/minecraft/mc-mods/meliusvanish) on Fabric and [Vanishmod](https://www.curseforge.com/minecraft/mc-mods/vanishmod) on NeoForge.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Plasmo Voice permissions not being visible to permission mods (e.g. LuckPerms) on NeoForge.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Beta
This is a beta version, and it still requires testing, especially the separate per-player sockets to backend servers.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


  • Java 21 is now required.
  • Proxy now opens a separate socket to the backend server for each player instead of sending backend traffic through the public voice socket, which was a bottleneck under high load. [#535](https://github.com/plasmoapp/plasmo-voice/pull/535)
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added optional SO_REUSEPORT support ([reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and forwards backend packets without decoding them.

### Beta
This is a beta version, and it still requires testing, especially the separate per-player sockets to backend servers.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


  • Java 21 is now required.
  • Proxy now opens a separate socket to the backend server for each player instead of sending backend traffic through the public voice socket, which was a bottleneck under high load. [#535](https://github.com/plasmoapp/plasmo-voice/pull/535)
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Added optional SO_REUSEPORT support ([reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • UDP server now copies fewer buffers, batches socket writes and forwards backend packets without decoding them.

### Beta
This is a beta version, and it still requires testing.
If you encounter any issues, please report them on [GitHub](https://github.com/plasmoapp/plasmo-voice/issues) or [Discord](https://discord.gg/uueEqzwCJJ).

Versions 2.1.x and 2.2.x are protocol-compatible,
so there's no need to worry if server or client hasn't been updated to 2.2.x.


  • Plasmo Voice is now a Paper plugin. Spigot is no longer supported, use Paper or Folia 1.21+.
  • Commands now use Brigadier:
  • /vmute now requires duration before reason: /vmute <player> permanent <reason> instead of /vmute <player> <reason>.
  • /vmute now rejects invalid durations (0, 10x, overflowing values, u timestamps in the past) instead of treating them as part of the reason and muting permanently.
  • /vmute and /vunmute now accept target selectors, e.g. /vmute @a[distance=..10] 5m.
  • /vunmute now accepts the UUID of a muted player even when their name can't be resolved.
  • /vrc now uses actual command executor as reconnect target, so /execute as <player> run vrc will reconnect <player>.
  • Commands can now be used in datapack functions without macros.
  • Updated slib to 2.1.0, which breaks addons that use:
  • McCommandManager#register with Brigadier commands. Register them with McBrigadierRegistry from McBrigadierCommandsRegisterEvent listener instead.
  • MessageTextConverter. Use McTextMessage.of(component) instead.
  • Vanish is now alwayts handled through Paper's player visibility API, so direct SuperVanish/PremiumVanish integration was removed.
  • Added optional SO_REUSEPORT support ([voice.reuse_port] in config.toml, Linux only). When enabled, multiple sockets on separate threads share the voice port instead of one.
  • Number of UDP threads can now be set with -Dplasmovoice.udp_threads (default: CPU cores * 2).
  • Number of UDP threads no longer follows netty-threads from spigot.yml.
  • UDP server now copies fewer buffers, batches socket writes and doesn't create packet events when nothing listens to them.
  • In our benchmark, one socket now sends ~1.2x more packets than 2.1.x before it starts dropping, and allocates ~10x less memory per sent packet.
  • With reuse_port, 100 players speaking at the same spot (~500k outgoing packets/s) are handled without loss on 4 cores.
  • Fixed Opus mode and mtu_size from the config being ignored by the native encoder (it always used VOIP).

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

### Client

### Server
  • Update checker will no longer suggest an update when none of the newer versions have a changelog.

Plasmo Voice Icon
Download Plasmo Voice
Select game version
Select platform