LANPilot

Overview

LANPilot is a web interface for monitoring and remote-controlling game servers at LAN parties. See every server on one dashboard, change the map, restart a match and manage players without logging into each machine.

License: MIT Python Version
The LANPilot dashboard with a card for each server

Main Features

πŸ–₯️ Live Dashboard

One card per server: game, current map with preview image, player count and status, updated live

πŸ—ΊοΈ Map Control

Change the map from a searchable list of the maps installed on that server

πŸ”„ Restarts

Soft restart (round or match) and hard restart (reload the level)

πŸ‘₯ Player Management

Player list with kick and ban, plus an optional raw console for administrators

πŸ“‘ LAN Scan

Finds game servers without passwords in your networks and adds them with a pre-filled form

πŸ–ΌοΈ Map Images

Fetched from community sources, cached locally and pre-loadable for parties without internet

πŸ” Accounts & Roles

Admin, operator and viewer roles with an audit log of every action

🌍 English & German

Interface language chosen per user or by the browser

Supported Games

Game Remote protocol State
Counter-Strike 1.6 GoldSrc RCON (UDP) Supported
Counter-Strike: Source, CS:GO, CS2 Source RCON (TCP) Supported (player management not yet on CS2)
TrackMania Nations/United Forever, TrackMania Original, Sunrise (eXtreme), Nations ESWC GBXRemote / XML-RPC Supported
Unreal Tournament 99, 2004, 3 WebAdmin (HTTP) + GameSpy query Supported
TrackMania 2, Trackmania (2020) GBXRemote / XML-RPC Planned
Call of Duty 1/4/5, Quake 3, Jedi Knight Quake 3 RCON (UDP) Planned
Age of Empires, FlatOut 2, Stronghold Crusader, Warcraft III and others None (monitoring only) Planned

Every game is an adapter that declares what it can do, so new games can be added without touching the user interface.

Server Control

Each server has its own page with status, map preview, players and map change β€” as far as the game supports it.

A LANPilot server page: status, map preview, players and map change

Design Principles

  • Protocol-only: LANPilot talks to game servers exclusively through their own remote protocols (RCON, XML-RPC, WebAdmin). It needs no SSH access and no agent on the game hosts.
  • Modular: New games are added as adapters, also as separately installed Python packages.
  • Secure by default: Stored server credentials are encrypted, everything requires a login, and data coming from game servers is treated as untrusted.

Quick Start

Install the package for your distribution (Debian, Ubuntu, Fedora, Rocky Linux or Arch Linux) from the releases page. Each package contains a complete Python environment, so installing needs no internet access.

# Debian, Ubuntu
sudo apt install ./lanpilot_*.deb

# Fedora, Rocky Linux
sudo dnf install ./lanpilot-*.rpm

# Arch Linux
sudo pacman -U lanpilot-*.pkg.tar.zst

First Start

  1. Set public_url in /etc/lanpilot/lanpilot.toml to the address users will open, for example https://lanpilot.example.lan
  2. Create the first administrator:
    sudo lanpilot user create admin
  3. Start the service:
    sudo systemctl enable --now lanpilot

Then open the address from step 1 and sign in. Optional settings in the same file: [scan] networks switches on the LAN scan, enable_console = true the raw console for administrators, default_language = "de" makes German the default language.

Accounts & Roles

Role Can do
viewer See servers, maps, players and their status
operator Also change maps, restart matches, reload levels and kick players
admin Also ban players; manage users, servers and map images; scan the network; read the audit log; use the console (only if enabled)

Downloads & Releases

Download the latest version of LANPilot:

πŸ“¦ Releases on GitHub
  • Debian/Ubuntu (.deb): Debian 12 and 13, Ubuntu 24.04 and 26.04
  • Fedora/Rocky Linux (.rpm): Fedora 44, Rocky Linux 9 and compatible
  • Arch Linux: .pkg.tar.zst

Pick the package for your distribution release. Checksums and build attestations are published with every release.

Documentation

For more detailed information, check out the official documentation:

Related Projects

Discord Gameserver Notifier discovers game servers on the LAN and announces them on Discord (read-only) β€” LANPilot adds the remote control.

License

This project is licensed under the MIT License.

Developed with ❀️ for LAN party organizers