117 lines
5.8 KiB
Markdown
117 lines
5.8 KiB
Markdown
---
|
|
title: LANCommander
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, gaming, game-distribution, lan-party, steam-alternative, drm-free, dotnet]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Gaming, https://github.com/LANCommander/LANCommander]
|
|
---
|
|
|
|
# 🏠 LANCommander
|
|
|
|
> Plateforme self-hosted de distribution de jeux pour LAN parties — un Steam privé sans Internet, avec launcher desktop et gestion de serveurs dédiés.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://lancommander.app/ |
|
|
| **GitHub** | https://github.com/LANCommander/LANCommander |
|
|
| **License** | MIT |
|
|
| **Langage** | C# (ASP.NET Blazor) + clients desktop (C#/WPF, .NET MAUI) |
|
|
| **Étoiles** | 404 ⭐ |
|
|
| **Dernière MAJ** | 2026-06-06 (v2.1.0) |
|
|
| **Catégorie** | [[cat-gaming]] |
|
|
|
|
## Description
|
|
|
|
**LANCommander** est né d'un besoin simple : organiser des **LAN parties** sans que chaque participant doive télécharger 50 Go de jeux sur clé USB, et sans dépendre d'Internet (fréquent dans les salles pas forcément connectées). L'idée est un **Steam-like privé** : un serveur central qui héberge la bibliothèque, et un launcher desktop que les joueurs lancent pour parcourir, télécharger et installer les jeux en un clic sur leur machine.
|
|
|
|
Le serveur est une application **ASP.NET Blazor** (C#/.NET 8) qui gère la bibliothèque, les utilisateurs, les permissions, le scan automatique des métadonnées (IGDB, SteamGridDB), et l'installation de redistribuables (Visual C++, .NET, DirectX). Le launcher desktop (Windows/Linux/macOS) communique via une **balise UDP de découverte** sur le réseau local : dès qu'il détecte un serveur LANCommander, il s'y connecte et synchronise la bibliothèque. Le tout fonctionne **100 % en local**, sans Internet requis après installation.
|
|
|
|
Au-delà du simple téléchargement, LANCommander propose des **hooks PowerShell** (pre/post install, pre/post launch) pour automatiser des patches, la gestion de **sauvegardes cloud** (upload auto des saves sur le serveur), la gestion de **serveurs dédiés** (RCON, lancement/stop à distance), une **intégration Discord Rich Presence** et un **SDK NuGet** (`LANCommander.SDK`) pour construire des clients custom. Le projet est mature (v2.1, 82 releases, 3 873 commits) et activement maintenu.
|
|
|
|
## Installation
|
|
|
|
### Option 1 : Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
services:
|
|
lancommander:
|
|
image: lancommander/lancommander:latest
|
|
container_name: lancommander
|
|
restart: unless-stopped
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
# Décommenter pour activer SteamCMD (permet de gérer des serveurs de jeux Steam)
|
|
# - STEAMCMD=1
|
|
# Décommenter pour installer WINE (permet de lancer des jeux Windows sur Linux)
|
|
# - WINE=1
|
|
volumes:
|
|
- ./lancommander-data:/app/Data
|
|
ports:
|
|
- "1337:1337/tcp" # UI web + API
|
|
- "35891:35891/udp" # Beacon de découverte LAN
|
|
- "213:213/udp" # Relay IPX (jeux anciens)
|
|
|
|
volumes:
|
|
lancommander-data:
|
|
```
|
|
|
|
### Option 2 : Binaire autonome
|
|
|
|
Télécharger la dernière release sur [GitHub Releases](https://github.com/LANCommander/LANCommander/releases) (Windows x64/arm64, Linux x64/arm64, macOS). Lancer `LANCommander.Server` — aucune dépendance externe au-delà d'un OS supporté.
|
|
|
|
## Configuration
|
|
|
|
- **Premier lancement** : créer le compte admin via l'UI web (`http://localhost:1337`)
|
|
- **Bibliothèque** : upload d'archives multi-parties via l'UI web ou l'outil **Packager** dédié
|
|
- **Métadonnées** : clé API IGDB et SteamGridDB pour jaquettes/icônes/backgrounds
|
|
- **Redistribuables** : déclarer les dépendances (VC++, DirectX) pour installation auto
|
|
- **Hooks PowerShell** : scripts pre/post install/launch, éditeur intégré dans l'UI
|
|
- **Découverte LAN** : le launcher détecte automatiquement le serveur via le beacon UDP
|
|
- **Serveurs dédiés** : gérer Minecraft/Valheim/etc. avec RCON, start/stop à distance
|
|
|
|
## Alternatives
|
|
|
|
### Open Source
|
|
- [[app-drop]] — Concurrent direct, plus jeune, frontend Vue/Rust
|
|
- [[app-gamevault]] — Inspiration directe, plus mature, C#/Avalonia
|
|
- [[app-pelican-panel]] / [[app-pterodactyl]] — Plutôt serveurs de jeux que distribution client
|
|
- **Playnite** — Frontend de bibliothèque unifiée (desktop, pas de serveur)
|
|
|
|
### Propriétaires
|
|
- **Steam** — Référence, mais online-only et DRM
|
|
- **GOG Galaxy** — Hub multi-launchers, centralisé
|
|
- **itch.io** — Store indie, pas vraiment pour LAN
|
|
- **Rainway / Stadia-like** — Game streaming (autre usage)
|
|
|
|
## Sécurité
|
|
|
|
- **Pas d'auth par défaut au premier lancement** : créer immédiatement le compte admin et activer l'enregistrement restreint (sur invitation) ou fermé
|
|
- **OpenID Connect** : supporté, recommandé pour déléguer l'auth à [[app-authentik]] en LAN
|
|
- **Isolation réseau** : LANCommander est conçu pour le LAN, ne pas exposer le port 1337 sur Internet sans reverse proxy auth
|
|
- **Hooks PowerShell** : valider les scripts (ils s'exécutent sur la machine du joueur !)
|
|
- **Sauvegardes** : `/app/Data` contient toute la bibliothèque + saves — sauvegarder avec [[app-restic]] ou [[app-borg-backup]]
|
|
- **Discord Rich Presence** : optionnel, désactivable
|
|
|
|
## Ressources
|
|
|
|
- [Site officiel](https://lancommander.app/)
|
|
- [GitHub LANCommander/LANCommander](https://github.com/LANCommander/LANCommander)
|
|
- [Docker Hub](https://hub.docker.com/r/lancommander/lancommander)
|
|
- [SDK NuGet](https://www.nuget.org/packages/LANCommander.SDK)
|
|
- [Discord officiel](https://discord.gg/vDEEWVt8EM)
|
|
|
|
## Pages Liées
|
|
- [[cat-gaming]] — Catégorie Gaming
|
|
- [[app-drop]] — Concurrent récent
|
|
- [[app-gamevault]] — Inspiration C#
|
|
- [[app-pterodactyl]] — Référence serveurs de jeux
|
|
- [[app-authentik]] — SSO recommandé
|
|
- [[recettes-docker-compose]] — Templates Docker
|