Heavily multithreaded voxel engine with multiplayer networking.
Written in Rust using wgpu
[1]
[2]
[3]
[4]
[1]
- developed out-of-tree here since 2024[2]
- android support is experimental[3]
- mouse and gamepad input is not supported on android[4]
- work in progress, may cause issuescargo build -p kubi
cargo run -p kubi
#or, build with release mode optimizations:
cargo run -p kubi --release
please note that android support is highly experimental!\ gamepad, mouse input is currently borked, as well as srgb, which leads to dark textures.
prerequisites: Android SDK, NDK, command line tools, platform-tools, latest JDK\
(make sure that your PATH
, ANDROID_HOME
and ANDROID_NDK_ROOT
variables are configured properly)
Setup:
latest unpublished (git) version of cargo-apk is required
cargo install --git https://github.com/rust-mobile/cargo-apk cargo-apk
rustup target add aarch64-linux-android
Build:
--no-default-features
is required for keyboard input!\
(prefer-raw-events
feature must be disabled on android)\
Mouse input is not implemented, touch only!
cargo apk build -p kubi --lib --no-default-features
Run on device (using adb):
cargo apk run -p kubi --lib --no-default-features
to join a multiplayer server, just pass the ip address as the first argument
cargo run -p kubi -- 127.0.0.1:1234
[server]
address = "0.0.0.0:12345" # ip address to bind to
max_clients = 32 # max amount of connected clients
timeout_ms = 10000 # client timeout in ms
[world]
seed = 0xfeb_face_dead_cafe # worldgen seed to use
[query]
name = "Kubi Server" # server name
hui
, hui-glium
, hui-winit
: semi-imm.mode backend-agnostic ui system\kubi-logging
fancy custom formatter for env-logger
deprecated:
kubi-udp
uflow
(https://github.com/lowquark/uflow) in #5kubi-pool