mirror of
https://github.com/YuzuZensai/palworld-server-docker.git
synced 2026-01-06 04:32:43 +00:00
- Changed the way container handles environment variables;
- Now a env-file is present to make setup more clean to execute; - Added the grace period to the docker run command; - Updated the docs to reflect this new suggestions;
This commit is contained in:
72
.env.example
Normal file
72
.env.example
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
TZ="UTC"
|
||||||
|
PLAYERS="16"
|
||||||
|
PORT="8211"
|
||||||
|
PUID="1000"
|
||||||
|
PGID="1000"
|
||||||
|
MULTITHREADING="false"
|
||||||
|
COMMUNITY="false"
|
||||||
|
PUBLIC_IP=""
|
||||||
|
PUBLIC_PORT=""
|
||||||
|
SERVER_NAME=""
|
||||||
|
SERVER_DESCRIPTION=""
|
||||||
|
SERVER_PASSWORD=""
|
||||||
|
ADMIN_PASSWORD=""
|
||||||
|
UPDATE_ON_BOOT="true"
|
||||||
|
RCON_ENABLED="true"
|
||||||
|
RCON_PORT="25575"
|
||||||
|
QUERY_PORT="27015"
|
||||||
|
|
||||||
|
|
||||||
|
DIFFICULTY="None"
|
||||||
|
DAYTIME_SPEEDRATE="1.000000"
|
||||||
|
NIGHTTIME_SPEEDRATE="1.000000"
|
||||||
|
EXP_RATE="1.000000"
|
||||||
|
PAL_CAPTURE_RATE="1.000000"
|
||||||
|
PAL_SPAWN_NUM_RATE="1.000000"
|
||||||
|
PAL_DAMAGE_RATE_ATTACK="1.000000"
|
||||||
|
PAL_DAMAGE_RATE_DEFENSE="1.000000"
|
||||||
|
PLAYER_DAMAGE_RATE_ATTACK="1.000000"
|
||||||
|
PLAYER_DAMAGE_RATE_DEFENSE="1.000000"
|
||||||
|
PLAYER_STOMACH_DECREASE_RATE="1.000000"
|
||||||
|
PLAYER_STAMINA_DECREASE_RATE="1.000000"
|
||||||
|
PLAYER_AUTO_HP_REGEN_RATE="1.000000"
|
||||||
|
PLAYER_AUTO_HP_REGEN_RATE_IN_SLEEP="1.000000"
|
||||||
|
PAL_STOMACH_DECREASE_RATE="1.000000"
|
||||||
|
PAL_STAMINA_DECREASE_RATE="1.000000"
|
||||||
|
PAL_AUTO_HP_REGEN_RATE="1.000000"
|
||||||
|
PAL_AUTO_HP_REGEN_RATE_IN_SLEEP="1.000000"
|
||||||
|
BUILD_OBJECT_DAMAGE_RATE="1.000000"
|
||||||
|
BUILD_OBJECT_DETERIORATION_DAMAGE_RATE="1.000000"
|
||||||
|
COLLECTION_DROP_RATE="1.000000"
|
||||||
|
COLLECTION_OBJECT_HP_RATE="1.000000"
|
||||||
|
COLLECTION_OBJECT_RESPAWN_SPEED_RATE="1.000000"
|
||||||
|
ENEMY_DROP_ITEM_RATE="1.000000"
|
||||||
|
DEATH_PENALTY="All"
|
||||||
|
ENABLE_PLAYER_TO_PLAYER_DAMAGE="False"
|
||||||
|
ENABLE_FRIENDLY_FIRE="False"
|
||||||
|
ENABLE_INVADER_ENEMY="True"
|
||||||
|
ACTIVE_UNKO="False"
|
||||||
|
ENABLE_AIM_ASSIST_PAD="True"
|
||||||
|
ENABLE_AIM_ASSIST_KEYBOARD="False"
|
||||||
|
DROP_ITEM_MAX_NUM="3000"
|
||||||
|
DROP_ITEM_MAX_NUM_UNKO="100"
|
||||||
|
BASE_CAMP_MAX_NUM="128"
|
||||||
|
BASE_CAMP_WORKER_MAXNUM="15"
|
||||||
|
DROP_ITEM_ALIVE_MAX_HOURS="1.000000"
|
||||||
|
AUTO_RESET_GUILD_NO_ONLINE_PLAYERS="False"
|
||||||
|
AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS="72.00000"
|
||||||
|
GUILD_PLAYER_MAX_NUM="20"
|
||||||
|
PAL_EGG_DEFAULT_HATCHING_TIME="72.00000"
|
||||||
|
WORK_SPEED_RATE="1.000000"
|
||||||
|
IS_MULTIPLAY="False"
|
||||||
|
IS_PVP="False"
|
||||||
|
CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP="False"
|
||||||
|
ENABLE_NON_LOGIN_PENALTY="True"
|
||||||
|
ENABLE_FAST_TRAVEL="True"
|
||||||
|
IS_START_LOCATION_SELECT_BY_MAP="True"
|
||||||
|
EXIST_PLAYER_AFTER_LOGOUT="False"
|
||||||
|
ENABLE_DEFENSE_OTHER_GUILD_PLAYER="False"
|
||||||
|
COOP_PLAYER_MAX_NUM="4"
|
||||||
|
REGION=""
|
||||||
|
USEAUTH="True"
|
||||||
|
BAN_LIST_URL="https://api.palworldgame.com/api/banlist.txt"
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@ palworld
|
|||||||
.idea
|
.idea
|
||||||
!charts/*
|
!charts/*
|
||||||
values*.yaml
|
values*.yaml
|
||||||
|
.env
|
||||||
62
README.md
62
README.md
@@ -14,7 +14,7 @@
|
|||||||
[English](/README.md) | [한국어](/docs/kr/README.md) | [简体中文](/docs/zh-CN/README.md)
|
[English](/README.md) | [한국어](/docs/kr/README.md) | [简体中文](/docs/zh-CN/README.md)
|
||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> Unsure how to get started? Check out the [this guide I wrote!](https://tice.tips/containerization/palworld-server-docker/)
|
> Unsure how to get started? Check out [this guide I wrote!](https://tice.tips/containerization/palworld-server-docker/)
|
||||||
|
|
||||||
This is a Docker container to help you get started with hosting your own
|
This is a Docker container to help you get started with hosting your own
|
||||||
[Palworld](https://store.steampowered.com/app/1623730/Palworld/) dedicated server.
|
[Palworld](https://store.steampowered.com/app/1623730/Palworld/) dedicated server.
|
||||||
@@ -22,7 +22,7 @@ This is a Docker container to help you get started with hosting your own
|
|||||||
This Docker container has been tested and will work on both Linux (Ubuntu/Debian) and Windows 10.
|
This Docker container has been tested and will work on both Linux (Ubuntu/Debian) and Windows 10.
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> At the moment, Xbox Gamepass/Xbox Console players will not be able to join a dedicated server.
|
> 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.
|
> They will need to join players using the invite code and are limited to sessions of 4 players max.
|
||||||
|
|
||||||
@@ -32,11 +32,12 @@ This Docker container has been tested and will work on both Linux (Ubuntu/Debian
|
|||||||
|----------|---------|------------------------------------------|
|
|----------|---------|------------------------------------------|
|
||||||
| CPU | 4 cores | 4+ cores |
|
| CPU | 4 cores | 4+ cores |
|
||||||
| RAM | 16GB | Recommend over 32GB for stable operation |
|
| RAM | 16GB | Recommend over 32GB for stable operation |
|
||||||
| Storage | 4GB | 12GB |
|
| Storage | 8GB | 20GB |
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
Keep in mind that you'll need to change the [environment variables](#environment-variables).
|
Copy the file [.env.example](.env.example) 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.
|
||||||
|
|
||||||
### Docker Compose
|
### Docker Compose
|
||||||
|
|
||||||
@@ -52,20 +53,8 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 8211:8211/udp
|
- 8211:8211/udp
|
||||||
- 27015:27015/udp
|
- 27015:27015/udp
|
||||||
environment:
|
env_file:
|
||||||
- PUID=1000
|
- .env
|
||||||
- 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
|
|
||||||
- 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"
|
|
||||||
- SERVER_DESCRIPTION="Awesome World of Pal"
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./palworld:/palworld/
|
- ./palworld:/palworld/
|
||||||
```
|
```
|
||||||
@@ -77,31 +66,15 @@ Change every <> to your own configuration
|
|||||||
```bash
|
```bash
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name palworld-server \
|
--name palworld-server \
|
||||||
|
--stop-timeout 30 \
|
||||||
-p 8211:8211/udp \
|
-p 8211:8211/udp \
|
||||||
-p 27015:27015/udp \
|
-p 27015:27015/udp \
|
||||||
-v ./<palworld-folder>:/palworld/ \
|
-v ./<palworld-folder>:/palworld/ \
|
||||||
-e PUID=1000 \
|
--env-file .env.example \
|
||||||
-e PGID=1000 \
|
|
||||||
-e PORT=8211 \
|
|
||||||
-e PLAYERS=16 \
|
|
||||||
-e MULTITHREADING=true \
|
|
||||||
-e RCON_ENABLED=true \
|
|
||||||
-e RCON_PORT=25575 \
|
|
||||||
-e TZ=UTC \
|
|
||||||
-e ADMIN_PASSWORD="adminPasswordHere" \
|
|
||||||
-e SERVER_PASSWORD="worldofpals" \
|
|
||||||
-e COMMUNITY=false \
|
|
||||||
-e SERVER_NAME="World of Pals" \
|
|
||||||
-e SERVER_DESCRIPTION="Awesome World of Pal" \
|
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
thijsvanloef/palworld-server-docker:latest
|
thijsvanloef/palworld-server-docker:latest
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!TIP]
|
|
||||||
> If you want to stop the container with a custom stop grace period then run:
|
|
||||||
> `docker stop --name palworld-server --time 30`
|
|
||||||
|
|
||||||
### Kubernetes
|
### Kubernetes
|
||||||
|
|
||||||
All files you will need to deploy this container to kubernetes are located in the [k8s folder](k8s/).
|
All files you will need to deploy this container to kubernetes are located in the [k8s folder](k8s/).
|
||||||
@@ -149,7 +122,7 @@ It is highly recommended you set the following environment values before startin
|
|||||||
*** Required for docker stop to save and gracefully close the server
|
*** Required for docker stop to save and gracefully close the server
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> Boolean values used in environment variables are case sensitive because they are used in the shell script.
|
> 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.
|
||||||
|
|
||||||
@@ -167,7 +140,13 @@ RCON is enabled by default for the palworld-server-docker image.
|
|||||||
Opening the RCON CLI is quite easy:
|
Opening the RCON CLI is quite easy:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker exec -it palworld-server rcon-cli
|
docker exec -it palworld-server rcon-cli "<command> <value>"
|
||||||
|
```
|
||||||
|
|
||||||
|
For example, you can broadcast a message to everyone in the server with the following command:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker exec -it palworld-server rcon-cli "Broadcast Hello everyone"
|
||||||
```
|
```
|
||||||
|
|
||||||
This will open a CLI that uses RCON to write commands to the Palworld Server.
|
This will open a CLI that uses RCON to write commands to the Palworld Server.
|
||||||
@@ -207,10 +186,11 @@ The server will run a save before the backup if rcon is enabled.
|
|||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
>
|
>
|
||||||
> These Environment Variables/Settings are subject to change since the game is still in beta
|
> These Environment Variables/Settings are subject to change since the game is still in beta.
|
||||||
|
> Check out the [official webpage for the supported parameters.](https://tech.palworldgame.com/optimize-game-balance)
|
||||||
|
|
||||||
| Variable | Description | Default Value | Allowed Value |
|
| Variable | Description | Default Value | Allowed Value |
|
||||||
|-------------------------------------------|----------------------------------------------------------------|----------------------------------------------------------------------------------------------|----------------------------------------|
|
|-------------------------------------------|----------------------------------------------------------------------|----------------------------------------------------------------------------------------------|----------------------------------------|
|
||||||
| DIFFICULTY | Game Difficulty | None | `None`,`Normal`,`Difficult` |
|
| DIFFICULTY | Game Difficulty | None | `None`,`Normal`,`Difficult` |
|
||||||
| DAYTIME_SPEEDRATE | Day time speed - Smaller number means shorter days | 1.000000 | Float |
|
| DAYTIME_SPEEDRATE | Day time speed - Smaller number means shorter days | 1.000000 | Float |
|
||||||
| NIGHTTIME_SPEEDRATE | Night time speed - Smaller number means shorter nights | 1.000000 | Float |
|
| NIGHTTIME_SPEEDRATE | Night time speed - Smaller number means shorter nights | 1.000000 | Float |
|
||||||
@@ -261,7 +241,7 @@ The server will run a save before the backup if rcon is enabled.
|
|||||||
| EXIST_PLAYER_AFTER_LOGOUT | Toggle for deleting players when they log off | False | Boolean |
|
| EXIST_PLAYER_AFTER_LOGOUT | Toggle for deleting players when they log off | False | Boolean |
|
||||||
| ENABLE_DEFENSE_OTHER_GUILD_PLAYER | Allows defense against other guild players | False | Boolean |
|
| ENABLE_DEFENSE_OTHER_GUILD_PLAYER | Allows defense against other guild players | False | Boolean |
|
||||||
| COOP_PLAYER_MAX_NUM | Maximum number of players in a guild | 4 | Integer |
|
| COOP_PLAYER_MAX_NUM | Maximum number of players in a guild | 4 | Integer |
|
||||||
| REGION | Region | | String |
|
| REGION | Region (is applied to the INI file but has no use in game right now) | | String |
|
||||||
| USEAUTH | Use authentication | True | Boolean |
|
| USEAUTH | Use authentication | True | Boolean |
|
||||||
| BAN_LIST_URL | Which ban list to use | [https://api.palworldgame.com/api/banlist.txt](https://api.palworldgame.com/api/banlist.txt) | string |
|
| BAN_LIST_URL | Which ban list to use | [https://api.palworldgame.com/api/banlist.txt](https://api.palworldgame.com/api/banlist.txt) | string |
|
||||||
|
|
||||||
|
|||||||
@@ -7,19 +7,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 8211:8211/udp
|
- 8211:8211/udp
|
||||||
- 27015:27015/udp # Required if you want your server to show up in the community servers tab
|
- 27015:27015/udp # Required if you want your server to show up in the community servers tab
|
||||||
environment:
|
env_file:
|
||||||
- PUID=1000
|
- .env.example
|
||||||
- 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
|
|
||||||
- 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"
|
|
||||||
- SERVER_DESCRIPTION=""
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./palworld:/palworld/
|
- ./palworld:/palworld/
|
||||||
|
|||||||
Reference in New Issue
Block a user