Troubleshooting Matrix
Use this page when you want symptom-based diagnosis rather than a generic checklist.
Symptom: client connects, but no one hears anything
Check:
PositioningTypematch- bind flow completed
- entities receive world and position updates
- client is not locally muted or deafened
- server has not muted or deafened the entity
Symptom: addon connects, but bind never works
Check:
- token is correct
- the expected entity is created
- player used the correct binding key
- bind script events are firing
Symptom: GeyserVoice is installed, but Java-side bridge never becomes usable
Check:
McTcpis enabled on VoiceCrafthost,port, andlogin-tokenmatch- direct vs proxy mode is configured intentionally
- if
auto-startis enabled, the runtime becomes ready within timeout
Symptom: direct Paper mode works after manual reconnect, but not on startup
Check:
config.voicecraft.auto-startinstall-directoryready-timeout-ms- startup ownership of the runtime process
Symptom: proxy mode works on one backend, but breaks on server switch
Check:
- proxy is the source of truth
- backend nodes are not trying to own the VoiceCraft connection
- snapshot forwarding stays intact across switches
- world ID namespacing logic remains consistent
Symptom: McWss is unstable
Check:
CommandsPerTickMaxByteLengthPerCommand- entity churn and packet burst size
- whether
McHttpwould be a better fit
Symptom: VoiceCraft server starts, but transport consumer cannot connect
Check:
- host binding
- exposed port
- firewall
- wrong transport type selected
- runtime overrides changing the expected values