No description
Find a file
2026-05-31 16:19:49 -05:00
.github Avoid publishing :latest docker tag for prerelease 2026-05-31 16:19:49 -05:00
LANCommander.AppHost Bump to .NET 10 2026-04-10 02:19:50 -05:00
LANCommander.AutoUpdater Bump to .NET 10 2026-04-10 02:19:50 -05:00
LANCommander.Build macOS build 2025-03-21 19:34:05 -05:00
LANCommander.CompletionGenerator Add completions for built-in PowerShell cmdlets 2026-05-10 20:56:17 -05:00
LANCommander.Documentation v2.1.0-rc5 release notes 2026-05-30 13:36:45 -05:00
LANCommander.Launcher Refresh server list UI and clean up event subscription 2026-05-17 09:53:44 +02:00
LANCommander.Launcher.Avalonia Fix scrollbar being overlapped by titlebar 2026-05-28 00:14:22 -05:00
LANCommander.Launcher.Avalonia.IntegrationTests Tests for Avalonia launcher 2026-05-14 19:26:04 -05:00
LANCommander.Launcher.Avalonia.Tests Refresh launcher visual baselines from CI run 25893538204 2026-05-15 00:33:01 +00:00
LANCommander.Launcher.Data Add Discord rich presence 2026-05-17 20:38:50 -05:00
LANCommander.Launcher.Legacy Fix unicode support for win9x 2026-05-23 21:07:28 -05:00
LANCommander.Launcher.Models Refactor install process to use major/minor task queue 2026-04-17 22:24:47 -05:00
LANCommander.Launcher.Services Fix media download on import 2026-05-26 00:14:48 -05:00
LANCommander.Launcher.Services.Tests Tests for Avalonia launcher 2026-05-14 19:26:04 -05:00
LANCommander.Launcher.Settings Add big screen mode 2026-05-28 00:09:53 -05:00
LANCommander.Launcher.Win9x Inital Win9x launcher commit 2026-05-13 02:00:14 +00:00
LANCommander.Packager Add package application for auto-building LCX files 2026-05-30 13:10:01 -05:00
LANCommander.SDK Add package application for auto-building LCX files 2026-05-30 13:10:01 -05:00
LANCommander.SDK.Cpp Fix includes 2026-05-23 16:58:45 -05:00
LANCommander.SDK.SourceGenerators Register cmdlets via source generated extension 2026-05-26 20:36:25 -05:00
LANCommander.SDK.Tests Replace INI parsing 2026-05-16 18:14:41 -05:00
LANCommander.Server Hide standalone expansions/mods from nested games 2026-05-29 02:37:08 -05:00
LANCommander.Server.Data Add options to redistributables 2026-05-15 00:14:46 -05:00
LANCommander.Server.Data.MySQL Add support for external IDs beyond IGDB 2026-05-14 00:30:45 -05:00
LANCommander.Server.Data.PostgreSQL Add support for external IDs beyond IGDB 2026-05-14 00:30:45 -05:00
LANCommander.Server.Data.SQLite Fix generated migrations 2026-05-16 17:16:16 -05:00
LANCommander.Server.ImportExport Fix redistributable/tool importing 2026-05-24 18:51:58 -05:00
LANCommander.Server.Services Fix archive processing for "Use Local File" 2026-05-28 19:54:58 -05:00
LANCommander.Server.Settings Add LANCommander HQ metadata/media provider 2026-05-07 01:11:41 -05:00
LANCommander.Server.Tests Bump to .NET 10 2026-04-10 02:19:50 -05:00
LANCommander.ServiceDefaults Bump to .NET 10 2026-04-10 02:19:50 -05:00
LANCommander.Steam Publish prerelease SDK to NuGet. Switch to multi-target 2026-05-27 23:14:03 -05:00
LANCommander.UI Add background uploading 2026-05-28 22:26:24 -05:00
PCGamingWikiClient Lookup player counts from PCGamingWiki for multiplayer modes 2023-01-14 18:22:51 -06:00
Scripts Add helper PowerShell scripts 2025-09-25 19:27:45 -05:00
.gitignore Enhance PowerShell completions with generated type definitions 2026-05-08 02:13:36 -05:00
Directory.Packages.props Add package application for auto-building LCX files 2026-05-30 13:10:01 -05:00
LANCommander.slnx Add package application for auto-building LCX files 2026-05-30 13:10:01 -05:00
LICENSE Create LICENSE 2024-03-24 15:57:40 -05:00
Microsoft.Common.props Ignore json files from all builds in solution 2024-08-22 01:13:02 -05:00
README.md Persist SteamCMD credentials 2026-01-20 00:32:39 -06:00
setup-vendor.ps1 Missing files for legacy launcher 2026-05-23 20:33:04 -05:00

LANCommander

GitHub Release GitHub commit activity GitHub Actions Workflow Status GitHub License Documentation Discord Support me on Patreon

LANCommander is an open-source digital game platform.

The main application is self-hostable and is built on the ASP.NET Blazor web application framework. Your self-hosted platform can be accessed through the offical LANCommander launcher. The database is implemented using SQLite so there is no complex setup required.

The platform is designed to work on local networks and loads no assets from the internet. It was originally developed to help assist a LAN party where the local network is closed and no internet access is permitted.

Builds for Windows, Linux, and macOS are provided, with varying levels of support/compatibility. Currently the launcher has only been tested to run on Windows

Community

Docker

A Docker image is available over at Docker Hub. A sample compose file is provided below:

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   # Webinterface
      - 35891:35891/udp # Beacon Broadcast
      - 213:213/udp     # IPX Relay
    restart: unless-stopped

All config files are available from /app/Data. This include any archive uploads for games. Many of these paths can be changed under Settings if you wish to add additional volume mappings.

SteamCMD Support

The Docker image supports optional SteamCMD installation. To enable this feature, set the STEAMCMD=1 environment variable in your docker-compose.yml file. When enabled, SteamCMD will be installed in /app/Data/Steam and made available as steamcmd command. SteamCMD cached credentials are persisted in /app/Data/Steam/.steam to maintain authentication across container restarts.

WINE Support

The Docker image supports optional WINE installation. To enable this feature, set the WINE=1 environment variable in your docker-compose.yml file. When enabled, WINE will be installed with wine32, wine64, and winetricks support. A wine user will be created with a configured WINE environment in /home/wine/.wine.

Note: The Docker image runs the Linux build and features such as server management may be limited.

FAQ

How do I get games?

The best games are either portable games or DRM-free games. Freeware, shareware, abandonware are all great available options. LANCommander is only a management/distribution system. It does not come bundled with any games.

It's worth joining our Discord as some pre-packaged freeware games are available to download.

I have a pretty large LAN party planned with hundreds of players. I have some sick infrastructure and a LAN cache. What do?

LANCommander communicates over HTTP(S). There is no LAN cache configuration provided, but all downloads are provided through the /api/Games/{id}/Download route.

Where can I get some help?

Documentation can be found at our documentation site. The Getting Started guide for games contains enough information to get your server up and running in minutes.

For other help, it is recommended to join the LANCommander community over at our Discord guild. This is currently the best location to get help with the platform itself, scripting, and adapting games.

How do I contribute?

Hit that fork button, submit a PR, there are no hard rules right now.

If you're not a developer but still want to contribute, contributing to our documentation site is a great way to give back to the community!

The LANCommander dev team is currently spearheaded by one developer in their free time. Paid donation tiers are available over at the Patreon page.

SDK

A separate assembly called LANCommander.SDK has been created for use in client applications. The SDK relies on .NET dependency injection in order to expose services to the consuming application. Use of the SDK can be implemented by calling the extension method for registering the services:

builder.Services.AddLANCommanderClient<Settings>();

The generic type parameter (here Settings) can be used to allow extension of settings by providing your own class that inherits from LANCommander.SDK.Settings.

To Do

LANCommander is far from complete. The basic implementation that exists will allow you to:

  • Manage games
  • Upload archives
  • Manage scripts
  • Manage keys
  • Download games
  • Basic user management
  • New user registration
  • Local "cloud" user saves
  • Dedicated server management/administration
  • Redistributable management and distribution
  • IPX Beacon for emulators such as DosBox
  • Game media management and automatic lookup (covers, icons, backgrounds)
  • Dedicated launcher for easy client setup
  • Basic chat support

The following features are being considered:

  • 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