From 74f167978b572a29541ab767ec7f2f5418e32909 Mon Sep 17 00:00:00 2001 From: Syasusu Date: Thu, 25 Jan 2024 20:38:13 +0100 Subject: [PATCH 01/21] add migrate.sh to support migrate from an existing server --- README.md | 23 +++++++++++++++++++++++ migration/migrate.sh | 29 +++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 migration/migrate.sh diff --git a/README.md b/README.md index b23efda..982d7ab 100644 --- a/README.md +++ b/README.md @@ -176,6 +176,29 @@ For a more detailed list of explanations of server settings go to: [shockbyte](h > If the `/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini` is empty, > delete the file and restart the server, a new file with content will be created. +## Migrate From Existing Server + +1. Find a directory which is named by game server name and contains all saved game data, usually it will at `~/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0/` +2. Make sure `migration/migrate.sh`, saved game data directory and mounted volume (e.g. `palworld/`) are in the same directory. Like this: + ```shell + ubuntu@VM-4-5-ubuntu:~/test-pal-migrate$ ll + total 24 + drwxrwxr-x 4 ubuntu ubuntu 4096 Jan 26 03:31 ./ + drwxr-x--- 12 ubuntu ubuntu 4096 Jan 26 03:31 ../ + drwxr-xr-x 2 ubuntu ubuntu 4096 Jan 26 03:30 74406BE1D7B54114AA5984CCF1236865/ + -rw-r--r-- 1 ubuntu ubuntu 840 Jan 25 05:51 docker-compose.yml + -rw-rw-r-- 1 ubuntu ubuntu 848 Jan 26 03:31 migrate.sh + drwxrwxr-x 7 ubuntu ubuntu 4096 Jan 26 03:31 palworld/ + ``` +3. Run `migrate.sh` like this + ```shell + ./migrate.sh {CONTAINER_NAME} {SERVER_NAME} + ``` + For example, + ```shell + ./migrate.sh test-pal-migrate 74406BE1D7B54114AA5984CCF1236865 + ``` + ## Reporting Issues/Feature Requests Issues/Feature requests can be submitted by using [this link](https://github.com/thijsvanloef/palworld-server-docker/issues/new/choose). diff --git a/migration/migrate.sh b/migration/migrate.sh new file mode 100644 index 0000000..599e4af --- /dev/null +++ b/migration/migrate.sh @@ -0,0 +1,29 @@ +#!/bin/bash +set -e + +CONTAINER_NAME=$1 +MIGRATION_SERVER_NAME=$2 + +if [ ! -d ./"${MIGRATION_SERVER_NAME}" ]; then + echo "can not find ${MIGRATION_SERVER_NAME} dir at current dir" + exit 1 +fi + +if [ ! -d ./palworld ]; then + echo "can not find palworld dir at current dir" + exit 1 +fi + +CONTAINER_ID=$(docker ps --filter name="${CONTAINER_NAME}" --format '{{.ID}}') + +echo "########## STOPPING CONTAINER ${CONTAINER_NAME} NOW ##########" +docker stop "${CONTAINER_ID}" + +cp -r ./"${MIGRATION_SERVER_NAME}" ./palworld/Pal/Saved/SaveGames/0/"${MIGRATION_SERVER_NAME}"/ + +sed -i "s/DedicatedServerName=.*/DedicatedServerName=${MIGRATION_SERVER_NAME}/" ./palworld/Pal/Saved/Config/LinuxServer/GameUserSettings.ini + +echo "########## STARTING CONTAINER ${CONTAINER_NAME} NOW ##########" +docker start "${CONTAINER_ID}" + + From 36e2feb34041a53df0996ef48657dd633a7f6d42 Mon Sep 17 00:00:00 2001 From: Syasusu Date: Thu, 25 Jan 2024 21:20:17 +0100 Subject: [PATCH 02/21] fix markdown lint check failed --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 982d7ab..91d2454 100644 --- a/README.md +++ b/README.md @@ -191,10 +191,13 @@ For a more detailed list of explanations of server settings go to: [shockbyte](h drwxrwxr-x 7 ubuntu ubuntu 4096 Jan 26 03:31 palworld/ ``` 3. Run `migrate.sh` like this + ```shell ./migrate.sh {CONTAINER_NAME} {SERVER_NAME} ``` + For example, + ```shell ./migrate.sh test-pal-migrate 74406BE1D7B54114AA5984CCF1236865 ``` From 4b4165c0a2e740c11fc31932a149ef5e6faa5899 Mon Sep 17 00:00:00 2001 From: Syasusu Date: Thu, 25 Jan 2024 21:38:09 +0100 Subject: [PATCH 03/21] separate migration readme --- README.md | 26 -------------------------- migration/README.md | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 migration/README.md diff --git a/README.md b/README.md index 91d2454..b23efda 100644 --- a/README.md +++ b/README.md @@ -176,32 +176,6 @@ For a more detailed list of explanations of server settings go to: [shockbyte](h > If the `/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini` is empty, > delete the file and restart the server, a new file with content will be created. -## Migrate From Existing Server - -1. Find a directory which is named by game server name and contains all saved game data, usually it will at `~/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0/` -2. Make sure `migration/migrate.sh`, saved game data directory and mounted volume (e.g. `palworld/`) are in the same directory. Like this: - ```shell - ubuntu@VM-4-5-ubuntu:~/test-pal-migrate$ ll - total 24 - drwxrwxr-x 4 ubuntu ubuntu 4096 Jan 26 03:31 ./ - drwxr-x--- 12 ubuntu ubuntu 4096 Jan 26 03:31 ../ - drwxr-xr-x 2 ubuntu ubuntu 4096 Jan 26 03:30 74406BE1D7B54114AA5984CCF1236865/ - -rw-r--r-- 1 ubuntu ubuntu 840 Jan 25 05:51 docker-compose.yml - -rw-rw-r-- 1 ubuntu ubuntu 848 Jan 26 03:31 migrate.sh - drwxrwxr-x 7 ubuntu ubuntu 4096 Jan 26 03:31 palworld/ - ``` -3. Run `migrate.sh` like this - - ```shell - ./migrate.sh {CONTAINER_NAME} {SERVER_NAME} - ``` - - For example, - - ```shell - ./migrate.sh test-pal-migrate 74406BE1D7B54114AA5984CCF1236865 - ``` - ## Reporting Issues/Feature Requests Issues/Feature requests can be submitted by using [this link](https://github.com/thijsvanloef/palworld-server-docker/issues/new/choose). diff --git a/migration/README.md b/migration/README.md new file mode 100644 index 0000000..7567fc3 --- /dev/null +++ b/migration/README.md @@ -0,0 +1,25 @@ +# Migrate From Existing Server + +1. Find a directory which is named by game server name and contains all saved game data, usually it will at `~/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0/` +2. Make sure `migration/migrate.sh`, saved game data directory and mounted volume (e.g. `palworld/`) are in the same directory. Like this: + ```shell + ubuntu@VM-4-5-ubuntu:~/test-pal-migrate$ ll + total 24 + drwxrwxr-x 4 ubuntu ubuntu 4096 Jan 26 03:31 ./ + drwxr-x--- 12 ubuntu ubuntu 4096 Jan 26 03:31 ../ + drwxr-xr-x 2 ubuntu ubuntu 4096 Jan 26 03:30 74406BE1D7B54114AA5984CCF1236865/ + -rw-r--r-- 1 ubuntu ubuntu 840 Jan 25 05:51 docker-compose.yml + -rw-rw-r-- 1 ubuntu ubuntu 848 Jan 26 03:31 migrate.sh + drwxrwxr-x 7 ubuntu ubuntu 4096 Jan 26 03:31 palworld/ + ``` +3. Run `migrate.sh` like this + + ```shell + ./migrate.sh {CONTAINER_NAME} {SERVER_NAME} + ``` + + For example, + + ```shell + ./migrate.sh test-pal-migrate 74406BE1D7B54114AA5984CCF1236865 + ``` \ No newline at end of file From 214bb0b4043a607696fa7e528c1c7080946a9153 Mon Sep 17 00:00:00 2001 From: "Carlos M. Martinez" Date: Thu, 25 Jan 2024 19:50:14 -0500 Subject: [PATCH 04/21] Added save before backup --- scripts/backup.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/backup.sh b/scripts/backup.sh index 9cca792..82e75eb 100644 --- a/scripts/backup.sh +++ b/scripts/backup.sh @@ -1,5 +1,9 @@ #!/bin/bash +if [ "${RCON_ENABLED}" = true ]; then + rcon-cli save +fi + DATE=$(date +"%Y-%m-%d_%H-%M-%S") FILE_PATH="/palworld/backups/palworld-save-${DATE}.tar.gz" cd /palworld/Pal/ || exit From 59e62c558e63d0f5cd680551b59ad23e1c9ea5fb Mon Sep 17 00:00:00 2001 From: "Carlos M. Martinez" Date: Thu, 25 Jan 2024 19:54:07 -0500 Subject: [PATCH 05/21] Updated documentation --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2af76b1..93213f6 100644 --- a/README.md +++ b/README.md @@ -180,6 +180,8 @@ docker exec palworld-server backup This will create a backup at `/palworld/backups/` +The server will run a save before the backup if rcon is enabled. + ## Editing Server Settings When the server starts, a `PalWorldSettings.ini` file will be created in the following location: `/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini` From ae70ba742e1f961b1f7163ac23aad5514e8e8b30 Mon Sep 17 00:00:00 2001 From: "Carlos M. Martinez" Date: Thu, 25 Jan 2024 20:19:51 -0500 Subject: [PATCH 06/21] Fixed max player number, changed readme, added comment. --- README.md | 8 ++++---- docker-compose.yml | 5 ++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 2af76b1..a7abb6a 100644 --- a/README.md +++ b/README.md @@ -112,15 +112,15 @@ It is highly recommended you set the following environment values before startin | Variable | Info | Default Values | Allowed Values | |------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|------------------------------------------------------------------------------------------------------------| | TZ | Timezone used for time stamping backup server | UTC | See [TZ Identifiers](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#Time_Zone_abbreviations) | -| PLAYERS* | Max amount of players that are able to join the server | 16 | 1-31 | +| PLAYERS* | Max amount of players that are able to join the server | 16 | 1-32 | | PORT* | UDP port that the server will expose | 8211 | 1024-65535 | | PUID* | The uid of the user the server should run as | 1000 | !0 | | PGID* | The gid of the group the server should run as | 1000 | !0 | | MULTITHREADING** | Improves performance in multi-threaded CPU environments. It is effective up to a maximum of about 4 threads, and allocating more than this number of threads does not make much sense. | false | true/false | | COMMUNITY | Whether or not the server shows up in the community server browser (USE WITH SERVER_PASSWORD) | false | true/false | -| PUBLIC_IP | You can manually specify the global IP address of the network on which the server running.If not specified, it will be detected automatically. If it does not work well, try manual configuration. | | x.x.x.x | -| PUBLIC_PORT | You can manually specify the port number of the network on which the server running.If not specified, it will be detected automatically. If it does not work well, try manual configuration. | | 1024-65535 | -| SERVER_NAME | A name for your community server | | "string" | +| PUBLIC_IP | You can manually specify the global IP address of the network on which the server running. If not specified, it will be detected automatically. If it does not work well, try manual configuration. | | x.x.x.x | +| PUBLIC_PORT | You can manually specify the port number of the network on which the server running. If not specified, it will be detected automatically. If it does not work well, try manual configuration. | | 1024-65535 | +| SERVER_NAME | A name for your server server | | "string" | | SERVER_PASSWORD | Secure your community server with a password | | "string" | | ADMIN_PASSWORD | Secure administration access in the server with a password | | "string" | | UPDATE_ON_BOOT** | Update/Install the server when the docker container starts (THIS HAS TO BE ENABLED THE FIRST TIME YOU RUN THE CONTAINER) | true | true/false | diff --git a/docker-compose.yml b/docker-compose.yml index 21aff67..a3b8e2d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,7 @@ services: container_name: palworld-server ports: - 8211:8211/udp - - 27015:27015/udp + - 27015:27015/udp # Required if you want your server to show up in the community servers tab environment: - PUID=1000 - PGID=1000 @@ -18,7 +18,6 @@ services: - TZ=UTC - ADMIN_PASSWORD="adminPasswordHere" - COMMUNITY=false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! - # Enable the environment variables below if you have COMMUNITY=true - # - SERVER_NAME="World of Pals" + - SERVER_NAME="World of Pals" volumes: - ./palworld:/palworld/ From 073932c0189d5a8ad99eca5261b74a089ed69253 Mon Sep 17 00:00:00 2001 From: "Carlos M. Martinez" Date: Thu, 25 Jan 2024 20:22:42 -0500 Subject: [PATCH 07/21] Removed repeating word of server --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a7abb6a..a41e2e8 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,7 @@ It is highly recommended you set the following environment values before startin | COMMUNITY | Whether or not the server shows up in the community server browser (USE WITH SERVER_PASSWORD) | false | true/false | | PUBLIC_IP | You can manually specify the global IP address of the network on which the server running. If not specified, it will be detected automatically. If it does not work well, try manual configuration. | | x.x.x.x | | PUBLIC_PORT | You can manually specify the port number of the network on which the server running. If not specified, it will be detected automatically. If it does not work well, try manual configuration. | | 1024-65535 | -| SERVER_NAME | A name for your server server | | "string" | +| SERVER_NAME | A name for your server | | "string" | | SERVER_PASSWORD | Secure your community server with a password | | "string" | | ADMIN_PASSWORD | Secure administration access in the server with a password | | "string" | | UPDATE_ON_BOOT** | Update/Install the server when the docker container starts (THIS HAS TO BE ENABLED THE FIRST TIME YOU RUN THE CONTAINER) | true | true/false | From e9e6c29b894a416e10b7b7de5651f995bfe2146e Mon Sep 17 00:00:00 2001 From: "Carlos M. Martinez" Date: Thu, 25 Jan 2024 20:27:05 -0500 Subject: [PATCH 08/21] Added quotes in docker compose for timezone --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index a3b8e2d..03fc8d9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: - MULTITHREADING=true - RCON_ENABLED=true - RCON_PORT=25575 - - TZ=UTC + - TZ="UTC" - ADMIN_PASSWORD="adminPasswordHere" - COMMUNITY=false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! - SERVER_NAME="World of Pals" From 60071d8d7214dcb6f2eaf5c2eca2ba867b7c7d2d Mon Sep 17 00:00:00 2001 From: "Carlos M. Martinez" Date: Thu, 25 Jan 2024 20:27:19 -0500 Subject: [PATCH 09/21] Updated k8s --- k8s/configmap.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/k8s/configmap.yaml b/k8s/configmap.yaml index 266b340..4394167 100644 --- a/k8s/configmap.yaml +++ b/k8s/configmap.yaml @@ -7,13 +7,13 @@ data: PGID: "1000" PORT: "8211" # Optional but recommended PLAYERS: "16" # Optional but recommended + SERVER_PASSWORD: "worldofpals" # Optional but recommended MULTITHREADING: "true" RCON_ENABLED: "true" RCON_PORT: "25575" + TZ: "UTC" COMMUNITY: "false" # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! - # Enable the environment variables below if you have COMMUNITY=true - # SERVER_PASSWORD: "yourServerPassword" - SERVER_NAME: "Server_Name" # Note, it seems spaces are not supported, so use underlines. + SERVER_NAME: "World of Pals" --- apiVersion: v1 kind: ConfigMap From a64b771ad8647a48daf689c9a5f38c79d79efec5 Mon Sep 17 00:00:00 2001 From: "Carlos M. Martinez" Date: Thu, 25 Jan 2024 20:30:59 -0500 Subject: [PATCH 10/21] Updated docker compose and docker run in readme --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a41e2e8..ded0307 100644 --- a/README.md +++ b/README.md @@ -54,11 +54,10 @@ services: - MULTITHREADING=true - RCON_ENABLED=true - RCON_PORT=25575 - - TZ=UTC + - TZ="UTC" - ADMIN_PASSWORD="adminPasswordHere" - COMMUNITY=false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! - # Enable the environment variables below if you have COMMUNITY=true - # - SERVER_NAME="World of Pals" + - SERVER_NAME="World of Pals" volumes: - ./palworld:/palworld/ ``` @@ -80,10 +79,11 @@ docker run -d \ -e MULTITHREADING=true \ -e RCON_ENABLED=true \ -e RCON_PORT=25575 \ - -e TZ=UTC \ + -e TZ="UTC" \ -e ADMIN_PASSWORD="adminPasswordHere" \ -e SERVER_PASSWORD="worldofpals" \ -e COMMUNITY=false \ + -e SERVER_NAME="World of Pals" \ --restart unless-stopped \ thijsvanloef/palworld-server-docker:latest From 7a0d65804eb8a49aeab4dc63cdc4000b6f646cf9 Mon Sep 17 00:00:00 2001 From: "Carlos M. Martinez" Date: Fri, 26 Jan 2024 00:21:09 -0500 Subject: [PATCH 11/21] Removed quote around TZ as it broke the timezone --- docker-compose.yml | 2 +- k8s/configmap.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 03fc8d9..a3b8e2d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: - MULTITHREADING=true - RCON_ENABLED=true - RCON_PORT=25575 - - TZ="UTC" + - TZ=UTC - ADMIN_PASSWORD="adminPasswordHere" - COMMUNITY=false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! - SERVER_NAME="World of Pals" diff --git a/k8s/configmap.yaml b/k8s/configmap.yaml index 4394167..be8d7aa 100644 --- a/k8s/configmap.yaml +++ b/k8s/configmap.yaml @@ -11,7 +11,7 @@ data: MULTITHREADING: "true" RCON_ENABLED: "true" RCON_PORT: "25575" - TZ: "UTC" + TZ: UTC COMMUNITY: "false" # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! SERVER_NAME: "World of Pals" --- From 7a062e4c0694728dceb767dde992de1cd716a7b0 Mon Sep 17 00:00:00 2001 From: "Carlos M. Martinez" Date: Fri, 26 Jan 2024 00:21:35 -0500 Subject: [PATCH 12/21] Removed quote on TZ in readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ded0307..ff78db3 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ services: - MULTITHREADING=true - RCON_ENABLED=true - RCON_PORT=25575 - - TZ="UTC" + - TZ=UTC - ADMIN_PASSWORD="adminPasswordHere" - COMMUNITY=false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! - SERVER_NAME="World of Pals" @@ -79,7 +79,7 @@ docker run -d \ -e MULTITHREADING=true \ -e RCON_ENABLED=true \ -e RCON_PORT=25575 \ - -e TZ="UTC" \ + -e TZ=UTC \ -e ADMIN_PASSWORD="adminPasswordHere" \ -e SERVER_PASSWORD="worldofpals" \ -e COMMUNITY=false \ From 052a20f17b2115c59290ac28e44556e0e330f7bb Mon Sep 17 00:00:00 2001 From: William Li Date: Thu, 25 Jan 2024 18:54:34 -0800 Subject: [PATCH 13/21] Increase recommended disk size to 12GB. The steamcmd update requires an extra 2GB of free disk space. The container seems to be using around 8.7GB, which results in a steam update failure of `Error! App '2394010' state is 0x226 after update job.` since there isn't enough space to grab the new version in a 10GB disk. Bumping this to 12GB should result in ~3.4GB of free space, so there is a small buffer for future update size increases. --- README.md | 2 +- chart/values.yaml | 4 +--- k8s/pvc.yaml | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2af76b1..9c2ea26 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ This Docker container has been tested and will work on both Linux (Ubuntu/Debian |----------|---------|------------------------------------------| | CPU | 4 cores | 4+ cores | | RAM | 16GB | Recommend over 32GB for stable operation | -| Storage | 4GB | 10GB | +| Storage | 4GB | 12GB | ## How to use diff --git a/chart/values.yaml b/chart/values.yaml index 5d78652..3c53bf2 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -24,7 +24,7 @@ server: # -- Keeps helm from deleting the PVC. By default, helm does not delete pvcs. preventDelete: false # -- The size of the pvc storage. - size: 10Gi + size: 12Gi # -- The storage class name. storageClassName: "" # -- (dict) Define the parameters for the server image container @@ -133,5 +133,3 @@ server: password: "" # -- (string) If not provided, a random server name will be generated with the "palworld_" prefix. server_name: "" - - diff --git a/k8s/pvc.yaml b/k8s/pvc.yaml index db0ce45..28e7d75 100644 --- a/k8s/pvc.yaml +++ b/k8s/pvc.yaml @@ -9,4 +9,4 @@ spec: - ReadWriteOnce resources: requests: - storage: 10Gi \ No newline at end of file + storage: 12Gi From fcc2bbf99cf5c1dfc1b35ee3e332aa2a807d595e Mon Sep 17 00:00:00 2001 From: Thijs van Loef <58031337+thijsvanloef@users.noreply.github.com> Date: Fri, 26 Jan 2024 09:44:13 +0100 Subject: [PATCH 14/21] Update README.md --- migration/README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/migration/README.md b/migration/README.md index 7567fc3..07d87dd 100644 --- a/migration/README.md +++ b/migration/README.md @@ -1,7 +1,9 @@ # Migrate From Existing Server -1. Find a directory which is named by game server name and contains all saved game data, usually it will at `~/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0/` -2. Make sure `migration/migrate.sh`, saved game data directory and mounted volume (e.g. `palworld/`) are in the same directory. Like this: +1. Find a directory which is named by game server name and contains all saved game data, + usually it will at `~/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0/` +3. Make sure `migration/migrate.sh`, saved game data directory and mounted volume (e.g. `palworld/`) are in the same directory. Like this: + ```shell ubuntu@VM-4-5-ubuntu:~/test-pal-migrate$ ll total 24 @@ -12,7 +14,8 @@ -rw-rw-r-- 1 ubuntu ubuntu 848 Jan 26 03:31 migrate.sh drwxrwxr-x 7 ubuntu ubuntu 4096 Jan 26 03:31 palworld/ ``` -3. Run `migrate.sh` like this + +5. Run `migrate.sh` like this ```shell ./migrate.sh {CONTAINER_NAME} {SERVER_NAME} @@ -22,4 +25,4 @@ ```shell ./migrate.sh test-pal-migrate 74406BE1D7B54114AA5984CCF1236865 - ``` \ No newline at end of file + ``` From a31927b501f7e86134e84d11ac86368c2542ea83 Mon Sep 17 00:00:00 2001 From: Thijs van Loef Date: Fri, 26 Jan 2024 09:55:37 +0100 Subject: [PATCH 15/21] update readme and add disclaimer --- migration/README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/migration/README.md b/migration/README.md index 07d87dd..cf73b07 100644 --- a/migration/README.md +++ b/migration/README.md @@ -1,9 +1,15 @@ # Migrate From Existing Server +> [!WARNING] +> Use this script at your own risk, I am not responsible for dataloss! +> +> Please make sure you always have a backup! + 1. Find a directory which is named by game server name and contains all saved game data, usually it will at `~/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0/` -3. Make sure `migration/migrate.sh`, saved game data directory and mounted volume (e.g. `palworld/`) are in the same directory. Like this: - +2. Make sure `migration/migrate.sh`, saved game data directory and mounted volume + (e.g. `palworld/`) are in the same directory. Like this: + ```shell ubuntu@VM-4-5-ubuntu:~/test-pal-migrate$ ll total 24 @@ -15,7 +21,7 @@ drwxrwxr-x 7 ubuntu ubuntu 4096 Jan 26 03:31 palworld/ ``` -5. Run `migrate.sh` like this +3. Run `migrate.sh` like this ```shell ./migrate.sh {CONTAINER_NAME} {SERVER_NAME} From 20380ad668258b846a2c6056b514ff4302c9dad4 Mon Sep 17 00:00:00 2001 From: Thijs van Loef Date: Fri, 26 Jan 2024 09:57:47 +0100 Subject: [PATCH 16/21] update funding page --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 3c96e73..4de9833 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,4 @@ # These are supported funding model platforms +github: thijsvanloef ko_fi: thijsvanloef From 7f8968d18fcaaa4d47b56280c01fe663fe43564a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B3=A0=EA=B8=88=ED=95=84?= Date: Fri, 26 Jan 2024 18:51:59 +0900 Subject: [PATCH 17/21] Update README.md Changing the docker-compose.yml redirect link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2af76b1..c001920 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Keep in mind that you'll need to change the [environment variables](#environment ### Docker Compose -This repository includes an example [docker-compose.yml](example/docker-compose.yml) file you can use to setup your server. +This repository includes an example [docker-compose.yml](/docker-compose.yml) file you can use to setup your server. ```yml services: From 6f5a467c7d510dc976fba0b3a4525a8a5f65a051 Mon Sep 17 00:00:00 2001 From: Thijs van Loef Date: Fri, 26 Jan 2024 11:07:43 +0100 Subject: [PATCH 18/21] add manual steps --- migration/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/migration/README.md b/migration/README.md index cf73b07..9d97d33 100644 --- a/migration/README.md +++ b/migration/README.md @@ -1,5 +1,7 @@ # Migrate From Existing Server +## Using the script + > [!WARNING] > Use this script at your own risk, I am not responsible for dataloss! > @@ -32,3 +34,14 @@ ```shell ./migrate.sh test-pal-migrate 74406BE1D7B54114AA5984CCF1236865 ``` + +## Manually + +1. Copy the save from your old dedicated server to your new dedicated server. +2. In the `PalServer\Pal\Saved\Config\LinuxServer\GameUserSettings.ini` file of the **new** server, + change the `DedicatedServerName` to match your save's folder name. For example, + if your save's folder name is `2E85FD38BAA792EB1D4C09386F3A3CDA`, the DedicatedServerName changes to + DedicatedServerName=`2E85FD38BAA792EB1D4C09386F3A3CDA`. +3. Delete the entire new server save at `PalServer\Pal\Saved\SaveGames\0\`, + and replace it with the folder from the old server. +4. Restart the new server From fa191b39628b085ab569057a7d3e4c7ed8cd6986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B3=A0=EA=B8=88=ED=95=84?= Date: Fri, 26 Jan 2024 19:13:40 +0900 Subject: [PATCH 19/21] Update README.md Added caveats for Boolean type environment variable options. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 3cde21b..a55f5fa 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,11 @@ It is highly recommended you set the following environment values before startin *** Required for docker stop to save and gracefully close the server +> [!IMPORTANT] +> Boolean values used in environment variables are case sensitive because they are used in the shell script. +> +> They must be set using exactly true or false for the option to take effect. + ### Game Ports | Port | Info | From 359af3cdee4d79ae3747a6de197d6b0a16427d4f Mon Sep 17 00:00:00 2001 From: Thijs van Loef <58031337+thijsvanloef@users.noreply.github.com> Date: Fri, 26 Jan 2024 11:47:38 +0100 Subject: [PATCH 20/21] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a55f5fa..5628baa 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ It is highly recommended you set the following environment values before startin > [!IMPORTANT] > Boolean values used in environment variables are case sensitive because they are used in the shell script. > -> They must be set using exactly true or false for the option to take effect. +> They must be set using exactly `true` or `false` for the option to take effect. ### Game Ports From 84ce28850509328cef3075bb1c90179b8cd3b3d4 Mon Sep 17 00:00:00 2001 From: Thijs van Loef Date: Fri, 26 Jan 2024 13:00:14 +0100 Subject: [PATCH 21/21] Add Discord server --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 5628baa..8103b01 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,12 @@ ![Docker Pulls](https://img.shields.io/docker/pulls/thijsvanloef/palworld-server-docker) ![Docker Stars](https://img.shields.io/docker/stars/thijsvanloef/palworld-server-docker) ![Image Size](https://img.shields.io/docker/image-size/thijsvanloef/palworld-server-docker/latest) +![Discord](https://img.shields.io/discord/1200397673329594459?logo=discord&label=Discord&link=https%3A%2F%2Fdiscord.gg%2FUxBxStPAAE) [View on Docker Hub](https://hub.docker.com/r/thijsvanloef/palworld-server-docker) +[Chat with the community on Discord](https://discord.gg/UxBxStPAAE) + > [!TIP] > Unsure how to get started? Check out the [this guide I wrote!](https://tice.tips/containerization/palworld-server-docker/)