No description
Find a file
Pat Hartl 0f03461f53 Add setting to auto redirect to external provider
When enabled, AutoRedirectToProvider will switch authentication challenges to redirect to the external auth provider instead of displaying the password login form. If more than one external provider is configured, a minimal external auth provider login page will be shown.

Ref #410
2026-06-21 01:59:15 -05:00
.github Fix icons, bundle appimage in normal workflows 2026-06-17 09:36:23 -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.3 release notes 2026-06-16 01:07:08 -05:00
LANCommander.Launcher Only display notification when entire install chain is complete 2026-06-20 04:25:01 -05:00
LANCommander.Launcher.Data Add Discord rich presence 2026-05-17 20:38:50 -05:00
LANCommander.Launcher.IntegrationTests Remove old launcher, rename Avalonia launcher 2026-06-06 05:49:24 -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 error in launcher when tool actions are not defined 2026-06-20 04:26:04 -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.Tests Remove old launcher, rename Avalonia launcher 2026-06-06 05:49:24 -05:00
LANCommander.Launcher.Win9x Inital Win9x launcher commit 2026-05-13 02:00:14 +00:00
LANCommander.Packager Fix packager LCX upload 2026-06-04 22:03:18 -05:00
LANCommander.SDK Add more logging to archive extraction, allow customization of retry attempts on install 2026-06-20 03:33:29 -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 Add setting to auto redirect to external provider 2026-06-21 01:59:15 -05:00
LANCommander.Server.Data Fix updating for relationships with stale/untracked entities 2026-06-15 20:25:09 -05:00
LANCommander.Server.Data.MySQL Various fixes for MySQL/MariaDB 2026-06-12 23:48:11 -05:00
LANCommander.Server.Data.PostgreSQL Regenerate PostgreSQL migrations 2026-06-13 01:36:03 -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 Mutate user from UserManager queries 2026-06-20 23:23:38 -05:00
LANCommander.Server.Settings Add setting to auto redirect to external provider 2026-06-21 01:59:15 -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 Also handle .ini files 2026-06-10 20:21:18 -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
CONTRIBUTING.md Update repository documentation 2026-06-06 06:35:49 -05:00
Directory.Packages.props Update SharpCompress to 0.49.1 2026-06-19 19:29:47 -05:00
LANCommander.slnx Remove old launcher, rename Avalonia launcher 2026-06-06 05:49:24 -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 Update repository documentation 2026-06-06 06:35:49 -05:00
SECURITY.md Update repository documentation 2026-06-06 06:35:49 -05: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

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

Game Depot - browse popular games, genres, and new releases Game Detail - view game info, media, and launch games
Depot - browse by genre, popularity, and new releases Game detail view with media, description, and play controls
Game Library - your full collection at a glance Server Admin - web-based game management dashboard
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

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

License

LANCommander is licensed under the MIT License.