8BitDo Ultimate 2C Wireless Controller
Hall-effect sticks and triggers with low-latency 2.4G dongle and Bluetooth for desktop Horizon and Android phones.
Because Horizon compiles straight to machine code without a JVM, it replaces Java bytecode loaders with two native formats: .hmod content/resource bundles and .hnmod dynamic Rust libraries built against horizon-mod-sdk and horizon-native-abi. On the backend, horizon-server-linux-x86_64.tar.gz runs standalone 26.3 worlds with deterministic Rust memory usage.

Understand which mod format belongs in your mods/ folder and why CPU architecture + ABI version matter for .hnmod files.
.hmod archives package declarative definitions, textures, models, and data-driven tweaks without platform-specific machine code. A single .hmod file drops straight into desktop Horizon Launcher's mods/ directory, /storage/emulated/0/Starling/mods/, Rayan-XOO's files/mods/, or GoyDevv.
.hnmod files are native shared libraries compiled against horizon-mod-sdk and horizon-native-abi (maintained upstream and mirrored hourly on arismoko/horizon). Desktop .hnmod builds target x86_64/arm64 OS ABIs with staged allocators (launcher@0.2.64+), whereas Android .hnmod files compile to aarch64-linux-android via cargo horizon-mod android or Starling's on-phone Options -> Mods -> Compile button.
| Mod / Asset | Format & ABI | Size | SHA-256 Prefix | Capabilities & Source |
|---|---|---|---|---|
entity_culling.hnmod | Native Rust .hnmod (ABI 4 aarch64) | 169,731 B | d64fb6fc3efdd924... | Skips rendering entities occluded behind solid chunk geometry; published on Rayan-XOO/horizon android-v0.4.4. |
orbital.hnmod | Native Rust .hnmod (ABI 4 aarch64) | 36,907,341 B | 07ecf36ccca3266d... | Adds custom items, gameplay mechanics, and /orbital give commands on Android. |
hello_android-0.1.0.hnmod | Reference Android .hnmod sample | 172,951 B | d225cc97f0f5c41c... | Minimal starter plugin from Rayan-XOO 0.3.8 demonstrating HUD/log hooks. |
wrench (Upstream SDK) | Source crate in arismoko/horizon | Compiled locally | Pinned to horizon-source.tar.gz | Reference block-rotation & interaction mod testing impl Game traits in launcher@0.2.66. |
StarlingVisuals.zip | Shader / Visual Pack | 18,138 B | 7c677a33e86b69f6... | Companion visual pack published on starling-client/starling v0.8.0. |
Unlike desktop client archives, horizon-server-linux-x86_64.tar.gz (54,195,959 B) runs headless without Horizon Launcher.
mkdir -p ~/horizon-server && cd ~/horizon-server
curl -fLO https://github.com/horizon-rust/horizon/releases/download/nightly/horizon-server-linux-x86_64.tar.gz
echo "f621e334c254d56bfeed16ed989500a36ef82a6a2e84ee6b861adcb774ced9b5 horizon-server-linux-x86_64.tar.gz" | sha256sum -c -
tar -xzf horizon-server-linux-x86_64.tar.gz
./horizon-server
Ensure your prepared 26.3 server registries are present in the working directory (generated via horizon-prepare --prepare --server-jar server.jar) and open TCP port 25565 on your firewall.
Akirabane/Meridian (a community Rust proxy tailored for Horizon clusters).Rayan-XOO/horizon 0.4.7, which embeds client-side ViaHorizon.D-pad or Free Direction so movement packets pass strict 45-degree input validation.Build your own native aarch64 mod for Rayan-XOO (Mod ABI 4) or Starling using the Android NDK.
# Build an Android .hnmod shared library with Android NDK r26+ installed
rustup target add aarch64-linux-android
cargo horizon-mod android --release
# Or copy your Rust mod crate folder to /storage/emulated/0/Starling/mods-src/
# and tap Options -> Mods -> Compile inside Starling v0.8.0 on an arm64 phone.
Horizon desktop, Starling v0.8.0, and Rayan-XOO 0.3.7+ support Bluetooth and USB X-Input/D-Input controllers, automatically hiding touch buttons while you play.
Hall-effect sticks and triggers with low-latency 2.4G dongle and Bluetooth for desktop Horizon and Android phones.
Drift-free Hall sensors, swappable ABXY layout, and quiet face buttons tested across Windows, Linux, and Android.
Symmetrical dual-stick layout with X-Input, D-Input, and Android modes plus programmable rear hotbar paddles.
TMR electromagnetic sticks and 1000 Hz polling rate for high-refresh chunk exploration on desktop and mobile.
Affiliate disclosure: As an Amazon Associate, horizonrust.wiki earns from qualifying purchases at no added cost to you.
ABI compatibility, vanilla cross-play, WSL2/ARM64 compilation, and shaderpacks.
Native Rust dynamic libraries bind to a versioned C/Rust ABI table (horizon-native-abi). Rayan-XOO android-v0.4.4 bumped to Mod ABI 4, so mods compiled for 0.3.8 must be rebuilt against ABI 4 (like the 0.4.4 entity_culling.hnmod and orbital.hnmod builds).
No, and you do not need them. Horizon's entire renderer and chunk engine are already written in native Rust (+31% to +38% faster than Java + Sodium + Lithium on desktop), and Starling v0.8.0 translates Iris/OptiFine .zip shaderpacks natively without running Java OptiFine.
Yes! Because horizon-rust/horizon validates wire protocol, chunk packets, and simulation ticks against vanilla 26.3 across 281 differential harnesses, standard Java Edition 26.3 clients and Horizon Rust clients can play together in the same world.
When scanning multi-file Rust mod crates during local testing, launcher@0.2.66 skips compiling test harnesses against helper modules that do not contain an impl Game block, cutting mod iteration times.
Upstream nightly currently ships prebuilt standalone server binaries for Linux x86_64 (horizon-server-linux-x86_64.tar.gz). On Windows 11 (via WSL2) or ARM64 Linux (Ampere / Raspberry Pi 5), compile the server crate directly from source with cargo build --release -p horizon-server.
Copy orbital.hnmod (36,907,341 B) into /sdcard/Android/data/dev.horizonlab.horizon/files/mods/, enable it in the mod list before launching a local singleplayer world, and run /orbital give in chat.