Server
ServerProperties.json
Main server config file: config/ServerProperties.json.
ServerProperties.json
Main server config file: config/ServerProperties.json.
Basic Example
{
"VoiceCraftConfig": {
"Language": "en-US",
"Port": 9050,
"MaxClients": 100,
"Motd": "VoiceCraft Proximity Chat!",
"PositioningType": 0,
"EnableVisibilityDisplay": true
},
"McWssConfig": {
"Enabled": false,
"LoginToken": "replace-with-secure-guid",
"Hostname": "ws://127.0.0.1:9051/",
"MaxClients": 1,
"MaxTimeoutMs": 10000,
"DataTunnelCommand": "voicecraft:data_tunnel",
"CommandsPerTick": 5,
"MaxStringLengthPerCommand": 1000,
"DisabledPacketTypes": []
},
"McHttpConfig": {
"Enabled": true,
"LoginToken": "replace-with-secure-guid",
"Hostname": "http://127.0.0.1:9050/",
"MaxClients": 1,
"MaxTimeoutMs": 10000,
"DisabledPacketTypes": []
},
"DefaultAudioEffectsConfig": {
"1": { "EffectType": 1 },
"2": { "WetDry": 1, "MinRange": 0, "MaxRange": 30, "EffectType": 2 },
"4": { "WetDry": 1, "Delay": 0.5, "Range": 30, "EffectType": 4 },
"8": { "WetDry": 1, "EffectType": 6 }
}
}
VoiceCraftConfig
Language— server log language.Port— UDP port for VoiceCraft server layer.MaxClients— maximum client connections.Motd— ping response text (up to 100 chars).PositioningType— positioning mode:0= Server1= Client
EnableVisibilityDisplay— whether to send visibility indicators to clients.
McWssConfig
Enabled— enable/disable McWss.LoginToken— auth token (/vcconnectin world).Hostname— WebSocket host, examplews://0.0.0.0:9051/.MaxClients— McWss client limit.MaxTimeoutMs— inactive client timeout.DataTunnelCommand— data tunnel command name (usually keep default).CommandsPerTick— packets forwarded per tick.MaxStringLengthPerCommand— payload length limit per command.DisabledPacketTypes— list of disabled packet type IDs.
McHttpConfig
Enabled— enable/disable McHttp.LoginToken— auth token (/vcconnect <hostname> <token>).Hostname— HTTP endpoint, examplehttp://0.0.0.0:9050/.MaxClients— McHttp client limit.MaxTimeoutMs— inactive timeout.DisabledPacketTypes— list of disabled packet type IDs.
DefaultAudioEffectsConfig
Dictionary key is bitmask (ushort), value is effect JSON.
Default matrix:
1— Visibility2— Proximity4— ProximityEcho8— ProximityMuffle
Production Example
{
"VoiceCraftConfig": {
"Language": "en-US",
"Port": 9050,
"MaxClients": 250,
"Motd": "My Network VoiceCraft",
"PositioningType": 0,
"EnableVisibilityDisplay": true
},
"McWssConfig": {
"Enabled": false,
"LoginToken": "4f4056f0-6eb3-4e33-a9f8-dfd2c206639a",
"Hostname": "ws://0.0.0.0:9051/",
"MaxClients": 2,
"MaxTimeoutMs": 10000,
"DataTunnelCommand": "voicecraft:data_tunnel",
"CommandsPerTick": 6,
"MaxStringLengthPerCommand": 1000,
"DisabledPacketTypes": []
},
"McHttpConfig": {
"Enabled": true,
"LoginToken": "f11c15e8-30f4-4ea2-adf4-32bde5ce7d19",
"Hostname": "http://0.0.0.0:9050/",
"MaxClients": 10,
"MaxTimeoutMs": 10000,
"DisabledPacketTypes": []
}
}
Important Notes
- Always set unique
LoginTokenvalues. - With
Hostname: http://0.0.0.0:9050/, server automatically uses listenerhttp://+:9050/. - Do not disable core packet types in
DisabledPacketTypesunless you understand protocol implications.