-
-
Notifications
You must be signed in to change notification settings - Fork 305
Commit
- Loading branch information
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,3 +3,22 @@ sidebar_position: 1 | |
--- | ||
|
||
# Kubernetes | ||
|
||
## Kubernetes | ||
Check failure on line 7 in docusaurus/docs/advanced/kubernetes.md GitHub Actions / Lint - MarkdownMultiple headings with the same content
|
||
|
||
All files you will need to deploy this container to kubernetes are located in the [k8s folder](https://github.com/thijsvanloef/palworld-server-docker/tree/main/k8s). | ||
|
||
# Setup Palworld in kubernetes | ||
Check failure on line 11 in docusaurus/docs/advanced/kubernetes.md GitHub Actions / Lint - MarkdownMultiple top-level headings in the same document
|
||
|
||
Use the following commands to setup this Palworld container in Kubernetes: | ||
|
||
* `kubectl apply -f pvc.yaml` | ||
* `kubectl apply -f configmap.yaml` | ||
* `kubectl apply -f secret.yaml` | ||
* `kubectl apply -f service.yaml` | ||
* `kubectl apply -f deployment.yaml` | ||
|
||
|
||
Check failure on line 21 in docusaurus/docs/advanced/kubernetes.md GitHub Actions / Lint - MarkdownMultiple consecutive blank lines
|
||
## Using helm chart | ||
|
||
The official helm chart can be found in a seperate repository, [palworld-server-chart](https://github.com/Twinki14/palworld-server-chart) | ||
Check failure on line 24 in docusaurus/docs/advanced/kubernetes.md GitHub Actions / Lint - MarkdownFiles should end with a single newline character
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,11 @@ slug: / | |
|
||
Let's get you on your way with the Palworld Dedicated server! | ||
|
||
:::warning | ||
At the moment, Xbox Gamepass/Xbox Console players will not be able to join a dedicated server. | ||
|
||
They will need to join players using the invite code and are limited to sessions of 4 players max. | ||
::: | ||
## Server Requirements | ||
Check failure on line 15 in docusaurus/docs/getting-started/quick-setup.md GitHub Actions / Lint - MarkdownHeadings should be surrounded by blank lines
|
||
|
||
| Resource | Minimum | Recommended | | ||
|
@@ -17,7 +22,7 @@ Let's get you on your way with the Palworld Dedicated server! | |
|
||
## Docker Compose | ||
|
||
This repository includes an example [docker-compose.yml](/docker-compose.yml) file you can use to set up your server. | ||
This repository includes an example [docker-compose.yml](https://github.com/thijsvanloef/palworld-server-docker/blob/main/docker-compose.yml) file you can use to set up your server. | ||
Check failure on line 25 in docusaurus/docs/getting-started/quick-setup.md GitHub Actions / Lint - MarkdownLine length
|
||
|
||
```yml | ||
services: | ||
|
@@ -47,9 +52,9 @@ services: | |
- ./palworld:/palworld/ | ||
``` | ||
As an alternative, you can copy the [.env.example](.env.example) file to a new file called **.env** file. | ||
As an alternative, you can copy the [.env.example](https://github.com/thijsvanloef/palworld-server-docker/blob/main/.env.example) file to a new file called **.env** file. | ||
Modify it to your needs, check out the [environment variables](#environment-variables) section to check the correct | ||
values. Modify your [docker-compose.yml](docker-compose.yml) to this: | ||
values. Modify your [docker-compose.yml](https://github.com/thijsvanloef/palworld-server-docker/blob/main/docker-compose.yml) to this: | ||
```yml | ||
services: | ||
|
@@ -93,7 +98,7 @@ docker run -d \ | |
thijsvanloef/palworld-server-docker:latest # Use the latest-arm64 tag for arm64 hosts | ||
``` | ||
|
||
As an alternative, you can copy the [.env.example](.env.example) file to a new file called **.env** file. | ||
As an alternative, you can copy the [.env.example](https://github.com/thijsvanloef/palworld-server-docker/blob/main/.env.example) file to a new file called **.env** file. | ||
Modify it to your needs, check out the [environment variables](#environment-variables) section to check the | ||
correct values. Change your docker run command to this: | ||
|
||
|
@@ -108,3 +113,12 @@ docker run -d \ | |
--stop-timeout 30 \ | ||
thijsvanloef/palworld-server-docker:latest # Use the latest-arm64 tag for arm64 hosts | ||
``` | ||
## Starting the server | ||
|
||
Use `docker compose up -d` to start the server in the background | ||
|
||
## Stopping the server | ||
|
||
Use `docker compose stop` to stop the server | ||
|
||
Use `docker compose down --rmi all` to stop and remove the server and remove the docker image from your computer |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
sidebar_position: 4 | ||
--- | ||
|
||
# Automatic Reboots | ||
|
||
## Configuring Automatic Reboots with Cron | ||
|
||
To be able to use automatic reboots with this server `RCON_ENABLED` enabled. | ||
|
||
:::warning | ||
|
||
If docker restart is not set to policy `always` or `unless-stopped` then the server will shutdown and will need to be manually restarted. | ||
|
||
The example docker run command and docker compose file in [How to Use](#how-to-use) already use the needed policy | ||
::: | ||
|
||
Set `AUTO_REBOOT_ENABLED` enable or disable automatic reboots (Default is disabled) | ||
|
||
`AUTO_REBOOT_CRON_EXPRESSION` is a cron expression, in a Cron-Expression you define an interval for when to run jobs. | ||
|
||
:::tip | ||
This image uses Supercronic for crons | ||
see [supercronic](https://github.com/aptible/supercronic#crontab-format) | ||
or [Crontab Generator](https://crontab-generator.org). | ||
::: | ||
Set `AUTO_REBOOT_CRON_EXPRESSION` to change the set the schedule, default is everynight at midnight according to the | ||
timezone set with TZ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
--- | ||
sidebar_position: 5 | ||
--- | ||
|
||
# Automatic Updates | ||
|
||
## Configuring Automatic Updates with Cron | ||
|
||
To be able to use automatic Updates with this Server the following environment variables **have** to be set to `true`: | ||
|
||
* `RCON_ENABLED` | ||
* `UPDATE_ON_BOOT` | ||
|
||
:::warning | ||
If docker restart is not set to policy `always` or `unless-stopped` | ||
then the server will shutdown and will need to be manually restarted. | ||
|
||
The example docker run command and docker compose file in [How to Use](#how-to-use) | ||
already use the needed policy | ||
::: | ||
|
||
Set `AUTO_UPDATE_ENABLED` enable or disable automatic updates (Default is disabled) | ||
|
||
`AUTO_UPDATE_CRON_EXPRESSION` is a cron expression, in a Cron-Expression you define an interval for when to run jobs. | ||
|
||
:::tip | ||
This image uses Supercronic for crons | ||
see [supercronic](https://github.com/aptible/supercronic#crontab-format) | ||
or [Crontab Generator](https://crontab-generator.org). | ||
::: | ||
|
||
Set `AUTO_UPDATE_CRON_EXPRESSION` to change the default schedule. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- | ||
sidebar_position: 3 | ||
--- | ||
|
||
# Configure automated backups | ||
|
||
The server is automatically backed up everynight at midnight according to the timezone set with TZ | ||
|
||
Set BACKUP_ENABLED enable or disable automatic backups (Default is enabled) | ||
|
||
BACKUP_CRON_EXPRESSION is a cron expression, in a Cron-Expression you define an interval for when to run jobs. | ||
|
||
:::tip | ||
This image uses Supercronic for crons | ||
see [supercronic](https://github.com/aptible/supercronic#crontab-format) | ||
or [Crontab Generator](https://crontab-generator.org). | ||
::: | ||
|
||
Set BACKUP_CRON_EXPRESSION to change the default schedule. | ||
|
||
**Example Usage**: If BACKUP_CRON_EXPRESSION to `0 2 * * *`, the backup script will run every day at 2:00 AM. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# 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/` | ||
|
||
The server will run a save before the backup if rcon is enabled. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
--- | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Restoring a backup | ||
|
||
## Interactively restore from a backup | ||
|
||
To restore from a backup, use the command: | ||
|
||
```bash | ||
docker exec -it palworld-server restore | ||
``` | ||
|
||
The `RCON_ENABLED` environment variable must be set to `true` to use this command. | ||
:::warning | ||
If docker restart is not set to policy `always` or `unless-stopped` then the server will shutdown and will need to be manually restarted. | ||
|
||
The example docker run command and docker compose file in [How to Use](#how-to-use) already uses the needed policy | ||
::: | ||
|
||
## Manually restore from a backup | ||
|
||
Locate the backup you want to restore in `/palworld/backups/` and decompress it. | ||
Need to stop the server before task. | ||
|
||
```bash | ||
docker compose down | ||
``` | ||
|
||
Delete the old saved data folder located at `palworld/Pal/Saved/SaveGames/0/<old_hash_value>`. | ||
|
||
Copy the contents of the newly decompressed saved data folder `Saved/SaveGames/0/<new_hash_value>` to `palworld/Pal/Saved/SaveGames/0/<new_hash_value>`. | ||
|
||
Replace the DedicatedServerName inside `palworld/Pal/Saved/Config/LinuxServer/GameUserSettings.ini` with the new folder name. | ||
|
||
```ini | ||
DedicatedServerName=<new_hash_value> # Replace it with your folder name. | ||
``` | ||
|
||
Restart the game. (If you are using Docker Compose) | ||
|
||
```bash | ||
docker compose up -d | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Using discord webhooks | ||
|
||
1. Generate a webhook url for your discord server in your discord's server settings. | ||
|
||
2. Set the environment variable with the unique token at the end of the discord webhook url example: `https://discord.com/api/webhooks/1234567890/abcde` | ||
|
||
send discord messages with docker run: | ||
|
||
```sh | ||
-e DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/1234567890/abcde" \ | ||
-e DISCORD_PRE_UPDATE_BOOT_MESSAGE="Server is updating..." \ | ||
``` | ||
|
||
send discord messages with docker compose: | ||
|
||
```yaml | ||
- DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/1234567890/abcde | ||
- DISCORD_PRE_UPDATE_BOOT_MESSAGE=Server is updating... | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
--- | ||
sidebar_position: 4 | ||
--- | ||
|
||
# Known Issues | ||
|
||
## Broadcast command can only send 1 word | ||
|
||
When using Broadcast among RCON's functions, only one word is transmitted. | ||
|
||
As an example, if I use: | ||
|
||
`docker exec -it palworld-server rcon-cli Broadcast "Hello world"` | ||
|
||
only Hello is transmitted. | ||
|
||
## XBox GamePass players unable to join | ||
|
||
At the moment, Xbox Gamepass/Xbox Console players will not be able to join a dedicated server. | ||
|
||
They will need to join players using the invite code and are limited to sessions of 4 players max. | ||
|
||
## [S_API FAIL] | ||
|
||
The server will sometimes output the following error: | ||
```bash | ||
[S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded. | ||
[S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded. | ||
[S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded. | ||
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded. | ||
``` | ||
|
||
This can safely be ignored and will not impact the server. | ||
|
||
## Setting breakpad minidump AppID = 2394010 | ||
|
||
This means that the server is up and running, if you still can't connect to it, it means that you'll need to look at the following: | ||
|
||
* Firewall settings, make sure that you allow port 8211/udp and 27015/udp through your firewall | ||
* Make sure you've correctly port forwarded your 8211/udp 27015/udp | ||
|
||
## FAQ | ||
|
||
A useful FAQ that gets updated regularly: | ||
|
||
https://gist.github.com/Toakan/3c78a577c21a21fcc5fa917f3021d70e#file-palworld-server-faq-community-md |