Ecosystem
Integration Recipes
These are practical deployment patterns for different server types.
Integration Recipes
These are practical deployment patterns for different server types.
Scenario A: Bedrock Dedicated Server (recommended)
Stack:
VoiceCraft.ServerVoiceCraft.Addon.Core.McHttp- VoiceCraft clients for players
Steps:
- Deploy
VoiceCraft.Server. - Keep
McHttpConfig.Enabled = trueinServerProperties.json. - Ensure BDS can reach
McHttpConfig.Hostname. - Install
Core.McHttppacks in BDS. - Run
voicecraft:vcconnect <hostname> <token>. - Validate player binding with
voicecraft:vcbind <key>.
Scenario B: Local/singleplayer Bedrock world
Stack:
- local
VoiceCraftclient (with McWss) VoiceCraft.Addon.Core.McWss
Steps:
- Enable McWss in
ServerProperties.json. - Ensure
DataTunnelCommand = "voicecraft:data_tunnel". - Install
Core.McWssin world. - Run
voicecraft:vcconnect <token>in world.
Scenario C: Java + Geyser/Floodgate network
Stack:
VoiceCraft.ServerGeyserVoiceon Velocity/BungeeGeyserVoiceon backend Paper/Folia
Steps:
- Configure
host/port/server-keyon proxy. - Set
server-behind-proxy: trueon backend Paper. - Reload plugin with
/voice reload. - Validate bind flow and position forwarding.
Minimal production config fragment
{
"VoiceCraftConfig": {
"Port": 9050,
"MaxClients": 250,
"PositioningType": 0
},
"McHttpConfig": {
"Enabled": true,
"LoginToken": "replace-with-strong-token",
"Hostname": "http://0.0.0.0:9050/",
"MaxClients": 10
},
"McWssConfig": {
"Enabled": false,
"LoginToken": "replace-with-strong-token",
"Hostname": "ws://0.0.0.0:9051/",
"DataTunnelCommand": "voicecraft:data_tunnel"
}
}
Troubleshooting flow
- Verify
LoginTokenvalues andvcconnectcommand arguments. - Validate network path and open ports between nodes.
- For proxy networks, verify backend
server-behind-proxy. - For unstable McWss, reduce load and check command/payload limits.
- As a last resort, temporarily disable specific packet types in
DisabledPacketTypes(carefully).