Skip to content

Commit

Permalink
fill docusaurus with info
Browse files Browse the repository at this point in the history
  • Loading branch information
thijsvanloef committed Feb 11, 2024
1 parent ff5e4e7 commit 9480a39
Show file tree
Hide file tree
Showing 10 changed files with 247 additions and 9 deletions.
5 changes: 0 additions & 5 deletions docusaurus/docs/advanced/helm.md

This file was deleted.

19 changes: 19 additions & 0 deletions docusaurus/docs/advanced/kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,22 @@ sidebar_position: 1
---

# Kubernetes

## Kubernetes

Check failure on line 7 in docusaurus/docs/advanced/kubernetes.md

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Multiple headings with the same content

docusaurus/docs/advanced/kubernetes.md:7 MD024/no-duplicate-heading Multiple headings with the same content [Context: "## Kubernetes"] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md024.md

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

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Multiple top-level headings in the same document

docusaurus/docs/advanced/kubernetes.md:11 MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "# Setup Palworld in kubernetes"] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md025.md

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

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Multiple consecutive blank lines

docusaurus/docs/advanced/kubernetes.md:21 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md012.md
## 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

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Files should end with a single newline character

docusaurus/docs/advanced/kubernetes.md:24:137 MD047/single-trailing-newline Files should end with a single newline character https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md047.md
22 changes: 18 additions & 4 deletions docusaurus/docs/getting-started/quick-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Headings should be surrounded by blank lines

docusaurus/docs/getting-started/quick-setup.md:15 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Above] [Context: "## Server Requirements"] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md022.md

| Resource | Minimum | Recommended |
Expand All @@ -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

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Line length

docusaurus/docs/getting-started/quick-setup.md:25:121 MD013/line-length Line length [Expected: 120; Actual: 181] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md013.md

```yml
services:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:

Expand All @@ -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
28 changes: 28 additions & 0 deletions docusaurus/docs/guides/automatic-reboots.md
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
32 changes: 32 additions & 0 deletions docusaurus/docs/guides/automatic-updates.md
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.
21 changes: 21 additions & 0 deletions docusaurus/docs/guides/backup/automated-backup.md
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.
15 changes: 15 additions & 0 deletions docusaurus/docs/guides/backup/creating-backup.md
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.
45 changes: 45 additions & 0 deletions docusaurus/docs/guides/backup/restoring-backup.md
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
```
23 changes: 23 additions & 0 deletions docusaurus/docs/guides/discord/discord-webhooks.md
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...
```
46 changes: 46 additions & 0 deletions docusaurus/docs/known-issues/known-issues.md
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

0 comments on commit 9480a39

Please sign in to comment.