Aller au contenu
Multigaming

Installer un serveur Multigaming

Ce guide générique prépare une machine Linux (Ubuntu ou Debian) ou Windows Server à héberger n'importe quel serveur de jeu : choix de l'hébergeur, utilisateur non-root, clés SSH, pare-feu, fail2ban, SteamCMD, Docker, service systemd, supervision et sauvegardes. Comptez 1 à 2 heures ; ensuite, suivez le guide d'installation propre à votre jeu.

Dernière mise à jour : 09/10/2026

Ce guide générique prépare une machine Linux (Ubuntu ou Debian) ou Windows Server à héberger n'importe quel serveur de jeu : choix de l'hébergeur, utilisateur non-root, clés SSH, pare-feu, fail2ban, SteamCMD, Docker, service systemd, supervision et sauvegardes. Comptez 1 à 2 heures ; ensuite, suivez le guide d'installation propre à votre jeu.

Installation pas à pas

  1. Choisissez un hébergeur et un plan (voir « Choisir un hébergeur »), puis commandez un VPS ou un dédié sous Ubuntu LTS ou Debian stable.

  2. Connectez-vous en SSH avec le compte root fourni et mettez le système à jour.

  3. Créez un utilisateur non-root avec sudo ; ne lancez jamais un serveur de jeu en root.

  4. Installez votre clé SSH publique, puis désactivez la connexion root et par mot de passe.

  5. Activez le pare-feu ufw : tout refuser en entrée, autoriser SSH puis les ports du jeu.

  6. Installez fail2ban pour bloquer les tentatives de connexion SSH répétées.

  7. Installez SteamCMD (jeux Steam) ou Docker (images communautaires) selon votre jeu.

  8. Installez le serveur de jeu avec le guide de votre jeu, puis ouvrez ses ports (outil « Vérificateur de ports »).

  9. Créez un service systemd (ou une session tmux) pour démarrer et relancer automatiquement le serveur.

  10. Mettez en place la supervision (journaux, ressources) et des sauvegardes planifiées testées.

Choisir un hébergeur et un plan

  • VPS (à partir de quelques euros par mois) : suffisant pour un petit serveur ; vérifiez que le CPU n'est pas excessivement partagé, la plupart des jeux dépendent d'un cœur rapide.
  • Dédié : pour plusieurs serveurs ou de gros slots ; prenez un SSD/NVMe et une bonne fréquence CPU.
  • Critères : localisation proche des joueurs (latence), protection anti-DDoS incluse, trafic illimité ou quota suffisant, pare-feu réseau (« security group »), snapshots, support. Estimez les ressources avec l'outil « Calculateur de ressources serveur ».

Première connexion et utilisateur non-root

Remplacez 203.0.113.10 par l'IP de votre serveur et gameadmin par le nom de votre choix :

ssh [email protected]
apt update && apt upgrade -y
adduser gameadmin
usermod -aG sudo gameadmin

Clés SSH et durcissement de sshd

Sur votre poste : ssh-keygen -t ed25519 puis ssh-copy-id [email protected]. Testez la connexion par clé dans un second terminal AVANT de désactiver les mots de passe, puis créez /etc/ssh/sshd_config.d/99-hardening.conf (Ubuntu 22.04+, Debian 12) :

# /etc/ssh/sshd_config.d/99-hardening.conf
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

# Apply: sudo sshd -t && sudo systemctl reload ssh

Pare-feu ufw

Autorisez SSH avant d'activer ufw pour ne pas vous verrouiller dehors. Ajoutez ensuite les ports de votre jeu (exemple FiveM : 30120 TCP et UDP ; les ports de chaque jeu sont dans le Vérificateur de ports ; l'outil « Règles de pare-feu » génère les commandes). Doublez par le pare-feu réseau de l'hébergeur (OVH, Hetzner, Scaleway… : « security group »).

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enable
sudo ufw status verbose

fail2ban

fail2ban bannit temporairement les adresses qui échouent plusieurs fois à se connecter. Créez /etc/fail2ban/jail.local (ne modifiez pas jail.conf) :

# sudo apt install fail2ban
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h

# sudo systemctl enable --now fail2ban
# sudo fail2ban-client status sshd

SteamCMD (jeux Steam)

Installation manuelle depuis l'archive officielle de Valve (en tant que gameadmin, pas en root). Remplacez APPID par l'identifiant du serveur dédié de votre jeu (voir SteamDB ou le guide du jeu). Certains serveurs exigent un compte Steam au lieu de « anonymous » : consultez la documentation du jeu.

sudo apt install -y lib32gcc-s1 curl ca-certificates
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir ~/server +login anonymous +app_update APPID validate +quit

Docker (images communautaires)

Le script de commodité de Docker convient aux tests ; pour la production, suivez l'installation par dépôt apt de docs.docker.com. Se déconnecter puis se reconnecter est nécessaire après l'ajout au groupe docker. Les conteneurs publiés avec -p contournent ufw : restreignez-les aussi avec le pare-feu de l'hébergeur.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker gameadmin
# log out, log back in, then:
docker run --rm hello-world

Service systemd

Créez /etc/systemd/system/gameserver.service (adaptez User, WorkingDirectory et ExecStart au script de lancement de votre jeu), puis : sudo systemctl daemon-reload && sudo systemctl enable --now gameserver. Journaux : journalctl -u gameserver -f.

[Unit]
Description=Game server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=gameadmin
WorkingDirectory=/home/gameadmin/server
ExecStart=/home/gameadmin/server/start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Alternative : tmux

tmux garde le serveur actif après la déconnexion SSH et donne accès à sa console (pratique pour les commandes). Détachez avec Ctrl+B puis D. Il ne relance pas le serveur après un plantage ou un redémarrage : préférez systemd pour la production.

sudo apt install -y tmux
tmux new -s game
# inside tmux: run ./start.sh, then press Ctrl+B then D
tmux attach -t game

Variante Windows Server

Connectez-vous en Bureau à distance (limitez le port 3389 à votre IP ou utilisez un VPN), installez SteamCMD ou le serveur du jeu dans C:\gameserver, ouvrez les ports dans PowerShell (administrateur) et lancez le serveur au démarrage avec une tâche planifiée. Désactivez ou planifiez les redémarrages de Windows Update pour éviter les coupures imprévues.

New-NetFirewallRule -DisplayName "Game UDP 27015" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "Game TCP 27015" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
schtasks /Create /TN "GameServer" /TR "C:\gameserver\start.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST /F

Hébergement à la maison : redirection de ports

  • Donnez une IP locale fixe à la machine (réservation DHCP dans la box).
  • Dans la box, redirigez (NAT) chaque port du jeu, avec le bon protocole, vers cette IP locale.
  • Ouvrez aussi le pare-feu de la machine. Testez depuis l'extérieur (4G/5G), pas depuis le réseau local.
  • Si votre opérateur utilise du CGNAT (pas d'IP publique dédiée), la redirection est impossible : demandez une IP publique, ou utilisez un VPS ou un tunnel.
  • Exposer son IP personnelle comporte des risques (attaques DDoS ciblées) : un VPS protégé est plus sûr pour un serveur public.

Notes sur les attaques DDoS

  • Le pare-feu de la machine ne suffit pas contre une attaque volumétrique : la protection doit se faire en amont, chez l'hébergeur.
  • Vérifiez ce que couvre l'anti-DDoS de l'offre (protocoles UDP/jeu, mode « gaming ») : ce n'est pas équivalent pour tous les hébergeurs.
  • Ne divulguez pas l'IP d'origine si vous passez par un proxy ou un tunnel ; n'exposez pas RCON ni les consoles web.

Supervision

Commandes utiles : journaux du service, ports réellement en écoute (comparez avec le pare-feu), charge CPU/RAM et espace disque. Pour une supervision continue, ajoutez un outil comme Netdata ou Prometheus, et des alertes sur la RAM et le disque.

journalctl -u gameserver -f
sudo ss -lntup
htop
free -h
df -h

Sauvegardes

Sauvegardez le monde et la configuration chaque jour, conservez plusieurs versions et copiez-les hors du serveur. L'outil « Générateur de script de sauvegarde » produit un script complet avec rétention ; exemple minimal (crontab) :

30 4 * * * tar -czf /backups/gameserver-$(date +\%Y\%m\%d).tar.gz -C /home/gameadmin server && find /backups -name 'gameserver-*.tar.gz' -mtime +7 -delete

Dépannage

  • Les joueurs ne peuvent pas se connecter : vérifiez le protocole (UDP vs TCP), ufw, le pare-feu de l'hébergeur et que le serveur écoute bien (sudo ss -lntup).
  • « Permission denied (publickey) » : la clé n'est pas dans ~/.ssh/authorized_keys de l'utilisateur, ou les droits sont trop larges (chmod 700 ~/.ssh, chmod 600 ~/.ssh/authorized_keys).
  • Le serveur est tué (« Killed », OOM) : mémoire insuffisante ; consultez « dmesg | grep -i oom », ajoutez de la RAM ou réduisez slots et mods. Un fichier d'échange (swap) limite les plantages mais ralentit.
  • Le service redémarre en boucle : lisez « journalctl -u gameserver -n 100 » ; vérifiez chemins, droits (le serveur appartient bien à gameadmin) et bibliothèques 32 bits manquantes pour SteamCMD.
  • Le serveur n'apparaît pas dans la liste : le port de requête (query) est bloqué ou le serveur n'est pas déclaré ; ajoutez-le sur game-rank.com/jeux pour être référencé.

Questions fréquentes

VPS ou serveur dédié pour un serveur de jeu ?
Un VPS suffit pour un petit serveur ou pour tester. Passez à un dédié pour plusieurs serveurs, beaucoup de slots ou des performances stables (pas de voisins bruyants).
Ubuntu ou Debian ?
Les deux conviennent et les commandes sont quasi identiques. Choisissez une version supportée (Ubuntu LTS ou Debian stable) et vérifiez la compatibilité indiquée par l'éditeur de votre jeu.
Faut-il vraiment désactiver la connexion root et par mot de passe ?
C'est fortement recommandé : les serveurs exposés reçoivent des milliers de tentatives par jour. Une clé SSH et un utilisateur non-root suppriment l'essentiel du risque ; gardez une console de secours chez l'hébergeur.
Docker ou installation directe ?
L'installation directe avec SteamCMD et systemd est la plus simple et la mieux documentée par les éditeurs. Docker isole et facilite plusieurs serveurs sur une machine, mais ajoute une couche à comprendre (réseau, volumes, pare-feu).

Outils pour votre serveur Multigaming

Multigaming
MultigamingAccès libre
Ports par défaut de FiveM, Minecraft, Rust, DayZ, ARK, Valheim, Palworld, CS2, Arma… et contrôle de votre liste de ports ouverts.
PortsRéseauOuvrir
Documentation
Multigaming
MultigamingAccès libre
Commandes d'administration par jeu (Minecraft, Rust, ARK, Palworld, DayZ, CS2…) prêtes à copier, avec vos paramètres. Aucun réseau.
RCONAdministrationOuvrir
Documentation
Multigaming
MultigamingAccès libre
Générez cron, timer systemd ou tâche Windows (schtasks) avec avertissements aux joueurs par RCON avant chaque redémarrage.
RedémarragePlanificationOuvrir
Documentation
Multigaming
MultigamingAccès libre
Estimez CPU, RAM, disque et bande passante d'un serveur de jeu selon les slots, avec formules visibles et hypothèses modifiables.
DimensionnementCoûtOuvrir
Documentation
Multigaming
MultigamingAccès libre
Transformez une liste de ports en règles ufw, iptables, nftables ou Windows netsh pour votre serveur de jeu.
Pare-feuSécuritéOuvrir
Documentation
Multigaming
MultigamingConnexion requise
Comparez deux fichiers de config (INI, CFG, JSON) : différences ligne à ligne et clé par clé, en local dans le navigateur.
ComparaisonConfigurationOuvrir
Documentation
Multigaming
MultigamingConnexion requise
Générez un script de sauvegarde bash ou PowerShell (tar, 7z, rsync/robocopy) avec rétention, arrêt du service et ligne cron.
SauvegardeScriptsOuvrir
Documentation