Désactiver le préchargeur
Tutoriels Linux Serveurs de jeux

Installer un serveur Among Us sur Linux (Ubuntu, Debian, AlmaLinux)

Documentation / Tutoriels Linux / Serveurs de jeux / Installer un serveur Among Us sur Linux (Ubuntu, Debian, AlmaLinux)
Mis à jour le 22/09/2026
14 vues
Intermédiaire
30 minutes

Prérequis

  • Un serveur sous Ubuntu, Debian, AlmaLinux, Rocky, CentOS, Fedora ou openSUSE : voir nos VPS au Canada
  • Une connexion SSH ouverte en root : Se connecter en SSH à votre VPS
  • 1 Go de disque libre et 1 Go de RAM
  • Un nom de domaine dont l'enregistrement A pointe sur l'adresse IP du serveur (dans ce guide : votredomaine.com, à remplacer) : depuis Among Us 16.0.5, le jeu n'accepte qu'un serveur en HTTPS
Votre serveur :

Ce guide installe Impostor, le serveur Among Us libre qui remplace les serveurs officiels : un utilisateur dédié, le serveur (une archive de 657 Ko), le moteur .NET 8 dont il a besoin (93 Mo), son adresse publique, un service qui le démarre avec la machine, le pare-feu, Caddy qui met le serveur en HTTPS avec un certificat Let's Encrypt (le jeu l'exige depuis Among Us 16.0.5), la connexion depuis le jeu (un fichier de région à donner aux joueurs) et la mise à jour. Pas de SteamCMD ici : Impostor se télécharge depuis sa page GitHub. Choisissez votre système ci-dessus. Copiez la commande avec le bouton Copier, collez-la dans votre terminal, et comparez avec le résultat attendu.

1Mettre à jour le système et installer curl

Le système est mis à jour, puis curl, qui télécharge le serveur et le moteur .NET, est installé.

Mettre à jour le système
apt update && apt upgrade -y
Résultat attendu
...
212 upgraded, 8 newly installed, 0 to remove and 4 not upgraded.
(les nombres dépendent de l'âge de l'image)
Mettre à jour le système
dnf upgrade -y
Résultat attendu
...
Complete!
Mettre à jour le système
dnf upgrade -y
Résultat attendu
...
Complete!
Mettre à jour le système
zypper -n refresh && zypper -n update
Résultat attendu
All repositories have been refreshed.
...
Installer curl
apt install -y curl
Installer curl
dnf install -y curl
Installer curl
dnf install -y curl
Installer curl
zypper -n install curl

2Créer un utilisateur dédié et télécharger le serveur

Le serveur ne tourne jamais en root : un utilisateur impostor, dont le dossier personnel est /opt/impostor, possède le serveur et le moteur .NET. Le dossier est créé avant l'utilisateur : sur Rocky et CentOS, SELinux refuse à useradd de le créer lui-même sous /opt.

Créer les dossiers et l'utilisateur impostor
mkdir -p /opt/impostor/server && useradd -r -s /bin/bash -d /opt/impostor impostor && chown -R impostor:impostor /opt/impostor

La version 1.10.8 est la dernière publiée à la date de ce guide ; la page https://github.com/Impostor/Impostor/releases donne la version courante, remplacez le numéro deux fois dans l'adresse s'il a changé.

Télécharger et décompresser le serveur (en tant qu'impostor)
su - impostor -c "cd /opt/impostor/server && curl -fsSL https://github.com/Impostor/Impostor/releases/download/v1.10.8/Impostor-Server_1.10.8_linux-x64.tar.gz | tar zxf - && ls"
Résultat attendu
Impostor.Api.pdb
Impostor.Api.xml
Impostor.Server
Impostor.Server.pdb
Impostor.Server.xml
config.json
packages.lock.json

3Installer le moteur .NET 8

Impostor est un programme .NET : sans le moteur, il répond « You must install .NET to run this application ». Le script officiel de Microsoft installe le moteur ASP.NET Core 8 (qui contient le moteur .NET de base) dans /opt/impostor/dotnet, sans toucher au système.

Installer le moteur ASP.NET Core 8 dans /opt/impostor/dotnet (en tant qu'impostor)
su - impostor -c "cd /opt/impostor && curl -fsSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh && bash dotnet-install.sh --runtime aspnetcore --channel 8.0 --install-dir /opt/impostor/dotnet && ls /opt/impostor/dotnet/shared/ && du -sh /opt/impostor/dotnet"
Résultat attendu
dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.31/aspnetcore-runtime-8.0.31-linux-x64.tar.gz
dotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.31/aspnetcore-runtime-8.0.31-linux-x64.tar.gz size is 42028114 bytes.
dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/aspnetcore/Runtime/8.0.31/aspnetcore-runtime-8.0.31-linux-x64.tar.gz
dotnet-install: Downloaded file size is 42028114 bytes.
dotnet-install: The remote and local file sizes are equal.
dotnet-install: Installed version is 8.0.31
dotnet-install: Adding to current process PATH: `/opt/impostor/dotnet`. Note: This change will be visible only when sourcing script.
dotnet-install: Note that the script does not resolve dependencies during installation.
dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section.
dotnet-install: Installation finished successfully.
Microsoft.AspNetCore.App
Microsoft.NETCore.App
93M	/opt/impostor/dotnet

4Régler l'adresse publique du serveur

Le fichier /opt/impostor/server/config.json porte l'adresse que le serveur annonce aux joueurs : 127.0.0.1 par défaut, ce qui ne laisse entrer personne d'autre que la machine elle-même. Remplacez 203.0.113.42 par l'adresse IP de votre serveur. La même commande replie le matchmaker HTTP (section HttpServer) sur 127.0.0.1 : seul Caddy (étape 8) lui parlera, en HTTPS ; le trafic du jeu (section Server) reste sur 0.0.0.0.

Écrire l'adresse publique et replier le matchmaker sur la machine
sed -i 's/"PublicIp": "127.0.0.1"/"PublicIp": "203.0.113.42"/; /"HttpServer"/,/}/ s/"ListenIp": "0.0.0.0"/"ListenIp": "127.0.0.1"/' /opt/impostor/server/config.json && grep -n 'PublicIp\|ListenIp' /opt/impostor/server/config.json
Résultat attendu
3:    "PublicIp": "203.0.113.42",
5:    "ListenIp": "0.0.0.0",
10:    "ListenIp": "127.0.0.1",
Server.PublicIp
L'adresse que les joueurs reçoivent ; obligatoire
Server.PublicPort / ListenPort
Le port du jeu, 22023 par défaut (UDP)
HttpServer.ListenIp / ListenPort
Le matchmaker, que le jeu contacte en premier : 127.0.0.1 et 22023, derrière Caddy
AntiCheat.Enabled / BanIpFromGame
true par défaut : un joueur pris à tricher est expulsé, et banni si BanIpFromGame est true
Compatibility.AllowVersionMixing
true pour laisser jouer ensemble des versions du jeu qu'Impostor n'a pas déclarées compatibles
Compatibility.AllowFutureGameVersions
true pour accepter une version du jeu plus récente que celle qu'Impostor connaît

5Créer le script de démarrage et le service

Le script dit au serveur où est son moteur .NET (DOTNET_ROOT) et le service le lance sous l'utilisateur impostor, le relance s'il tombe et l'arrête proprement à l'extinction de la machine.

Créer start.sh
cat > /opt/impostor/start.sh << 'EOF'
#!/bin/sh
cd /opt/impostor/server
export DOTNET_ROOT=/opt/impostor/dotnet DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
exec ./Impostor.Server
EOF
chmod +x /opt/impostor/start.sh && chown -R impostor:impostor /opt/impostor
Créer le service impostor
cat > /etc/systemd/system/impostor.service << 'EOF'
[Unit]
Description=Serveur Among Us (Impostor)
After=network.target

[Service]
User=impostor
Group=impostor
WorkingDirectory=/opt/impostor/server
ExecStart=/opt/impostor/start.sh
TimeoutStopSec=30
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF
Activer et démarrer le service
systemctl daemon-reload && systemctl enable --now impostor
Résultat attendu
Created symlink /etc/systemd/system/multi-user.target.wants/impostor.service → /etc/systemd/system/impostor.service.
Quelques secondes plus tard : le serveur est prêt, le jeu écoute en UDP, le matchmaker sur la machine, et répond en HTTP
systemctl is-active impostor && journalctl -u impostor --no-pager | grep -h 'Starting Impostor\|Matchmaker is listening\|Application started' && ss -lunp | grep 22023 | awk '{print $4}' && ss -ltnp | grep 22023 | awk '{print $4}' && curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:22023/
Résultat attendu
active
Sep 22 01:22:58 serveur start.sh[76739]: [01:22:58 INF] Starting Impostor v1.10.8+5ee0fdb61f3f103342fe4176640dca1322b4e0f8
Sep 22 01:22:58 serveur start.sh[76739]: [01:22:58 INF] Matchmaker is listening on 0.0.0.0:22023, the public server ip is 203.0.113.42:22023.
Sep 22 01:22:58 serveur start.sh[76739]: [01:22:58 INF] Application started. Press Ctrl+C to shut down.
0.0.0.0:22023
127.0.0.1:22023
200
(le journal porte aussi « [WRN] Since Among Us 16.0.5 it is required to support HTTPS for players to connect » : c'est l'étape 8)

6Gérer le serveur

Le serveur écrit son journal dans journald ; chaque changement de config.json demande un redémarrage.

Voir l'état du service
systemctl status impostor
Suivre le journal du serveur en direct (Ctrl+C pour sortir)
journalctl -u impostor -f
Redémarrer
systemctl restart impostor
Arrêter
systemctl stop impostor
Démarrer
systemctl start impostor

7Ouvrir les ports dans le pare-feu

Le jeu joue en UDP sur le port 22023 ; Caddy (étape 8) reçoit les joueurs en HTTPS sur le port 443 et obtient son certificat par le port 80 : les trois s'ouvrent. La commande active le pare-feu du système en gardant SSH autorisé, puis ouvre les ports.

Activer le pare-feu (SSH reste autorisé) et ouvrir les ports du jeu
apt install -y ufw && ufw allow 22/tcp && ufw allow 22023/udp && ufw allow 80,443/tcp && ufw --force enable
Résultat attendu
...
Firewall is active and enabled on system startup
Activer le pare-feu (SSH reste autorisé) et ouvrir les ports du jeu
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-port=22023/udp --add-port=80/tcp --add-port=443/tcp && firewall-cmd --reload
Résultat attendu
...
success
success
Activer le pare-feu (SSH reste autorisé) et ouvrir les ports du jeu
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-port=22023/udp --add-port=80/tcp --add-port=443/tcp && firewall-cmd --reload
Résultat attendu
...
success
success
Ouvrir les ports du jeu (firewalld est déjà actif sur openSUSE)
firewall-cmd --permanent --add-port=22023/udp --add-port=80/tcp --add-port=443/tcp && firewall-cmd --reload
Résultat attendu
success
success
Vérifier les règles
ufw status
Résultat attendu
Status: active
22/tcp                     ALLOW       Anywhere
22023/udp                  ALLOW       Anywhere
80,443/tcp                 ALLOW       Anywhere
Vérifier les règles
firewall-cmd --list-ports
Résultat attendu
80/tcp 443/tcp 22023/udp
Vérifier les règles
firewall-cmd --list-ports
Résultat attendu
80/tcp 443/tcp 22023/udp
Vérifier les règles
firewall-cmd --list-ports
Résultat attendu
80/tcp 443/tcp 22023/udp

8Mettre le serveur en HTTPS avec Caddy

Depuis Among Us 16.0.5, le jeu n'accepte qu'un matchmaker en HTTPS, et Impostor ne gère pas les certificats : Caddy, un serveur web des dépôts du système, se place devant lui, demande un certificat Let's Encrypt pour votre domaine (par le port 80, d'où l'étape 7) et le renouvelle lui-même. Le domaine doit déjà pointer sur l'adresse IP du serveur.

Installer Caddy (le paquet active et démarre le service)
apt install -y caddy
Installer Caddy (dépôt EPEL)
dnf install -y epel-release && dnf install -y caddy
Installer Caddy
dnf install -y caddy
Installer Caddy
zypper -n install caddy
Écrire le Caddyfile : votre domaine, puis le matchmaker derrière (remplacez votredomaine.com)
cat > /etc/caddy/Caddyfile << 'EOF'
votredomaine.com

reverse_proxy 127.0.0.1:22023
EOF
Relancer Caddy avec ce fichier
systemctl restart caddy
Activer et démarrer Caddy
systemctl enable --now caddy
Résultat attendu
Created symlink /etc/systemd/system/multi-user.target.wants/caddy.service → /usr/lib/systemd/system/caddy.service.
Activer et démarrer Caddy
systemctl enable --now caddy
Résultat attendu
Created symlink '/etc/systemd/system/multi-user.target.wants/caddy.service' → '/usr/lib/systemd/system/caddy.service'.
Activer et démarrer Caddy
systemctl enable --now caddy
Résultat attendu
Created symlink '/etc/systemd/system/multi-user.target.wants/caddy.service' → '/usr/lib/systemd/system/caddy.service'.
Après une trentaine de secondes : le certificat est obtenu et le matchmaker répond en HTTPS
systemctl is-active caddy && journalctl -u caddy --no-pager | grep -o '"msg":"certificate obtained successfully","identifier":"[^"]*"' && curl -s -o /dev/null -w '%{http_code}\n' https://votredomaine.com/
Résultat attendu
active
"msg":"certificate obtained successfully","identifier":"votredomaine.com"
200

9Se connecter au serveur

Among Us n'a pas de champ « adresse du serveur » : chaque joueur ajoute une région au jeu avec un fichier regionInfo.json, que le site d'Impostor fabrique pour vous.

  1. Ouvrez https://impostor.github.io/Impostor/ : choisissez https://, entrez votre domaine (Server address), le port 443 (Port) et un nom (Server name).
  2. Sur PC, cliquez « Open in Among Us » avec le jeu lancé : la région s'ajoute d'elle-même. Sinon, cliquez « Download server file », vérifiez que le fichier s'appelle regionInfo.json (pas regionInfo (1).json), puis copiez-le dans le dossier %APPDATA%\..\LocalLow\Innersloth\Among Us (touche Windows + R, collez le chemin, Entrée).
  3. Lancez Among Us, cliquez « Online », puis choisissez votre région dans le menu en bas à droite : les parties créées là passent par votre serveur.
  4. Donnez le même domaine, le même port et le même nom à vos joueurs : chacun fait la même manipulation.

10Mettre à jour le serveur

Une nouvelle version d'Impostor s'installe en décompressant la nouvelle archive par-dessus l'ancienne, serveur arrêté ; config.json est exclu de la décompression, vos réglages restent. Prenez le numéro de version sur https://github.com/Impostor/Impostor/releases et remplacez-le deux fois dans l'adresse. Le moteur .NET se met à jour avec la même commande qu'à l'étape 3.

Mettre à jour le serveur (serveur arrêté, puis relancé)
systemctl stop impostor && su - impostor -c "cd /opt/impostor/server && curl -fsSL https://github.com/Impostor/Impostor/releases/download/v1.10.8/Impostor-Server_1.10.8_linux-x64.tar.gz | tar zxf - --exclude=config.json && grep -n PublicIp config.json" && systemctl start impostor
Résultat attendu
3:    "PublicIp": "203.0.113.42",

Erreurs fréquentes

Serveur prêt

Votre serveur Among Us démarre avec la machine, se relance s'il tombe, joue sur le port 22023 et reçoit les joueurs en HTTPS sur votre domaine. Donnez le domaine, le port 443 et le nom de la région à vos joueurs.

💬 Écrivez-nous sur Messenger !