Skip to content

Commit

Permalink
separate table for arm64-only env vars
Browse files Browse the repository at this point in the history
  • Loading branch information
sonroyaalmerol authored Jul 7, 2024
1 parent 729693f commit cb7701b
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 28 deletions.
14 changes: 7 additions & 7 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,10 @@ USE_DEPOT_DOWNLOADER=False
INSTALL_BETA_INSIDER=False

# Box64 Configs (Only relevant for ARM64 hosts)
# These can be adjusted if server keeps on crashing.
BOX64_DYNAREC_STRONGMEM=1
BOX64_DYNAREC_BIGBLOCK=1
BOX64_DYNAREC_SAFEFLAGS=1
BOX64_DYNAREC_FASTROUND=1
BOX64_DYNAREC_FASTNAN=1
BOX64_DYNAREC_X87DOUBLE=0
# These can be adjusted if the server keeps on crashing.
BOX64_DYNAREC_STRONGMEM=1 # This can be set to 2 or 3 with 3 being the most stable but worst performance.
BOX64_DYNAREC_BIGBLOCK=1 # This can be set to 0 for better stability but worse performance.
BOX64_DYNAREC_SAFEFLAGS=1 # This can be set to 2 for better stability but worse performance.
BOX64_DYNAREC_FASTROUND=1 # This can be set to 0 for better stability but worse performance.
BOX64_DYNAREC_FASTNAN=1 # This can be set to 0 for better stability but worse performance.
BOX64_DYNAREC_X87DOUBLE=0 # This can be set to 1 for better stability but worse performance.
29 changes: 22 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,6 @@ This container has also been tested and will work on both `x64` and `ARM64` base

## How to use

> [!TIP]
> For best compatibility with **Apple Silicon**, set `ARM64_DEVICE` to `m1`.
> For best compatibility with **Oracle ARM**, set `ARM64_DEVICE` to `adlink`.
> For best compatibility with **Raspberry Pi 5**, set `ARM64_DEVICE` to `rpi5`.
Keep in mind that you'll need to change the [environment variables](#environment-variables).

### Docker Compose
Expand Down Expand Up @@ -290,15 +285,35 @@ It is highly recommended you set the following environment values before startin
| DISABLE_GENERATE_ENGINE | Whether to automatically generate the Engine.ini | true | true/false | 0.30.0 |
| ENABLE_PLAYER_LOGGING | Enables Logging and announcing when players join and leave | true | true/false | 0.31.0 |
| PLAYER_LOGGING_POLL_PERIOD | Polling period (in seconds) to check for players who have joined or left | 5 | !0 | 0.31.0 |
| ARM64_DEVICE | Specify Box64 build to be used based on host device. This setting is only applicable for ARM64 hosts. | generic | generic, m1, rpi5, adlink | 0.39.0 |
| USE_DEPOT_DOWNLOADER | Uses DepotDownloader to download game server files instead of steamcmd. This will help hosts incompatible with steamcmd (e.g. M-series Mac) | false | true/false | 0.39.0 |

*highly recommended to set

** Make sure you know what you are doing when running this option enabled

*** Required for docker stop to save and gracefully close the server

### ARM64-exclusive environment variables

ARM64 hosts can use the following variables to tweak their server setup. This includes known relevant Box64 configurations one can modify for better server stability/performance.

Check failure on line 297 in README.md

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Line length

README.md:297:121 MD013/line-length Line length [Expected: 120; Actual: 178] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md013.md

For the Box64 configurations, please see their [USAGE](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md) documentation for more info.

Check failure on line 299 in README.md

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Line length

README.md:299:121 MD013/line-length Line length [Expected: 120; Actual: 141] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md013.md

> [!TIP]
> For best compatibility with **Apple Silicon**, set `ARM64_DEVICE` to `m1`.
> For best compatibility with **Oracle ARM**, set `ARM64_DEVICE` to `adlink`.
> For best compatibility with **Raspberry Pi 5**, set `ARM64_DEVICE` to `rpi5`.
| Variable | Info | Default Values | Allowed Values | Added in Version |
|--------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|------------------|
| BOX64_DYNAREC_STRONGMEM | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Enable/Disable simulation of Strong Memory model | 1 | 0, 1, 2,3 | 0.23.0 |
| BOX64_DYNAREC_BIGBLOCK | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Enables/Disables Box64's Dynarec building BigBlock. | 1 | 0, 1, 2, 3 | 0.23.0 |
| BOX64_DYNAREC_SAFEFLAGS | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Handling of flags on CALL/RET opcodes | 1 | 0, 1, 2 | 0.23.0 |
| BOX64_DYNAREC_FASTROUND | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Enable/Disable generation of precise x86 rounding | 1 | 0, 1 | 0.23.0 |
| BOX64_DYNAREC_FASTNAN | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Enable/Disable generation of -NAN | 1 | 0, 1 | 0.23.0 |
| BOX64_DYNAREC_X87DOUBLE | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Force the use of Double for x87 emulation | 0 | 0, 1 | 0.23.0 |
| ARM64_DEVICE | Specify Box64 build to be used based on host device. This setting is only applicable for ARM64 hosts. | generic | generic, m1, rpi5, adlink | 0.39.0 |
| USE_DEPOT_DOWNLOADER | Uses DepotDownloader to download game server files instead of steamcmd. This will help hosts incompatible with steamcmd (e.g. M-series Mac) | false | true/false | 0.39.0 |

### Game Ports

| Port | Info |
Expand Down
31 changes: 23 additions & 8 deletions docusaurus/docs/getting-started/configuration/server-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@ sidebar_label: Server Settings

How to change the Palworld Server Settings using Docker Environment variables.

:::tip
For best compatibility with **Apple Silicon**, set `ARM64_DEVICE` to `m1`.
For best compatibility with **Oracle ARM**, set `ARM64_DEVICE` to `adlink`.
For best compatibility with **Raspberry Pi 5**, set `ARM64_DEVICE` to `rpi5`.
:::

## Environment variables

You can use the following values to change the settings of the server on boot.
Expand Down Expand Up @@ -107,15 +101,36 @@ It is highly recommended you set the following environment values before startin
| DISABLE_GENERATE_ENGINE | Whether to automatically generate the Engine.ini | true | true/false | 0.30.0 |
| ENABLE_PLAYER_LOGGING | Enables Logging and announcing when players join and leave | true | true/false | 0.31.0 |
| PLAYER_LOGGING_POLL_PERIOD | Polling period (in seconds) to check for players who have joined or left | 5 | !0 | 0.31.0 |
| ARM64_DEVICE | Specify Box64 build to be used based on host device. This setting is only applicable for ARM64 hosts. | generic | generic, m1, rpi5, adlink | 0.39.0 |
| USE_DEPOT_DOWNLOADER | Uses DepotDownloader to download game server files instead of steamcmd. This will help hosts incompatible with steamcmd (e.g. M-series Mac) | false | true/false | 0.39.0 |

*highly recommended to set

** Make sure you know what you are doing when running this option enabled

*** Required for docker stop to save and gracefully close the server

## ARM64-exclusive environment variables

ARM64 hosts can use the following variables to tweak their server setup. This includes
known relevant Box64 configurations one can modify for better server stability/performance.
For the Box64 configurations, please see their [USAGE](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md) documentation for more info.

Check failure on line 115 in docusaurus/docs/getting-started/configuration/server-settings.md

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Line length

docusaurus/docs/getting-started/configuration/server-settings.md:115:121 MD013/line-length Line length [Expected: 120; Actual: 141] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md013.md

:::tip
For best compatibility with **Apple Silicon**, set `ARM64_DEVICE` to `m1`.
For best compatibility with **Oracle ARM**, set `ARM64_DEVICE` to `adlink`.
For best compatibility with **Raspberry Pi 5**, set `ARM64_DEVICE` to `rpi5`.
:::

| Variable | Info | Default Values | Allowed Values | Added in Version |
|--------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|------------------|
| BOX64_DYNAREC_STRONGMEM | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Enable/Disable simulation of Strong Memory model | 1 | 0, 1, 2,3 | 0.23.0 |
| BOX64_DYNAREC_BIGBLOCK | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Enables/Disables Box64's Dynarec building BigBlock. | 1 | 0, 1, 2, 3 | 0.23.0 |
| BOX64_DYNAREC_SAFEFLAGS | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Handling of flags on CALL/RET opcodes | 1 | 0, 1, 2 | 0.23.0 |
| BOX64_DYNAREC_FASTROUND | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Enable/Disable generation of precise x86 rounding | 1 | 0, 1 | 0.23.0 |
| BOX64_DYNAREC_FASTNAN | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Enable/Disable generation of -NAN | 1 | 0, 1 | 0.23.0 |
| BOX64_DYNAREC_X87DOUBLE | [[Box64 config](https://github.com/ptitSeb/box64/blob/main/docs/USAGE.md)] Force the use of Double for x87 emulation | 0 | 0, 1 | 0.23.0 |
| ARM64_DEVICE | Specify Box64 build to be used based on host device. This setting is only applicable for ARM64 hosts. | generic | generic, m1, rpi5, adlink | 0.39.0 |
| USE_DEPOT_DOWNLOADER | Uses DepotDownloader to download game server files instead of steamcmd. This will help hosts incompatible with steamcmd (e.g. M-series Mac) | false | true/false | 0.39.0 |

### Game Ports

The server needs the following ports by default.
Expand Down
6 changes: 0 additions & 6 deletions docusaurus/docs/getting-started/quick-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,6 @@ Looking to host a server for Xbox players? [Follow this guide here!](https://pal

## Docker Compose

:::tip
For best compatibility with **Apple Silicon**, set `ARM64_DEVICE` to `m1`.
For best compatibility with **Oracle ARM**, set `ARM64_DEVICE` to `adlink`.
For best compatibility with **Raspberry Pi 5**, set `ARM64_DEVICE` to `rpi5`.
:::

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.
Expand Down
2 changes: 2 additions & 0 deletions docusaurus/docs/known-issues/known-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,11 @@ See [Box64 usage documentation](https://github.com/ptitSeb/box64/blob/main/docs/
Also, the container should have multiple Box64 variants for different host devices. This can be set using the `ARM64_DEVICE`
environment variable.

:::tip
For best compatibility with **Apple Silicon**, set `ARM64_DEVICE` to `m1`.
For best compatibility with **Oracle ARM**, set `ARM64_DEVICE` to `adlink`.
For best compatibility with **Raspberry Pi 5**, set `ARM64_DEVICE` to `rpi5`.
:::

These builds are from the [ARM64 base image](https://github.com/sonroyaalmerol/steamcmd-arm64). If your device is not listed
above, consider creating an issue on the base image's repository.
Expand Down

0 comments on commit cb7701b

Please sign in to comment.