diff --git a/Dockerfile b/Dockerfile index 577766d25..5978229f7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,7 +28,9 @@ ENV PORT= \ QUERY_PORT=27015 COPY ./scripts/* /home/steam/server/ -RUN chmod +x /home/steam/server/init.sh /home/steam/server/start.sh +RUN chmod +x /home/steam/server/init.sh /home/steam/server/start.sh /home/steam/server/backup.sh + +RUN mv /home/steam/server/backup.sh /usr/local/bin/backup WORKDIR /home/steam/server diff --git a/README.md b/README.md index d098b7ecd..612f6a4c9 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,16 @@ This will open a CLI that use can use to write commands to the Palworld Server. For a full list of commands go to: [https://tech.palworldgame.com/server-commands](https://tech.palworldgame.com/server-commands) +## Creating a backup + +To create a backup of the game's save at the current point in time, use the command. + +```bash +docker exec palworld-server backup +``` + +This will create a backup at `/palworld/backups/` + ## Editing Server Settings When the server starts, a `PalWorldSettings.ini` file will be created in the following location: `/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini` diff --git a/scripts/backup.sh b/scripts/backup.sh new file mode 100644 index 000000000..9cca79259 --- /dev/null +++ b/scripts/backup.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +DATE=$(date +"%Y-%m-%d_%H-%M-%S") +FILE_PATH="/palworld/backups/palworld-save-${DATE}.tar.gz" +cd /palworld/Pal/ || exit + +tar -zcf "$FILE_PATH" "Saved/" +echo "backup created at $FILE_PATH" diff --git a/scripts/init.sh b/scripts/init.sh index 7b7a75b44..f1b5bf2a5 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -9,7 +9,7 @@ else exit 1 fi -mkdir -p /palworld +mkdir -p /palworld/backups chown -R steam:steam /palworld if [ "${UPDATE_ON_BOOT}" = true ]; then