Initial vault setup
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user