Skip to content

Commit

Permalink
Merge pull request #201 from Filipe-Souza/update-doc-envfiles
Browse files Browse the repository at this point in the history
- Update the way env variables are managed
  • Loading branch information
thijsvanloef authored Jan 29, 2024
2 parents 61b816c + e05f861 commit b8ad488
Show file tree
Hide file tree
Showing 3 changed files with 124 additions and 12 deletions.
72 changes: 72 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -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"
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
palworld
.idea
!charts/*
values*.yaml
values*.yaml
.env
61 changes: 50 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@
[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.

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.
Expand All @@ -33,15 +33,15 @@ 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

Keep in mind that you'll need to change the [environment variables](#environment-variables).

### Docker Compose

This repository includes an example [docker-compose.yml](/docker-compose.yml) file you can use to setup your server.
This repository includes an example [docker-compose.yml](/docker-compose.yml) file you can use to set up your server.

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

Expand Down Expand Up @@ -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.
Expand All @@ -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.
Expand Down Expand Up @@ -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 |
|-------------------------------------------|----------------------------------------------------------------|----------------------------------------------------------------------------------------------|----------------------------------------|
Expand Down

0 comments on commit b8ad488

Please sign in to comment.