VoiceCraft
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 = Server
    • 1 = Client
  • EnableVisibilityDisplay — whether to send visibility indicators to clients.

McWssConfig

  • Enabled — enable/disable McWss.
  • LoginToken — auth token (/vcconnect in world).
  • Hostname — WebSocket host, example ws://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, example http://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 — Visibility
  • 2 — Proximity
  • 4 — ProximityEcho
  • 8 — 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 LoginToken values.
  • With Hostname: http://0.0.0.0:9050/, server automatically uses listener http://+:9050/.
  • Do not disable core packet types in DisabledPacketTypes unless you understand protocol implications.
Copyright © 2026