AltisControl Docs ↗

Server, RCON, and background workers

Simulated or live BattlEye connections, slots, online players, and continuously running services.

Simulated and BattlEye providers

Installation starts with Simulated RCON so the interface can be explored without a game server. Under Settings → RCON, enter a host, port, and password to use BattlEye; the password is encrypted at rest. The panel connects over UDP RCON and reports status, host, latency, and errors. Simulated mode deliberately shows 100 slots labeled as simulated. Live maximum capacity comes from Steam Query; when it is unavailable, the panel does not invent a number.

Online players and commands

“Online” shows slot, name, ping, and verified GUID. It supports search and sorting, and maps GUIDs to registered Steam IDs where possible. The Server section shows status and the recent RCON command queue. Depending on permissions, it offers global messages, kicks, bans, unbans, and raw console commands. Give raw console access only to trusted operators.

BattlEye worker

php bin/battle-eye.php --loop

Run this process under a supervisor that restarts it after failures or machine restarts. It enforces the allowlist and reconciles expired bans. Without --loop, it makes one pass and exits. The former bin/server-allowlist-worker.php entry point remains for existing scheduled tasks. A database lock prevents two loops from running simultaneously.

Backup scheduler

php bin/backup-scheduler.php --loop

Alternatively, run it once every five minutes through cron or Windows Task Scheduler. It reads the plan from Settings → Backup, creates a due backup, and applies the selected retention period. Scheduler status appears in the panel.

Start, stop, and restart the game process

Process control is separate from BattlEye RCON and is disabled by default. A simulated provider and a Windows service provider exist; the fixed service name is configured in config.php. The browser cannot submit arbitrary shell commands. These actions require server.start, server.stop, or server.restart and are audited.