diff --git a/.env.example b/.env.example index 76341494f..7b44554ac 100644 --- a/.env.example +++ b/.env.example @@ -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 \ No newline at end of file +# 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. \ No newline at end of file diff --git a/README.md b/README.md index 486c9ff47..b208db0d0 100644 --- a/README.md +++ b/README.md @@ -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 @@ -290,8 +285,6 @@ 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 @@ -299,6 +292,28 @@ It is highly recommended you set the following environment values before startin *** 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. + +> [!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 | diff --git a/docusaurus/docs/getting-started/configuration/server-settings.md b/docusaurus/docs/getting-started/configuration/server-settings.md index 081e1c0d3..2ec99af35 100644 --- a/docusaurus/docs/getting-started/configuration/server-settings.md +++ b/docusaurus/docs/getting-started/configuration/server-settings.md @@ -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. @@ -107,8 +101,6 @@ 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 @@ -116,6 +108,29 @@ It is highly recommended you set the following environment values before startin *** 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. + +:::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. diff --git a/docusaurus/docs/getting-started/quick-setup.md b/docusaurus/docs/getting-started/quick-setup.md index a3803ab2d..16dc9a410 100644 --- a/docusaurus/docs/getting-started/quick-setup.md +++ b/docusaurus/docs/getting-started/quick-setup.md @@ -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. diff --git a/docusaurus/docs/known-issues/known-issues.md b/docusaurus/docs/known-issues/known-issues.md index f6dea30f4..e82d2e9a4 100644 --- a/docusaurus/docs/known-issues/known-issues.md +++ b/docusaurus/docs/known-issues/known-issues.md @@ -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.