Files
2026-06-09 18:40:21 +02:00

141 lines
6.9 KiB
Markdown

---
title: LinuxGSM
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, gaming, game-server, cli, bash, dedicated-server, minecraft, cs2, valheim]
confidence: high
contested: false
sources:
- https://selfh.st/apps/?tag=Gaming
- https://github.com/GameServerManagers/LinuxGSM
- https://linuxgsm.com/
---
# 🐧 LinuxGSM
> Interface en ligne de commande (CLI) pour déployer, configurer et administrer ~100 serveurs de jeux dédiés sous Linux — l'outil de référence des « game hosts ».
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://linuxgsm.com/ |
| **GitHub** | https://github.com/GameServerManagers/LinuxGSM |
| **License** | MIT |
| **Langage** | Bash |
| **Étoiles** | 860 ⭐ |
| **Dernière MAJ** | 2026-05-22 |
| **Catégorie** | [[cat-gaming\|Gaming]] |
## Description
**LinuxGSM** (Linux Game Server Managers) est l'outil historique et incontournable pour qui veut auto-héberger un ou plusieurs serveurs de jeux dédiés sur une machine Linux. Le projet n'est pas un « panel web » au sens de [[app-pterodactyl]] : c'est un ensemble de **scripts Bash modulaires** (un par jeu) qui automatisent l'installation, la mise à jour, le monitoring, les sauvegardes et le redémarrage des serveurs. Pas d'interface graphique : tout se fait en SSH, ce qui est paradoxalement sa force (légèreté, fiabilité, scripable, idéal pour des VPS à 5 €/mois).
L'écosystème couvre **plus de 100 jeux** : Minecraft (Vanilla, Paper, Spigot, Forge, Fabric, Bedrock, BungeeCord, Waterfall), CS2, CS:GO, Valheim, ARK, Rust, Garry's Mod, Project Zomboid, Satisfactory, 7 Days to Die, Terraria, Team Fortress 2, L4D2, Squad, DayZ, Insurgency, Killing Floor 2, RedM, Conan Exiles, Eco, Factorio, Holdfast, Onset, PixARK, Starbound, Unturned, V Rising… et la liste continue de grandir.
Chaque « server script » encapsule les bonnes pratiques spécifiques au jeu : arguments SteamCMD corrects, gestion du user Linux dédié, configuration systemd, watchdog, logs centralisés, intégration `tmux`/`screen`, alertes par email ou Discord webhook. L'approche « one shot, one server, one user Linux » est volontairement minimaliste : un user `gs_mcserver` (par exemple) qui ne peut rien faire d'autre que lancer le serveur Minecraft — bonne hygiène de sécurité par construction.
Cas d'usage typique : un admin sys qui veut 5 serveurs Minecraft + un CS2 sur un même serveur bare-metal, sans payer Pterodactyl ni s'encombrer d'un panel web. Les débutants préféreront une UI (Pterodactyl/Crafty), mais les utilisateurs Linux aguerris ne jurent que par LinuxGSM pour sa transparence et son absence de couche d'abstraction.
## Installation
### Installation rapide (Ubuntu/Debian)
```bash
# Créer un utilisateur dédié
sudo adduser gsmcserver
# Installer les dépendances
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y curl wget file bzip2 gzip unzip bsdmainutils python3 util-linux \
ca-certificates binutils bc jq tmux netcat lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0a \
libgdiplus steamcmd
# Télécharger linuxgsm
sudo -u gsmcserver wget -O linuxgsm.sh https://linuxgsm.sh
sudo -u gsmcserver chmod +x linuxgsm.sh
sudo -u gsmcserver bash linuxgsm.sh mcserver
# Installer le serveur Minecraft
sudo -u gsmcserver ./mcserver install
```
### Docker (non officiel)
```yaml
# docker-compose.yml — variante LinuxGSM-in-Docker
version: '3.8'
services:
linuxgsm:
image: gameservermanagers/linuxgsm:latest
container_name: mcserver
restart: unless-stopped
tty: true
stdin_open: true
ports:
- "25565:25565/udp" # Minecraft
- "25565:25565/tcp"
- "27015:27015/udp" # CS2
environment:
- LGSM_GAMESERVER=mcserver
volumes:
- ./data:/data
- /etc/localtime:/etc/localtime:ro
```
> ⚠️ **Note** : le projet officiel ne pousse pas vers Docker (l'auto-hébergeur veut justement l'accès root pour le tuning), mais la communauté maintient un wrapper.
## Configuration
- **Commandes principales** : `./mcserver start|stop|restart|status|console|update|monitor|backup|details`
- **`lgsm/config-lgsm/mcserver/common.cfg`** : paramètres globaux (nom du serveur, maxplayers, port, mot de passe RCON).
- **`serverfiles/server.properties`** (Minecraft) : config in-game (difficulty, gamemode, motd, whitelist).
- **Cron + systemd** : `sudo ./mcserver install` déploie un service systemd et un timer cron pour les redémarrages auto.
- **Alertes Discord** : éditer `common.cfg` et activer `discordalert="on"` + webhook URL.
- **tmux** : `./mcserver console` attache un terminal tmux au serveur, Ctrl+B puis D pour détacher.
- **Logs** : `log/server-console.log` + `log/script/`.
## Alternatives
### Open Source
- [[app-pterodactyl]] — Panel web complet, Eggs Docker, plus convivial mais plus lourd.
- [[app-pelican-panel]] — Fork Pterodactyl moderne.
- [[app-crafty-controller]] — Minecraft uniquement, plus simple que Pterodactyl.
- **Docker-Game-Server-Stack** (Compose multi-jeux) — DIY.
- **Ludus** — Panel CLI auto-hébergé pour quelques jeux (moins mature).
- **AMP** (CubeCoders) — Concurrent direct, propriétaire avec une version gratuite limitée.
### Propriétaires
- **Multiplay** (Unity) — Panel historique payant.
- **GameServerKings**, **Host Havoc**, **Nitrous Networks** — Hébergeurs commerciaux.
- **LGSM Pro / LGSM Plus** — Offres cloud payantes par les mainteneurs (non obligatoire).
## Sécurité
- **Compte Linux dédié** : un user par serveur, jamais `root`. Bonne pratique déjà imposée par le script d'install.
- **Steam token** : pour les jeux Valve (CS2, TF2…), configurer `SteamGSLT` pour ne pas être banni VAC.
- **RCON password** : toujours changer `rconpassword` du fichier source. Restreindre à localhost ou VPN.
- **Firewall** : n'ouvrir que les ports des jeux (ex : 25565/TCP+UDP pour Minecraft). Le `monitor` LinuxGSM alerte si un service crashe.
- **Mises à jour** : `cron.update=` à `on` + le timer systemd applique les patches auto. Pour les jeux sensibles (Minecraft, Valheim), tester sur un serveur de staging.
- **Fail2ban** : les serveurs de jeux ont souvent un SFTP ouvert (ex : `sftp` des fichiers de config). Fail2ban avec les filtres `murmur`, `minecraft` ou génériques `ssh` est recommandé.
- **Backups** : `cron.backup=on` + un cron externe (restic, borg) pour dédupliquer.
## Ressources
- [Site officiel](https://linuxgsm.com/)
- [Repository GitHub](https://github.com/GameServerManagers/LinuxGSM)
- [Wiki complète](https://docs.linuxgsm.com/)
- [Liste des jeux supportés](https://linuxgsm.com/servers)
- [Discord communautaire](https://discord.gg/linuxgsm)
- [Cheatsheet des commandes](https://docs.linuxgsm.com/commands)
## Pages Liées
- [[cat-gaming]] — Catégorie parente
- [[app-pterodactyl]] — Panel web équivalent
- [[app-crafty-controller]] — Minecraft dédié
- [[app-pelican-panel]] — Fork Pterodactyl
- [[app-docker]] — Variante conteneurisée
- [[recettes-docker-compose]] — Templates
- [[securisation-home-lab]] — Bonnes pratiques SSH/firewall