Installation
This guide covers installing and configuring Simple Voice Geyser.
Requirements
Bukkit-based Servers (Paper / Purpur / Spigot)
- Minecraft 1.21.8+
- Simple Voice Chat 2.6.x+
- GeyserMC 2.9.0-SNAPSHOT+
- Floodgate (optional, but recommended)
Fabric
- Fabric Loader (matching your Minecraft version)
- Fabric API (required)
- Simple Voice Chat 2.6.x+
- GeyserMC 2.9.0-SNAPSHOT+
- LuckPerms (optional)
- Floodgate (optional)
Simple Voice Geyser depends on Simple Voice Chat and will not function without it.
Installation Steps
-
Download the latest release: https://github.com/TheodoreMeyer/SimpleVoice-Geyser/releases
-
Install the plugin/mod:
- Bukkit: place the
.jarinplugins/ - Fabric: place the
.jarinmods/
- Bukkit: place the
-
Install dependencies:
- Simple Voice Chat
- GeyserMC
- Optional: Floodgate, LuckPerms (Fabric)
-
Start or restart your server
-
Verify startup:
- No errors in console
- Plugin loads successfully
- Voice Chat is functioning
Server Configuration
The plugin is configured via:
client:
# default: 30
# Timeout in seconds
# WARNING: Developer Has disabled this for right now.
vctimeout: 30
# default: 2
# idle websocket timeout in minutes
idletimeout: 2
# default: false
# Only allow bedrock players to join the chat
requireBedrock: false
# default: true
# Allows for the bedrock client to open a menu just by opening the emotes menu
# WARNING: Make sure you have off-hand-emote turned off in geyser or there may
# be conflict
useEmoteForSVG: true
# default: true
# Allows players using web-chat to chat in-game
web-chat-enabled: true
updatechecker:
enable: true
server:
group:
# Settings for the default group for Svg players.
default:
# default: true
# This decides whether the Svg group is created for players who use the website
enabled: true
# default: 1a2b
# This control's the default groups's password.
password: 1a2b
# default: 8080
# port server will run on.
port: 8080
# default: 0.0.0.0
# Address server binds to, use 127.0.0.1 to only connect from host device.
# This is suggested to be changed only if you are running a proxy on the same network/device as the server to allow https/wss.
bind-address: 0.0.0.0
# default: /
# This is the context-path, or where the root of the server will be generated.
# Example: /svg will generate the server at https://yourdomain.com/svg/
context-path: /
security:
# default: 5
# This is the number of failed login attempts before the server will block the user for auth-lock-duration.
max-auth-failures: 5
# default: 3
# How long each failure is saved for in minutes.
# Example: if set to 3, and max-auth-failures is 5, auth can fail 4 times in 3 minutes before being locked out.
auth-fail-duration: 3
# default: 8
# This is the lockout in minutes when max-auth-failures has been reached.
auth-lock-duration: 8
# See more at https://theodoremeyer.github.io/projects/simplevoicegeyser/install/audio-transport/
audio:
# default: svg-v2
# options: legacy, svg-v2
# This is the audio transport mode, deciding how to send audio to client.
# legacy: uses the legacy audio transport mode, which is compatible with all clients.
# svg-v2: uses the new svg-v2 audio transport mode, which is only compatible with clients that support it.
# WARNING: This has been deprecated, and will be changed or removed in future releases.
transport-mode: auto
# default: true
# Whether legacy mode is supported on your server.
# If transport-mode is set to svg-v2, can legacy still be used.
allow-legacy-fallback: true
# default: false
# Debug logs
# Do NOT use this in production. This will very quickly fill up your server logs.
debug: false
# default: 0.1.3
# Version of server associated with config
# DO NOT CHANGE, or config may be reset/messed up
config-version: 0.1.3
Important Notes
vctimeoutis currently not enforced and may be removed or re-enabled lateruseEmoteForSVGmay conflict with Geyser’s off-hand emote setting-
bind-addresscontrols network exposure:0.0.0.0→ accessible externally127.0.0.1→ local only
Networking & Security
Simple Voice Geyser uses a web-based client over HTTP/WebSocket.
Important:
- Browsers require HTTPS for microphone access in most environments
-
Running on plain HTTP may result in:
- microphone access being blocked
- connection failures
Recommendation
Use a reverse proxy (e.g., Nginx, Caddy) to provide:
- HTTPS (TLS)
- Secure WebSocket (WSS)
Upgrading
Some versions may introduce breaking changes.
See: Upgrading
Versioning Notes
- Versions not be ready for production use may be marked as
-DEV.
Notes
-
This plugin extends Simple Voice Chat; it does not replace it
-
It does not provide voice chat on its own
-
As of 0.1.2-DEV:
- Audio Security
- Client to server audio is not encoded
- Server to client audio is only encoded in Svg-v2 audio protocol
- The server runs over HTTP by default
- Audio Security
This makes using HTTPS strongly recommended for real deployments.