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