VoiceCraft (Repository and Build)
Repository: AvionBlock/VoiceCraft
The VoiceCraft repository contains the core runtime. It is where the client, server, shared protocol, network model, and release builds come from.
You do not need to build from source for a normal deployment. Use prebuilt releases unless you are developing VoiceCraft itself, debugging a specific build, or producing a custom runtime.
Repository structure
VoiceCraft.Client/*platform clients for Windows, Linux, macOS, Android, iOS, and browser-related targetsVoiceCraft.Serverstandalone VoiceCraft backendVoiceCraft.Coreshared core utilities, audio helpers, localization, constantsVoiceCraft.Networkprotocol packets, transports, entities, effects, world logic- test projects protocol, network, and integration coverage
What the repository contains
The repository is broader than "client + server":
- full client settings model
- embedded locales
- Minecraft-facing transports:
McHttp,McWss,McTcp - packet definitions for VoiceCraft and McApi layers
- audio effects and visibility systems
It is also important to understand what this repository is not: VoiceCraft is not a single Minecraft mod or plugin. The core runtime works together with clients and Minecraft-side integrations such as VoiceCraft.Addon or GeyserVoice.
Build requirements
From source code:
- .NET SDK
9.0.312 rollForward: latestMinor
Check locally:
dotnet --info
Build the solution
Use this when you want to validate the full solution or produce local binaries:
git clone https://github.com/AvionBlock/VoiceCraft.git
cd VoiceCraft
dotnet restore
dotnet build -c Release
If restore fails, confirm the installed .NET SDK matches the repository global.json expectations.
Run the server
dotnet run --project VoiceCraft.Server -- --language en-US
Useful root options:
--language <locale>--exit-on-invalid-properties--transport-mode <http|tcp|wss>--transport-host <host>--transport-port <port>--server-key <token>
The extra -- passes arguments to the server project rather than to dotnet run itself.
For deployment, prefer the published release artifact or a dotnet publish output over running directly from source.
Client builds
Examples:
dotnet build VoiceCraft.Client/VoiceCraft.Client.Windows -c Release
dotnet build VoiceCraft.Client/VoiceCraft.Client.Linux -c Release
dotnet build VoiceCraft.Client/VoiceCraft.Client.MacOS -c Release
Mobile targets usually require their own platform SDK toolchains.
Desktop builds are simpler because the required SDKs are part of the .NET/Avalonia toolchain. Mobile builds may require platform-specific signing and packaging steps outside the core solution build.
Embedded locales
Current embedded locales include:
en-USru-RUnl-NLde-DEpl-PLzh-CNzh-TW
Production checklist
- Run
VoiceCraft.Serveronce to generate config. - Replace all generated transport tokens.
- Decide which transport you actually need:
McHttpMcWssMcTcp
- Open only required ports.
- Keep backups of
ServerProperties.json. - Install the matching Minecraft-side integration.
- Confirm clients and Minecraft integration connect through their separate endpoints.
When to use this page
- you want to build or debug core VoiceCraft
- you need to understand which project owns client/server behavior
- you are checking whether a feature belongs in core, addon, or GeyserVoice
- you are preparing custom release artifacts