Aller au contenu principal

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 :

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 joueursRAM minimaleRAM recommandée
1-88 Go16 Go
8-1616 Go24 Go
16-3224 Go32 Go
Attention

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
Note

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ètreDescriptionValeur par défaut
ServerNameNom de votre serveur"Default Palworld Server"
ServerDescriptionDescription du serveur""
AdminPasswordMot de passe administrateur""
ServerPasswordMot de passe pour rejoindre (vide = public)""
ServerPlayerMaxNumNombre max de joueurs32
PublicPortPort du serveur8211
PublicIPIP publique du serveur""
ExpRateMultiplicateur d'expérience1.0
PalCaptureRateTaux de capture des Pals1.0
bIsPvPActiver le PvPFalse

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 :

CommandeDescription
/AdminPassword <password>Se connecter en tant qu'admin
/Shutdown <seconds> <message>Arrêter le serveur avec délai
/SaveSauvegarder le monde
/Broadcast <message>Envoyer un message à tous
/KickPlayer <SteamID>Expulser un joueur
/BanPlayer <SteamID>Bannir un joueur
/ShowPlayersAfficher les joueurs connectés
/InfoAfficher 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​

  1. Lancer Palworld
  2. Sélectionner "Rejoindre un serveur multijoueur"
  3. En bas, entrer : IP_DU_SERVEUR:8211
  4. 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