A collection of linux command line tools written in Go to assist in the creation and administration of Kyber dedicated servers with the official Kyber Docker container.
| Tool | Description |
|---|---|
| Kyber Server Launcher | An interactive Linux CLI tool for creating and running a Kyber dedicated server using Docker |
| Kyber Server Log Manager | A simple, interactive CLI tool for extracting Kyber dedicated server .log files |
| Kyber Module Updater | A small CLI tool designed to update Kyber module files inside an existing dedicated server |
An interactive Linux CLI tool for creating and running a Kyber dedicated server using Docker.
This tool walks you through all required configuration options, then generates a valid docker run command for the official Kyber server image. You can choose to run the command immediately, save it to a file, or simply print it to the command line.
- Interactive, guided setup (no Docker command memorization required)
- Automatically builds a valid
docker runcommand - Secure handling of credentials (entered at runtime)
- Optional automatic restart (
--restart=unless-stopped) - Optional mod and plugin volume variable support
- Save generated commands as executable scripts
- Print-only mode for inspection or manual use
- Linux
- Docker installed and available in
$PATH - Go 1.20+ (only required to build)
⚠️ If running or saving the generated Docker command, you will need or run this tool withsudo.
The program will prompt you for:
- EA account email
- EA account password
- Kyber token
- Server name
- Max players
- Map rotation (BASE64 from the Kyber client)
- Path to Battlefront II game data on the host
- Docker container name (lowercase, no spaces)
- Mod folder path on the host
- Plugin folder path on the host
- Server description
- Server password
- Module channel (leave blank unless you know what you are doing)
- Docker restart policy
Based on your answers, it generates a valid docker run command for the Kyber dedicated server image.
The Docker container name must:
-
Be lowercase
-
Contain no spaces
-
Only use:
a–z0–9-_.
After configuration, you can choose one of the following:
- Run the Docker command immediately
- Save the command to a file
- Run the command and save it to a file
- Print the command only
Saved Docker command files are automatically marked executable.
docker run -it \
--name kyber-server-01 \
--restart=unless-stopped \
-e MAXIMA_CREDENTIALS="email:password" \
-e KYBER_TOKEN=123456 \
-e KYBER_SERVER_NAME="My Server" \
-e KYBER_SERVER_MAX_PLAYERS=40 \
-e KYBER_MAP_ROTATION=BASE64STRING \
-v "/path/to/game/files:/mnt/battlefront" \
-v "/path/to/mods:/mnt/battlefront/mods" \
ghcr.io/armchairdevelopers/kyber-server:latest- Mod and plugin environment variables are only added if their volume paths are set
- The module channel is omitted unless changed from
main(leave blank for most cases) - Generated scripts can be reused, versioned, or shared
- The tool does not manage existing containers — name collisions will fail normally via Docker
A simple, interactive Go CLI tool for extracting Kyber dedicated server .log files from a running Docker container.
This tool is designed to make log retrieval easier: it detects Docker, validates containers, lists available log files, and lets you selectively (or fully) copy them to your local machine.
-
Verifies Docker is installed
-
Confirms the container exists and is running
-
Lists all
.logfiles inside the Kyber server container -
Supports flexible selection:
- Single file (
1) - Multiple files (
1,3,5) - Ranges (
2-6) - Everything (
all)
- Single file (
-
Copies logs to:
- Current working directory, or
- Any custom destination directory
-
Robust error handling and clear prompts
- Docker installed and available in your
PATH - A running Kyber dedicated server container
⚠️ You will need to be in thedockergroup or run this tool withsudo.
The tool connects to a running Docker container and looks for log files in the Kyber log directory:
/root/.local/share/maxima/wine/prefix/drive_c/users/root/AppData/Roaming/ArmchairDevelopers/Kyber/Logs
Once found, you’re prompted to choose which logs to extract, and where to save them on your host system.
Run the program from your terminal:
./kyber-log-manager-
Enter the container name
Enter container name: kyber-server -
Select log files
Log files found: 1) kyber-server_2026-01-30.log 2) kyber-server_2026-01-31.log 3) kyber-server_2026-02-01.log all) All log files Select log files to extract (e.g. 1, 1-3, 1-3,5): 1-2 -
Choose destination directory
Destination directory (leave empty for current directory): ./logs -
Logs are copied using
docker cpand saved locally.Copied kyber-server_2026-01-30.log Copied kyber-server_2026-01-31.log Done.
The program will exit if:
- Docker is not installed
- The container name is empty
- The container does not exist
- The container exists but is not running
- No
.logfiles are found
Clear error messages are printed with actionable guidance.
This tool was built to simplify Kyber server administration—especially when logs live deep inside Wine paths in the Kyber Docker container. No manual Docker commands are required which simplifies log retrieval.
- Logs are copied, not moved or deleted
- Duplicate selections are automatically ignored
- Destination directories are created if missing
kyber-updater is a small linux CLI tool written in Go designed to update Kyber module files inside an existing dedicated server Docker container.
It can either:
- Copy a local file from the host into the container, or
- Download the latest Kyber.dll and install it automatically.
After updating the file, the tool restarts the Docker container to apply changes.
- Docker installed and available in
PATH - A running or stopped container that already exists
- Go 1.20+ (only required if building from source)
⚠️ You will need to be in thedockergroup or run this tool withsudo.
kyber-updater [-v] [-c <container_name>] [-f <file_name>] [-d] [-h | --help]| Flag | Description |
|---|---|
-c |
(Required) Docker container name |
-f |
Input file to copy into the container (default: Kyber.dll) |
-d |
Download the latest Kyber.dll instead of using a local file |
-v |
Enable verbose output |
-h |
Show help message |
--help |
Show help message |
./kyber-updater -c <container_name> -f /path/to/Kyber.dll./kyber-updater -c <container_name> -d./kyber-updater -c <container_name>./kyber-updater -c <container_name> -d -v-
The existing file inside the container is renamed to:
<filename>.old -
The new file is copied into:
/root/.local/share/kyber/module/
After the file is updated, the container is automatically restarted:
docker restart <container_name>The program will exit with a clear error message if:
- Docker is not installed
- The container does not exist
-fand-dare used together- An invalid file is passed with
-f - The local file does not exist
- Docker commands fail