Sends a keepalive/heartbeat signal across RPC while a game is running. Server-side this enables the ability to manage play session state with realtime information instead of hoping that the client will stop the play session. Keepalives are tracked in server cache allowing for future potential horizontally-scaled server instances. |
||
|---|---|---|
| .github | ||
| LANCommander.AppHost | ||
| LANCommander.AutoUpdater | ||
| LANCommander.Build | ||
| LANCommander.CompletionGenerator | ||
| LANCommander.Documentation | ||
| LANCommander.Launcher | ||
| LANCommander.Launcher.Data | ||
| LANCommander.Launcher.IntegrationTests | ||
| LANCommander.Launcher.Legacy | ||
| LANCommander.Launcher.Models | ||
| LANCommander.Launcher.Services | ||
| LANCommander.Launcher.Services.Tests | ||
| LANCommander.Launcher.Settings | ||
| LANCommander.Launcher.Tests | ||
| LANCommander.Launcher.Win9x | ||
| LANCommander.Packager | ||
| LANCommander.SDK | ||
| LANCommander.SDK.Cpp | ||
| LANCommander.SDK.SourceGenerators | ||
| LANCommander.SDK.Tests | ||
| LANCommander.Server | ||
| LANCommander.Server.Data | ||
| LANCommander.Server.Data.MySQL | ||
| LANCommander.Server.Data.PostgreSQL | ||
| LANCommander.Server.Data.SQLite | ||
| LANCommander.Server.ImportExport | ||
| LANCommander.Server.Services | ||
| LANCommander.Server.Settings | ||
| LANCommander.Server.Tests | ||
| LANCommander.ServiceDefaults | ||
| LANCommander.Steam | ||
| LANCommander.UI | ||
| PCGamingWikiClient | ||
| Scripts | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| Directory.Packages.props | ||
| LANCommander.slnx | ||
| LICENSE | ||
| Microsoft.Common.props | ||
| README.md | ||
| SECURITY.md | ||
| setup-vendor.ps1 | ||
LANCommander
Self-hosted game distribution - no internet required.
LANCommander is an open-source, self-hostable digital game platform. Host your own game library, distribute games across your local network, and let players browse and install from a polished desktop launcher. Originally built for LAN parties where internet access isn't available, but works anywhere you want a private game distribution platform.
Screenshots
![]() |
![]() |
| Depot - browse by genre, popularity, and new releases | Game detail view with media, description, and play controls |
![]() |
![]() |
| Library shelf - your full game collection at a glance | Server admin dashboard - manage games, users, and settings |
Features
Game Distribution
- Self-hosted game library - host and distribute games over your local network
- No internet dependency - all assets served locally, perfect for closed networks
- Multi-part archive uploads with chunked transfer for large games
- Automatic metadata lookup from IGDB and SteamGridDB (covers, icons, backgrounds)
- Redistributable management - bundle and auto-install Visual C++, .NET, DirectX, etc.
Desktop Launcher
- Polished game browser with depot storefront, library shelf, and search/filtering
- Download queue with progress tracking and install management
- Cloud saves - automatic backup and restore of game save files
- Auto-discovery - finds servers on your network via UDP beacon
- Media viewer - browse screenshots and video trailers for each game
- Discord Rich Presence integration
- Offline mode support
Server Administration
- Web-based dashboard built on ASP.NET Blazor
- User management with registration, approval workflows, and role-based access
- OpenID Connect authentication support
- PowerShell scripting - pre/post install, pre/post launch hooks with a built-in editor
- Dedicated server management with RCON support
- Play session tracking and statistics
Game Packaging
- Dedicated Packager tool with step-by-step wizard for creating game packages
- Automatic metadata lookup - search IGDB and auto-fill game details
- Registry capture and installer monitoring
- Direct upload to your LANCommander server
Developer SDK
- Published on NuGet -
LANCommander.SDK - Build custom clients and tools with the .NET SDK
- Full API access via dependency injection
Platform Support
| Component | Windows | Linux | macOS |
|---|---|---|---|
| Server | x64, arm64 | x64, arm64 | x64, arm64 |
| Launcher | x64, arm64 | x64, arm64 | x64, arm64 |
| Packager | x86 | - | - |
Note: The launcher is primarily tested on Windows. Linux and macOS builds are provided but may have limited functionality.
Quick Start
Docker (Recommended)
A Docker image is available on Docker Hub:
services:
lancommander:
image: lancommander/lancommander:latest
container_name: lancommander
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
# Uncomment the line below to install SteamCMD
# - STEAMCMD=1
# Uncomment the line below to install WINE
# - WINE=1
volumes:
- /path/to/app/data:/app/Data
ports:
- 1337:1337/tcp # Web interface
- 35891:35891/udp # Beacon broadcast
- 213:213/udp # IPX relay
restart: unless-stopped
All config and uploaded game archives are stored in /app/Data.
Standalone
Download the latest release for your platform from the Releases page. The server is a self-contained binary with no external dependencies beyond a supported OS.
SteamCMD Support
The Docker image supports optional SteamCMD installation. Set STEAMCMD=1 to enable it. SteamCMD will be installed in /app/Data/Steam with cached credentials persisted across container restarts.
WINE Support
Set WINE=1 to install WINE with wine32, wine64, and winetricks support in the Docker container.
Note: The Docker image runs the Linux build. Features such as server management may be limited.
FAQ
How do I get games?
LANCommander is a management and distribution platform; it does not come bundled with any games. The best candidates are portable, DRM-free, freeware, shareware, or abandonware titles. Join our Discord where the community shares pre-packaged freeware games.
I have a large LAN party planned. What about scaling?
LANCommander communicates over HTTP(S). All downloads are served through standard API routes (/api/Games/{id}/Download), making it compatible with reverse proxies and LAN caching solutions.
Where can I get help?
- Documentation: lancommander.app
- Community: Discord - the best place for help with the platform, scripting, and game packaging
How do I contribute?
See CONTRIBUTING.md for build instructions and contribution guidelines. If you're not a developer, contributing to the documentation is a great way to help.
Roadmap
The following features are being considered for future releases:
- Peer-to-peer file sharing of game files
- Built-in VPN client/server for remote LAN parties
- Integration with platforms such as Discord, TeamSpeak, Mumble
Community
- Discord - Discussion, support, and game sharing
- Documentation - Guides and reference
License
LANCommander is licensed under the MIT License.



