Skip to content
 
 

Repository files navigation

Kaillux

Java Spring Boot Gradle License

Kaillux is a Kaillera network server that enables online multiplayer for emulators by routing player input over the network.

Highlights

  • 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

Quick start

Build the server:

./gradlew build

Run the JAR:

java -jar build/kaillux.jar

Installation

Arch Linux

Build and install using the provided PKGBUILD:

cd packaging/archlinux
makepkg -si

Start the service:

sudo systemctl enable --now kaillux

Configuration files are installed to /etc/kaillux/.

Docker

docker build -t kaillux .
docker run -p 8080:8080 -p 27888:27888/udp -p 27889-27899:27889-27899/udp kaillux

Manual

Run directly with Java 25+:

java -jar build/kaillux.jar

Configuration

  • 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/.

Architecture

Package Structure

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, health, and metrics

  • Admin API: /api/admin/** (HTTP Basic; set admin.username/admin.password)
  • Health probes: /healthz, /livez, /readyz
  • Prometheus metrics: /metrics

These endpoints are intended for cluster-internal access only.

License

GPL-2.0. See LICENSE.

Credits

  • Current Maintainer: Aleksandr Pavlov
  • Original Author: Paul Cowan
  • Contributors: See GitHub contributors

About

Kaillera network server for emulator multiplayer over UDP (Java 25 + Spring Boot)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages