Script de sauvegarde API - Palworld
Dernière mise à jour : 19/10/2025
Objectif
Ce script automatise la sauvegarde interne du monde Palworld via l’API REST du serveur dédié. J'ai remarquer que les sauvegardes automatiques parfois s'arretais donc j'ai décider de forcer la "save" via l'api.
Il envoie la commande save
toutes les minutes pour forcer l’écriture du monde sur le disque, sans interrompre la partie.
Emplacement et planification
📂 Fichier : C:\Scripts\save-palworld.bat
⏱️ Exécution : toutes les 1 minute via le Planificateur de tâches Windows
👤 Compte : SYSTEM (pas besoin d’être connecté)
Contenu du script
@echo off
setlocal EnableExtensions EnableDelayedExpansion
set "API_HOST=127.0.0.1"
set "API_PORT=8212"
set "ADMIN_PASS=lex120497"
set "SAVE_URL=http://%API_HOST%:%API_PORT%/v1/api/save"
set "LOGDIR=C:\Scripts\logs"
if not exist "%LOGDIR%" mkdir "%LOGDIR%"
for /f %%I in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HH-mm-ss"') do set "TS=%%I"
set "LOGFILE=%LOGDIR%\palworld_save_%TS%.log"
set "LASTLOG=%LOGDIR%\palworld_save_latest.log"
set "CURL=%SystemRoot%\System32\curl.exe"
set "ATTEMPTS=3"
set "DELAY_BETWEEN=5"
set "SUCCESS=0"
echo [%TS%] Démarrage sauvegarde Palworld > "%LOGFILE%"
for /l %%A in (1,1,%ATTEMPTS%) do (
echo [%TS%] Tentative %%A/%ATTEMPTS%... >> "%LOGFILE%"
"%CURL%" -sS -f -X POST -d "" --user "admin:%ADMIN_PASS%" --max-time 10 "%SAVE_URL%" >> "%LOGFILE%" 2>&1
set "RC=!ERRORLEVEL!"
if "!RC!"=="0" (
set "SUCCESS=1"
echo [%TS%] SUCCÈS (RC=!RC!) >> "%LOGFILE%"
goto after_call
) else (
echo [%TS%] ÉCHEC (RC=!RC!). Nouvelle tentative dans %DELAY_BETWEEN%s... >> "%LOGFILE%"
powershell -NoProfile -Command "Start-Sleep -Seconds %DELAY_BETWEEN%" >nul 2>nul
)
)
:after_call
if "%SUCCESS%"=="1" (
echo [%TS%] Sauvegarde demandée avec succès. >> "%LOGFILE%"
) else (
echo [%TS%] ÉCHEC après %ATTEMPTS% tentatives. >> "%LOGFILE%"
)
copy /y "%LOGFILE%" "%LASTLOG%" >nul 2>nul
endlocal
exit /b 0
Fonctionnement
- Appelle l’API
POST /v1/api/save
sur le port 8212 - Authentification de base (
admin:lex120497
) - Réessaie jusqu’à 3 fois en cas d’échec réseau
- Crée des logs horodatés dans
C:\Scripts\logs
- Indépendant de l’utilisateur connecté
Conseils
- Vérifie que ton serveur Palworld écoute bien sur
127.0.0.1:8212
- Active l’API dans ton fichier de config
PalWorldSettings.ini
- Combine-le avec le second script (backup) pour une sauvegarde complète 🔥