Comment créer un serveur compatible avec Palworld
Ce guide vous explique comment installer et configurer un serveur dédié Palworld sur votre VPS ou serveur dédié Linux.
Commander un serveur
Palworld nécessite des ressources importantes. HostMyServers propose des offres adaptées :
- VPS Performance - Idéal pour les petits serveurs Palworld
- Serveurs dédiés Eco - Recommandé pour Palworld (16 Go RAM+)
- Serveurs dédiés Performance - Performance maximale pour les gros serveurs
Prérequis
- Accès SSH root ou utilisateur avec sudo
- Système Debian/Ubuntu à jour
- Minimum 4 cœurs CPU
- Minimum 8 Go de RAM (16 Go recommandés, 32 Go pour beaucoup de joueurs)
- Stockage SSD recommandé (environ 10 Go d'espace libre)
- Ports 8211 UDP et 27015 UDP accessibles
Configuration requise
| Nombre de joueurs | RAM minimale | RAM recommandée |
|---|---|---|
| 1-8 | 8 Go | 16 Go |
| 8-16 | 16 Go | 24 Go |
| 16-32 | 24 Go | 32 Go |
Palworld est très gourmand en ressources. Un serveur avec moins de 8 Go de RAM risque de rencontrer des problèmes de stabilité.
Mise à jour du système
sudo apt update && sudo apt upgrade -y
Création d'un utilisateur dédié
Pour des raisons de sécurité, créez un utilisateur dédié pour le serveur :
sudo adduser --disabled-password --gecos "" palworld
Installation des dépendances
Activer l'architecture 32 bits
SteamCMD nécessite les bibliothèques 32 bits :
sudo dpkg --add-architecture i386
sudo apt update
Installer les paquets requis
sudo apt install -y lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386 screen curl wget tar
Installation de SteamCMD
Créer le répertoire et télécharger SteamCMD
sudo -u palworld bash
mkdir -p ~/steamcmd
cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Vérifier l'installation
./steamcmd.sh +quit
SteamCMD va se mettre à jour automatiquement lors du premier lancement.
Téléchargement du serveur Palworld
Créer le répertoire du serveur
mkdir -p ~/palworld-server
Télécharger les fichiers du serveur
~/steamcmd/steamcmd.sh +force_install_dir ~/palworld-server +login anonymous +app_update 2394010 validate +quit
L'ID de l'application serveur Palworld est 2394010. Le téléchargement peut prendre plusieurs minutes selon votre connexion.
Configuration du serveur
Copier le fichier de configuration par défaut
mkdir -p ~/palworld-server/Pal/Saved/Config/LinuxServer
cp ~/palworld-server/DefaultPalWorldSettings.ini ~/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
Modifier la configuration
nano ~/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
Paramètres importants
Modifiez les valeurs dans la section [/Script/Pal.PalGameWorldSettings] :
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.000000,PalCaptureRate=1.000000,PalSpawnNumRate=1.000000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=1.000000,PlayerStaminaDecreaceRate=1.000000,PlayerAutoHPRegeneRate=1.000000,PlayerAutoHpRegeneRateInSleep=1.000000,PalStomachDecreaceRate=1.000000,PalStaminaDecreaceRate=1.000000,PalAutoHPRegeneRate=1.000000,PalAutoHpRegeneRateInSleep=1.000000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=1.000000,CollectionDropRate=1.000000,CollectionObjectHpRate=1.000000,CollectionObjectRespawnSpeedRate=1.000000,EnemyDropItemRate=1.000000,DeathPenalty=All,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=72.000000,WorkSpeedRate=1.000000,bIsMultiplay=False,bIsPvP=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,CoopPlayerMaxNum=4,ServerPlayerMaxNum=32,ServerName="Mon Serveur Palworld",ServerDescription="Serveur dédié Palworld",AdminPassword="VotreMotDePasseAdmin",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt")
Paramètres clés à personnaliser
| Paramètre | Description | Valeur par défaut |
|---|---|---|
ServerName | Nom de votre serveur | "Default Palworld Server" |
ServerDescription | Description du serveur | "" |
AdminPassword | Mot de passe administrateur | "" |
ServerPassword | Mot de passe pour rejoindre (vide = public) | "" |
ServerPlayerMaxNum | Nombre max de joueurs | 32 |
PublicPort | Port du serveur | 8211 |
PublicIP | IP publique du serveur | "" |
ExpRate | Multiplicateur d'expérience | 1.0 |
PalCaptureRate | Taux de capture des Pals | 1.0 |
bIsPvP | Activer le PvP | False |
Configuration du pare-feu
Ouvrez les ports nécessaires :
Avec UFW
# Port principal du jeu
sudo ufw allow 8211/udp
# Port Steam Query (optionnel, pour la liste des serveurs)
sudo ufw allow 27015/udp
# Recharger le pare-feu
sudo ufw reload
Avec iptables
sudo iptables -A INPUT -p udp --dport 8211 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4
Lancement du serveur
Quitter la session palworld et revenir en root
exit
Lancement avec screen
sudo -u palworld bash -c 'screen -S palworld -d -m ~/palworld-server/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS'
Vérifier que le serveur tourne
sudo -u palworld screen -r palworld
Pour détacher : Ctrl+A puis D
Lancement manuel (pour debug)
sudo -u palworld bash
cd ~/palworld-server
./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Configuration en tant que service systemd
Pour un démarrage automatique au boot :
Créer le fichier de service
sudo nano /etc/systemd/system/palworld.service
Contenu du fichier :
[Unit]
Description=Palworld Dedicated Server
After=network.target
[Service]
Type=simple
User=palworld
Group=palworld
WorkingDirectory=/home/palworld/palworld-server
ExecStart=/home/palworld/palworld-server/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Restart=on-failure
RestartSec=20
[Install]
WantedBy=multi-user.target
Activer et démarrer le service
sudo systemctl daemon-reload
sudo systemctl enable palworld.service
sudo systemctl start palworld.service
Commandes de gestion
# Vérifier le statut
sudo systemctl status palworld.service
# Arrêter le serveur
sudo systemctl stop palworld.service
# Redémarrer le serveur
sudo systemctl restart palworld.service
# Voir les logs
sudo journalctl -u palworld.service -f
Mise à jour du serveur
Arrêter le serveur
sudo systemctl stop palworld.service
Sauvegarder les données
sudo -u palworld bash -c 'cp -r ~/palworld-server/Pal/Saved ~/palworld-backup-$(date +%Y%m%d)'
Mettre à jour via SteamCMD
sudo -u palworld bash -c '~/steamcmd/steamcmd.sh +force_install_dir ~/palworld-server +login anonymous +app_update 2394010 validate +quit'
Redémarrer le serveur
sudo systemctl start palworld.service
Commandes administrateur en jeu
Pour utiliser les commandes admin, connectez-vous en jeu et ouvrez le chat, puis :
| Commande | Description |
|---|---|
/AdminPassword <password> | Se connecter en tant qu'admin |
/Shutdown <seconds> <message> | Arrêter le serveur avec délai |
/Save | Sauvegarder le monde |
/Broadcast <message> | Envoyer un message à tous |
/KickPlayer <SteamID> | Expulser un joueur |
/BanPlayer <SteamID> | Bannir un joueur |
/ShowPlayers | Afficher les joueurs connectés |
/Info | Afficher les infos du serveur |
Sauvegarde automatique
Script de sauvegarde
sudo nano /home/palworld/backup.sh
#!/bin/bash
BACKUP_DIR="/home/palworld/backups"
SERVER_DIR="/home/palworld/palworld-server"
DATE=$(date +%Y-%m-%d_%H-%M-%S)
mkdir -p $BACKUP_DIR
# Sauvegarde des données de jeu
tar -czf $BACKUP_DIR/palworld_$DATE.tar.gz -C $SERVER_DIR/Pal Saved
# Supprimer les sauvegardes de plus de 7 jours
find $BACKUP_DIR -name "palworld_*.tar.gz" -mtime +7 -delete
echo "Sauvegarde termin ée : palworld_$DATE.tar.gz"
sudo chown palworld:palworld /home/palworld/backup.sh
sudo chmod +x /home/palworld/backup.sh
Planifier la sauvegarde
sudo crontab -u palworld -e
Ajoutez :
# Sauvegarde toutes les 6 heures
0 */6 * * * /home/palworld/backup.sh
Connexion au serveur
Les joueurs peuvent se connecter de deux manières :
Via l'IP directe
- Lancer Palworld
- Sélectionner "Rejoindre un serveur multijoueur"
- En bas, entrer :
IP_DU_SERVEUR:8211 - Cliquer sur "Connexion"
Via la liste des serveurs communautaires
Si vous avez configuré le serveur correctement avec une PublicIP, il apparaîtra dans la liste des serveurs.
Optimisation des performances
Paramètres de lancement optimisés
./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -port=8211 -players=32
Limiter l'utilisation mémoire
Si le serveur consomme trop de RAM, vous pouvez planifier des redémarrages réguliers :
# Redémarrage quotidien à 5h du matin
0 5 * * * systemctl restart palworld.service
En cas de problème
Le serveur ne démarre pas
- Vérifiez les logs :
sudo journalctl -u palworld.service -n 100 - Vérifiez les permissions :
ls -la /home/palworld/palworld-server/ - Vérifiez que tous les fichiers sont présents :
ls ~/palworld-server/
Les joueurs ne peuvent pas se connecter
- Vérifiez que le port 8211 est ouvert :
sudo ufw status - Vérifiez que le serveur écoute :
ss -ulnp | grep 8211 - Testez le port depuis l'extérieur
Erreur "steamclient.so"
Si vous obtenez une erreur liée à steamclient.so :
mkdir -p ~/.steam/sdk64
cp ~/palworld-server/linux64/steamclient.so ~/.steam/sdk64/
Problèmes de performance
- Augmentez la RAM du VPS
- Réduisez
ServerPlayerMaxNum - Activez les paramètres d'optimisation dans la config
- Planifiez des redémarrages réguliers