Runtime Overrides
VoiceCraft server supports runtime overrides through root CLI options.
These options are ideal when:
- you want environment-specific values without editing JSON
- a process manager injects values at startup
GeyserVoicelaunches the VoiceCraft runtime automatically- you test several transport topologies from the same install folder
Supported options
--exit-on-invalid-properties/-eip--language <culture>/-l--transport-mode <mode>/-tm--transport-host <host>/-th--transport-port <port>/-tp--server-key <token>/-sk
What each option changes
--language
Overrides VoiceCraftConfig.Language for the current process.
Example:
./VoiceCraft.Server --language ru-RU
--transport-mode
Enables only selected Minecraft transports for the current run.
Accepted values:
httptcpwss- aliases such as
ws,websocket,websockets - aliases such as
local-socket,tcp-socketnormalize totcp
Examples:
./VoiceCraft.Server --transport-mode http
./VoiceCraft.Server --transport-mode tcp
./VoiceCraft.Server --transport-mode http,tcp
When set, VoiceCraft disables all Minecraft transports first, then re-enables only the selected ones.
--transport-host
Overrides the Minecraft transport host:
McHttpConfig.HostnameMcWssConfig.HostnameMcTcpConfig.Hostname
Example:
./VoiceCraft.Server --transport-host 0.0.0.0
--transport-port
Overrides the Minecraft transport port:
- URI port in
McHttpConfig.Hostname - URI port in
McWssConfig.Hostname McTcpConfig.Port
Example:
./VoiceCraft.Server --transport-port 9055
--server-key
Overrides the shared login token used by:
McHttpConfig.LoginTokenMcWssConfig.LoginTokenMcTcpConfig.LoginToken
Example:
./VoiceCraft.Server --server-key "prod-secret-token"
Good deployment examples
Dedicated BDS host
./VoiceCraft.Server --transport-mode http --transport-host 0.0.0.0 --transport-port 9050
Java bridge host
./VoiceCraft.Server --transport-mode tcp --transport-host 0.0.0.0 --transport-port 9050
Local singleplayer testing
./VoiceCraft.Server --transport-mode wss --transport-host 127.0.0.1 --transport-port 9051
Important behavior
- runtime overrides are process-local
- they do not permanently rewrite
ServerProperties.json - they are excellent for testing and automation
- they reduce the need for multiple config copies