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
- 15 Go de disque libre ; 4 Go de RAM pour quelques joueurs, 8 Go pour une dizaine
Ce guide installe le serveur dédié Palworld avec SteamCMD, l'outil de Valve : un utilisateur dédié, le serveur (4,6 Go), ses réglages (nom, mot de passe, mot de passe d'administration), un service qui le démarre avec la machine, le pare-feu et la connexion depuis le jeu. Choisissez votre système ci-dessus.
1Mettre à jour le système et installer les bibliothèques 32 bits
SteamCMD, l'outil de Valve qui télécharge les serveurs de jeux, est un programme 32 bits : il lui faut les bibliothèques 32 bits du système. Mettez le système à jour d'abord.
apt update && apt upgrade -y... 212 upgraded, 8 newly installed, 0 to remove and 4 not upgraded. (les nombres dépendent de l'âge de l'image)
dnf upgrade -y... Complete!
dnf upgrade -y... Complete!
zypper -n refresh && zypper -n updateAll repositories have been refreshed. ...
dpkg --add-architecture i386 && apt update && apt install -y lib32gcc-s1 lib32stdc++6 curldnf install -y glibc.i686 libstdc++.i686dnf install -y glibc.i686 libstdc++.i686zypper -n install glibc-32bit libstdc++6-32bitopenSUSE Leap 16 livre son noyau avec l'exécution des programmes 32 bits désactivée : sans cette étape, SteamCMD répond « Exec format error ». On l'active dans GRUB et on redémarre (reconnectez-vous en SSH après une minute).
sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="ia32_emulation=1 /' /etc/default/grub && grub2-mkconfig -o /boot/grub2/grub.cfg && rebootgrep -o ia32_emulation=1 /proc/cmdlineia32_emulation=1
2Créer un utilisateur dédié et installer SteamCMD
Le serveur ne tourne jamais en root : un utilisateur palworld, dont le dossier personnel est /opt/palworld, possède SteamCMD et le serveur. Le dossier est créé avant l'utilisateur : sur Rocky et CentOS, SELinux refuse à useradd de le créer lui-même sous /opt.
mkdir -p /opt/palworld/server /opt/palworld/steamcmd && useradd -r -s /bin/bash -d /opt/palworld palworld && chown -R palworld:palworld /opt/palworldsu - palworld -c "cd /opt/palworld/steamcmd && curl -fsSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar zxf - && ls"linux32 steamcmd.sh
3Télécharger le serveur Palworld
Le téléchargement fait 4,6 Go.
su - palworld -c "/opt/palworld/steamcmd/steamcmd.sh +force_install_dir /opt/palworld/server +login anonymous +app_update 2394010 validate +quit"... Success! App '2394010' fully installed.
ls /opt/palworld/server/PalServer.sh && du -sh /opt/palworld/server/opt/palworld/server/PalServer.sh 4.6G /opt/palworld/server
su - palworld -c "mkdir -p ~/.steam/sdk64 && ln -sf /opt/palworld/steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.so"4Créer le script de démarrage et le service
cat > /opt/palworld/start.sh << 'EOF'
#!/bin/sh
cd /opt/palworld/server
exec ./PalServer.sh -port=8211 -publicport=8211 -players=16 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
EOF
chmod +x /opt/palworld/start.sh && chown -R palworld:palworld /opt/palworldcat > /etc/systemd/system/palworld.service << 'EOF'
[Unit]
Description=Serveur Palworld
After=network.target
[Service]
User=palworld
Group=palworld
WorkingDirectory=/opt/palworld/server
ExecStart=/opt/palworld/start.sh
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload && systemctl enable --now palworldsystemctl is-active palworld && journalctl -u palworld --no-pager -n 100 | grep 'Running Palworld' && ss -lunp | grep ':8211 'active
... Running Palworld dedicated server on :8211
UNCONN 0 0 0.0.0.0:8211 0.0.0.0:* users:(("PalServer-Linux",pid=8646,fd=53))5Régler le serveur : nom, mot de passe, administration
On copie le modèle de réglages, puis on change le nom du serveur, le mot de passe demandé aux joueurs et le mot de passe d'administration. Le serveur s'arrête le temps de l'édition.
systemctl stop palworld && su - palworld -c "cp /opt/palworld/server/DefaultPalWorldSettings.ini /opt/palworld/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini"sed -i 's/ServerName="[^"]*"/ServerName="Mon serveur Palworld"/; s/ServerPassword=""/ServerPassword="cinqcaracteres"/; s/AdminPassword=""/AdminPassword="ChangezMoi"/' /opt/palworld/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.inigrep -oE 'ServerName="[^"]*"|ServerPassword="[^"]*"|AdminPassword="[^"]*"|AutoSaveSpan=[0-9.]*' /opt/palworld/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini && systemctl start palworldAutoSaveSpan=30.000000 ServerName="Mon serveur Palworld" AdminPassword="ChangezMoi" ServerPassword="cinqcaracteres"
ServerName- Le nom affiché dans la liste des serveurs
ServerPassword- Le mot de passe demandé aux joueurs (vide = ouvert à tous)
AdminPassword- Le mot de passe de la commande AdminPassword dans le jeu
ServerPlayerMaxNum- Le nombre maximal de joueurs (32 par défaut)
AutoSaveSpan- Sauvegarde automatique, en secondes (30 par défaut)
ExpRate, PalCaptureRate...- Les taux d'expérience, de capture, de dégâts : la même liste que le mode solo
6Ouvrir les ports dans le pare-feu
Palworld parle en UDP sur le port 8211.
apt install -y ufw && ufw allow 22/tcp && ufw allow 8211/udp && ufw --force enable... Firewall is active and enabled on system startup
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-port=8211/udp && firewall-cmd --reload... success success
dnf install -y firewalld && systemctl enable --now firewalld && firewall-cmd --permanent --add-port=8211/udp && firewall-cmd --reload... success success
firewall-cmd --permanent --add-port=8211/udp && firewall-cmd --reloadsuccess success
7Se connecter au serveur
- Lancez Palworld, choisissez Rejoindre une partie multijoueur (serveur dédié).
- En bas de la liste, entrez l'adresse IP de votre serveur suivie du port : 203.0.113.42:8211, puis Connexion.
- Entrez le mot de passe du serveur (ServerPassword).
- Pour devenir administrateur dans le jeu, ouvrez le chat et tapez /AdminPassword ChangezMoi (le mot de passe de l'étape 5).
8Gérer, sauvegarder et mettre à jour le serveur
systemctl status palworldjournalctl -u palworld -fsystemctl restart palworldsystemctl stop palworldLe monde est sauvegardé toutes les 30 secondes (AutoSaveSpan) dans /opt/palworld/server/Pal/Saved/SaveGames ; le script ci-dessous en garde une archive datée chaque nuit et conserve les 10 dernières.
cat > /opt/palworld/backup.sh << 'EOF'
#!/bin/sh
BACKUP_DIR=/opt/palworld/backups
DATE=$(date +%Y-%m-%d_%H-%M)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/palworld-$DATE.tar.gz -C /opt/palworld/server/Pal/Saved SaveGames Config
cd $BACKUP_DIR && ls -t | tail -n +11 | xargs -r rm
EOF
chmod +x /opt/palworld/backup.sh && chown palworld:palworld /opt/palworld/backup.shsu - palworld -c '/opt/palworld/backup.sh && ls -la /opt/palworld/backups'-rw-rw-r-- 1 palworld palworld 19673 ... palworld-2026-09-15_05-12.tar.gz
apt install -y cron && systemctl enable --now crondnf install -y cronie && systemctl enable --now cronddnf install -y cronie && systemctl enable --now crondzypper -n install cronie && systemctl enable --now cronsu - palworld -c '(crontab -l 2>/dev/null; echo "0 4 * * * /opt/palworld/backup.sh") | crontab - && crontab -l'0 4 * * * /opt/palworld/backup.sh
Après une mise à jour du jeu, les joueurs à jour ne peuvent plus entrer sur un serveur en retard : la mise à jour est la même commande que l'installation, serveur arrêté. Vos réglages et sauvegardes (Pal/Saved) restent en place.
systemctl stop palworld && su - palworld -c "/opt/palworld/steamcmd/steamcmd.sh +force_install_dir /opt/palworld/server +login anonymous +app_update 2394010 +quit" && systemctl start palworld... Success! App '2394010' already up to date. (« fully installed » quand une mise à jour a été téléchargée)
Erreurs fréquentes
L'image du serveur a été construite sur un autre disque et GRUB demande où se réinstaller : choisissez le disque de la machine (celui que lsblk affiche, en général /dev/sda) ; la mise à jour continue ensuite.
Un raté passager côté Steam : relancez la même commande, le téléchargement reprend.
Plusieurs serveurs de jeux tournent sur la même machine, chacun avec son utilisateur, et SteamCMD a déjà créé dix dossiers /tmp/dumps, /tmp/dumps01... /tmp/dumps09 qui appartiennent aux autres : lancez rm -rf /tmp/dumps* en root, puis relancez la commande.
Le système n'a pas été mis à jour avant : faites la première boîte de l'étape 1, puis réessayez.
Les programmes 32 bits sont désactivés dans le noyau : appliquez la dernière boîte de l'étape 1 et redémarrez.
Le serveur tournait pendant l'édition, ou PalWorldSettings.ini est resté vide : refaites l'étape 5 dans l'ordre (arrêt, copie du modèle, sed, démarrage).
La liste publique demande d'autres réglages du fichier ini et une inscription ; la connexion directe par adresse (étape 7) marche sans rien de plus, une fois le port 8211 UDP ouvert.
La mémoire de la machine est courte : un serveur Palworld à vide prend 1,4 Go et grossit avec le monde ; passez à 8 Go pour une dizaine de joueurs.
Serveur prêt
Votre serveur Palworld démarre avec la machine, se sauvegarde toutes les 30 secondes et chaque nuit, et écoute sur le port 8211. La même base SteamCMD sert aux autres serveurs de jeux.