Merge pull request #201 from Filipe-Souza/update-doc-envfiles

- Update the way env variables are managed
This commit is contained in:
Thijs van Loef
2024-01-29 18:17:48 +01:00
committed by GitHub
3 changed files with 124 additions and 12 deletions

72
.env.example Normal file
View 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
View File

@@ -2,3 +2,4 @@ palworld
.idea
!charts/*
values*.yaml
.env

View File

@@ -15,7 +15,7 @@
[English](/README.md) | [한국어](/docs/kr/README.md) | [简体中文](/docs/zh-CN/README.md)
> [!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
[Palworld](https://store.steampowered.com/app/1623730/Palworld/) dedicated server.
@@ -23,7 +23,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.
> [!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.
@@ -33,7 +33,7 @@ This Docker container has been tested and will work on both Linux (Ubuntu/Debian
|----------|---------|------------------------------------------|
| CPU | 4 cores | 4+ cores |
| RAM | 16GB | Recommend over 32GB for stable operation |
| Storage | 4GB | 12GB |
| Storage | 8GB | 20GB |
## How to use
@@ -71,6 +71,26 @@ services:
- ./palworld:/palworld/
```
As an alternative, you can copy the [.env.example](.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:
```yml
services:
palworld:
image: thijsvanloef/palworld-server-docker:latest
restart: unless-stopped
container_name: palworld-server
stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop
ports:
- 8211:8211/udp
- 27015:27015/udp
env_file:
- .env
volumes:
- ./palworld:/palworld/
```
### Docker Run
Change every <> to your own configuration
@@ -95,13 +115,25 @@ docker run -d \
-e SERVER_NAME="World of Pals" \
-e SERVER_DESCRIPTION="Awesome World of Pal" \
--restart unless-stopped \
--stop-timeout 30 \
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`
As an alternative, you can copy the [.env.example](.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:
```bash
docker run -d \
--name palworld-server \
-p 8211:8211/udp \
-p 27015:27015/udp \
-v ./<palworld-folder>:/palworld/ \
--env-file .env \
--restart unless-stopped \
--stop-timeout 30 \
thijsvanloef/palworld-server-docker:latest
```
### Kubernetes
@@ -154,7 +186,7 @@ It is highly recommended you set the following environment values before startin
*** Required for docker stop to save and gracefully close the server
> [!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.
@@ -172,7 +204,13 @@ RCON is enabled by default for the palworld-server-docker image.
Opening the RCON CLI is quite easy:
```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:
```bash
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.
@@ -229,7 +267,8 @@ Example Usage: If BACKUP_CRON_EXPRESSION to `0 2 * * *`, the backup script will
> [!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 |
|-------------------------------------------|----------------------------------------------------------------|----------------------------------------------------------------------------------------------|----------------------------------------|