Repository navigation
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.