Repository navigation
Releases: Blockheads-Club/blockheads-server
Release list
v0.5.1
v0.5.0
0.5.0 (2026-10-28)
Features
- app: mod settings commands (mod_settings_get / mod_settings_set) (ef2bfaa)
- app: mod settings on mod-sdk's settings API and a client-required toggle (0479fde)
- app: Settings tab on a mod's page (3b20103)
- mods: mod settings commands and the client-required override (d3a6614)
- mods: server voice relay over the dedicated UDP voice port (058db71)
- mods: voice transport primitives (unsequenced send, VOICE_FRAME fast path, UDP voice socket) (cae8a96)
Blockheads Server v0.4.0
Blockheads Server v0.4.0
Alpha. Edit the welcome message from the app, the server gets its own chat picture, and names work like Minecraft's
offline mode.
Server
- Same name from any device. A known name can join from another device and plays as that player; if the name is
already online, the new login replaces the old one (like Minecraft offline mode). Use a password or the whitelist
to keep names safe. The app turns this on by default (Settings > Same name from any device); the command-line
server keeps the original rule. - Server chat picture. With a server photo configured (the app uses its icon), the server's own chat lines show
that picture instead of the generic face. The server is not listed as a player. - Host API to read and change a world's welcome message, both for a stopped world and live.
App
- Welcome message editor (Settings > Welcome message): what players see when they join the selected world. A
running world gets it at once and saves it with the world; a stopped world has its save updated. - The world keeps running when the last player leaves; Stop ends it.
- The console puts the cursor in the command line when you open it on a running server.
Docker: ghcr.io/blockheads-club/blockheads-server:0.4.0
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Blockheads Server v0.3.0
Alpha. Mods reload without a restart, and the Android app updates itself.
Mods
- Hot reload.
/mods reload [id]reloads one mod, or every changed mod, while the server runs. A new version that fails to start leaves the old one running. Storage is kept. SetBLOCKHEADS_MODS_WATCH=1to reload a mod when its files change (for mod development). Players already connected keep the client mods they have. /modsfor admins and the console:list,reload [id],timings [id],timings reset [id]. Timings show the time each mod spends per handler kind, with soft hits, timeouts and strikes./modsis there when at least one mod loaded at start.- Mod SDK v0.3.1,
blockheads:api0.3.2 (no API change). See the hot reload guide.
Android app
- In-app updates. The app checks for updates every time it opens. Tap the notice to download the update inside the app; it is checked against
SHA256SUMS.txt. Before installing, the app saves and stops the server and backs up the world, then opens Android's installer. If Android asks, allow installs from Blockheads Server and tap Try again. If you cancel the install, the server starts again on the next launch. - This version has to be installed once from the browser; later versions update from inside the app.
Other
- The whole workspace is clippy-clean, and CI now fails on any clippy warning.
Docker: ghcr.io/blockheads-club/blockheads-server:0.3.0
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Blockheads Server v0.2.0
Alpha. The big change: the server runs mods, and the host app manages them.
Mods
- Lua and WASM mods. Server-side mods in Luau and WebAssembly components (API 0.2 and later) run next to each
other; gameplay events fire at the real request paths. Without mods in the mods directory nothing changes. - JVM mods (Java, Kotlin, ...). Opt-in twice: the build has the
jvmfeature and the server starts with
BLOCKHEADS_JVM=1(the machine's JRE is loaded at run time;BLOCKHEADS_JAVA_HOME,BLOCKHEADS_JVM_HEAP_MB).
They are unsandboxed, so a mod needsnativein itsmods.tomlgrant.- The CLI archives and the desktop app bundles of this release are built with
jvm. - The Android APK and the docker image are not (no JRE to load on Android; a JRE would make the distroless image
several times larger). Run JVM mods from the CLI archive or a desktop host.
- The CLI archives and the desktop app bundles of this release are built with
- Services. Client and server mods call each other through services (SERVICE_CALL / SERVICE_RESULT).
- Client mod protocol (0xBC). Players with the PC loader join modded servers and get the mods the server asks for.
Optional mods a player declined cost no channel traffic. Native client mods are listed with their SHA-256 but their
bytes are never sent: the player installs them from the public index. - Vanilla clients get a readable message. A vanilla client that cannot join a modded server sees a welcome text
explaining how to install the mod loader, then a plain disconnect, instead of an opaque rejection. - Content registry. Mods can add items, variant blocks and cosmetics with stable content ids.
- Safer hooks. The server wires every production hook; no silent defaults.
Host app (desktop and Android)
- Mods screens. Install, update, enable and remove server mods, mod commands and a dashboard card.
- Java mods switch in Settings (off by default, red warning). It needs an app built with
jvm, which the desktop
bundles of this release are; other builds say so under the switch. - In-place updates on desktop through the signed updater: update popup, title-bar chip and settings. Updates are
never installed on their own. - Russian and Kazakh UI, OS-locale detection; Turkish, Russian and Kazakh wording polish.
- Android: new server-rack notification icon for the host service.
- New worlds can take a world id.
Fixes
- Freight cars on trains have their chest.
- Chest inventories are sent and saved.
- PvP damage reaches the blockhead and its client.
- The area a player's blockhead walks into is loaded and explored.
Quality
The server is now covered at 100% lines in the test suite (including the mod host and the modded test client), and the
app keeps its 100% thresholds.
Install
CLI archives for Linux (x86_64, arm64, armv7), Windows (x86_64, arm64) and macOS (x86_64, arm64); desktop bundles and
an Android APK; docker image ghcr.io/blockheads-club/blockheads-server:0.2.0 (also :latest).
Checksums are in SHA256SUMS.txt.
v0.1.1
What's changed
- gzip header fix on macOS/Windows: the gzip OS byte is now always 3 (Unix), as in the original server, so network packets and saves are byte-identical on every host.
/debug-logmemory on all OSes: the memory-usage line is now reported on macOS and Windows too (Linux unchanged).- CI: tests on all six platforms (Linux, macOS, Windows × x86_64/arm64) are now required.
Docker: ghcr.io/blockheads-club/blockheads-server:0.1.1
Full Changelog: v0.1.0...v0.1.1