McHttp for Bedrock Dedicated Server

McHttp is the recommended VoiceCraft integration mode for BDS.

  • better suited for dedicated server environments
  • simpler than command-tunnel based setups
  • easier to reason about in production
  • aligns well with the Bedrock addon package VoiceCraft.Addon.Core.McHttp

Requirements

  1. Running VoiceCraft.Server
  2. McHttpConfig.Enabled = true
  3. VoiceCraft.Addon.Core.McHttp.zip from releases, or a ready world archive from the Addon Configurator
  4. BDS with required modules and script API support

Server-side VoiceCraft config

Minimal example:

{
  "McHttpConfig": {
    "Enabled": true,
    "LoginToken": "replace-with-token",
    "Hostname": "http://0.0.0.0:9050/",
    "MaxClients": 10,
    "MaxTimeoutMs": 10000,
    "DisabledPacketTypes": []
  }
}

Important:

  • use a real token, never keep the generated one in production
  • make sure the BDS host can reach the configured endpoint

Addon installation

Fastest path:

Manual path:

  1. Extract VoiceCraft.Addon.Core.McHttp.zip.
  2. Put RP into <MCServer>/resource_packs/.
  3. Put BP into <MCServer>/behavior_packs/.

Module permissions

Open <MCServer>/config/default/permissions.json and ensure it contains the required modules:

{
  "allowed_modules": [
    "@minecraft/server-gametest",
    "@minecraft/server",
    "@minecraft/server-ui",
    "@minecraft/server-admin",
    "@minecraft/server-editor",
    "@minecraft/server-net"
  ]
}

Attach packs to the world

In <MCServer>/worlds/<YourWorld>/world_behavior_packs.json:

{
  "pack_id": "71ebb3ba-e9db-4546-9520-05f20b17dcb6",
  "version": [1, 6, 0]
}

In world_resource_packs.json:

{
  "pack_id": "30b512be-77d1-4a61-bdb7-6c2f4062f889",
  "version": [1, 0, 0]
}

Connect in game

Run:

/voicecraft:vcconnect "http://<VOICECRAFT_HOST>:<PORT>" <LOGIN_TOKEN>

Example:

/voicecraft:vcconnect "http://127.0.0.1:9050" e4ad1f7e-4f90-4b21-bc15-6febe580bf1c

Use the token from McHttpConfig.LoginToken.

What happens after connect

After successful connection:

  • the addon authenticates with VoiceCraft
  • the world can create / update entities through McApi
  • bind flow becomes available through voicecraft:vcbind
  • effects UI and packet-driven state sync become available
  1. connect the world with vcconnect
  2. confirm no auth error is shown
  3. let a VoiceCraft entity appear
  4. use voicecraft:vcbind <key>
  5. confirm the player is bound and visible in VoiceCraft

Common issues

  • HttpListenerException on Windows: you may need netsh http add iplisten 127.0.0.1
  • container or VM networking: use http://0.0.0.0:9050/ or the correct LAN address
  • hosting provider blocks outbound HTTP from BDS: this transport may not work there