Kaillux is a Kaillera network server that enables online multiplayer for emulators by routing player input over the network.
- Modernized Java 25 + Spring Boot build
- Admin API and health/metrics endpoints for ops visibility
- File-based access control with temporary bans and silencing
- Arch Linux packaging with systemd service
Build the server:
./gradlew buildRun the JAR:
java -jar build/kaillux.jarBuild and install using the provided PKGBUILD:
cd packaging/archlinux
makepkg -siStart the service:
sudo systemctl enable --now kailluxConfiguration files are installed to /etc/kaillux/.
docker build -t kaillux .
docker run -p 8080:8080 -p 27888:27888/udp -p 27889-27899:27889-27899/udp kailluxRun directly with Java 25+:
java -jar build/kaillux.jar- App config:
src/main/resources/application.properties - Access control rules:
src/main/resources/access.cfg - Logging:
src/main/resources/logback.xml
For packaged installations (Arch Linux), config files are in /etc/kaillux/.
All code now lives under a single package hierarchy:
su.kidoz.*- Kaillux Kaillera server codebase
Tests mirror the source package structure (e.g., su.kidoz.kaillera.model).
- Admin API:
/api/admin/**(HTTP Basic; setadmin.username/admin.password) - Health probes:
/healthz,/livez,/readyz - Prometheus metrics:
/metrics
These endpoints are intended for cluster-internal access only.
GPL-2.0. See LICENSE.
- Current Maintainer: Aleksandr Pavlov
- Original Author: Paul Cowan
- Contributors: See GitHub contributors