Server Installation

VoiceCraft.Server is the standalone backend that accepts client voice traffic and exposes Minecraft-facing transports.

What the server actually includes

VoiceCraft server exposes multiple layers at once:

  • VoiceCraft UDP voice server
  • McHttp transport for Bedrock integrations
  • McWss transport for websocket / command-tunnel Bedrock flows
  • McTcp transport for Java-side bridges such as GeyserVoice

You can leave all of them enabled, or select transports at runtime.

Prebuilt binary releases

The release page usually includes:

  • Windows: VoiceCraft.Server.Windows.x64.zip, x86, arm64
  • Linux: VoiceCraft.Server.Linux.x64.zip, arm, arm64

Download: Download Page

Windows

  1. Download VoiceCraft.Server.Windows.<arch>.zip.
  2. Extract the archive to a dedicated folder.
  3. Start:
./VoiceCraft.Server.exe

Linux

  1. Download VoiceCraft.Server.Linux.<arch>.zip.
  2. Extract the archive.
  3. Start:
chmod +x ./VoiceCraft.Server
./VoiceCraft.Server

macOS

There may not always be a prebuilt dedicated artifact, but the server can be built from source:

git clone https://github.com/AvionBlock/VoiceCraft.git
cd VoiceCraft/VoiceCraft.Server
dotnet restore
dotnet publish -c Release -r osx-arm64 -p:PublishSingleFile=true

For Intel macOS, replace osx-arm64 with osx-x64.

Docker / containers

Container images are referenced from the main repository README:

Container deployment is useful when:

  • you want a dedicated service boundary
  • you already run BDS / Java nodes in containers
  • you want easier restart policies and logs

Example Linux layout:

/opt/voicecraft/
  VoiceCraft.Server
  config/
    ServerProperties.json

Recommended practices:

  • keep VoiceCraft in its own directory
  • persist config/
  • back up ServerProperties.json
  • do not mix multiple environments in the same folder

Run as systemd service (Linux)

Example /etc/systemd/system/voicecraft.service:

[Unit]
Description=VoiceCraft Server
After=network.target

[Service]
WorkingDirectory=/opt/voicecraft
ExecStart=/opt/voicecraft/VoiceCraft.Server
Restart=always
RestartSec=3
User=voicecraft
Group=voicecraft

[Install]
WantedBy=multi-user.target

Apply it:

sudo systemctl daemon-reload
sudo systemctl enable --now voicecraft
sudo systemctl status voicecraft

Build from source

See VoiceCraft repository and build for SDK and project details.

Minimal flow:

git clone https://github.com/AvionBlock/VoiceCraft.git
cd VoiceCraft
dotnet restore
dotnet build -c Release
dotnet run --project VoiceCraft.Server