Skip to content

Commit

Permalink
[FIX] fixed tips for docker compose
Browse files Browse the repository at this point in the history
  • Loading branch information
lavi02 committed Feb 5, 2024
1 parent c2b1db4 commit dfe9ca6
Show file tree
Hide file tree
Showing 2 changed files with 149 additions and 24 deletions.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,11 @@ The `RCON_ENABLED` environment variable must be set to `true` to use this comman
## Manually restore from a backup

Locate the backup you want to restore in `/palworld/backups/` and decompress it.
Need to stop the server before task.

```bash
docker compose down
```

Delete the old saved data folder located at `palworld/Pal/Saved/SaveGames/0/<old_hash_value>`.

Expand All @@ -277,7 +282,7 @@ DedicatedServerName=<new_hash_value> # Replace it with your folder name.
Restart the game. (If you are using Docker Compose)

```bash
docker compose down && docker compose up -d
docker compose up -d
```

## Configuring Automatic Backups with Cron
Expand Down
166 changes: 143 additions & 23 deletions docs/kr/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
[![Docker Pulls](https://img.shields.io/docker/pulls/thijsvanloef/palworld-server-docker)](https://hub.docker.com/r/thijsvanloef/palworld-server-docker)
[![Docker Stars](https://img.shields.io/docker/stars/thijsvanloef/palworld-server-docker)](https://hub.docker.com/r/thijsvanloef/palworld-server-docker)
[![Image Size](https://img.shields.io/docker/image-size/thijsvanloef/palworld-server-docker/latest)](https://hub.docker.com/r/thijsvanloef/palworld-server-docker/tags)
[![Static Badge](https://img.shields.io/badge/readme-0.19.1-blue?link=https%3A%2F%2Fgithub.com%2Fthijsvanloef%2Fpalworld-server-docker%2Fblob%2Fmain%2FREADME.md)](https://github.com/thijsvanloef/palworld-server-docker?tab=readme-ov-file#palworld-dedicated-server-docker)
[![Discord](https://img.shields.io/discord/1200397673329594459?logo=discord&label=Discord&link=https%3A%2F%2Fdiscord.gg%2FUxBxStPAAE)](https://discord.com/invite/UxBxStPAAE)
[![Static Badge](https://img.shields.io/badge/README-0.16.0-blue?link=https%3A%2F%2Fgithub.com%2Fthijsvanloef%2Fpalworld-server-docker%2Fblob%2Fmain%2FREADME.md)](https://github.com/thijsvanloef/palworld-server-docker/blob/main/docs/kr/README.md?tab=readme-ov-file#palworld-dedicated-server-docker)

[Docker Hub에서 보기](https://hub.docker.com/r/thijsvanloef/palworld-server-docker)
[![Docker Hub](https://img.shields.io/badge/Docker_Hub-palworld-blue?logo=docker)](https://hub.docker.com/r/thijsvanloef/palworld-server-docker)
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/palworld)](https://artifacthub.io/packages/search?repo=palworld)

[Discord에서 커뮤니티와 채팅하세요](https://discord.gg/UxBxStPAAE)

Expand All @@ -31,7 +32,7 @@
| ------ | ------- | ----------------------------------- |
| CPU | 4 cores | 4+ cores |
| RAM | 16GB | 안정적인 운영을 위해 32GB 이상 권장 |
| 저장소 | 4GB | 12GB |
| 저장소 | 8GB | 20GB |

## 사용하기

Expand Down Expand Up @@ -60,14 +61,33 @@ services:
- MULTITHREADING=true
- RCON_ENABLED=true
- RCON_PORT=25575
- TZ=UTC
- TZ=KST
- ADMIN_PASSWORD="adminPasswordHere"
- COMMUNITY=false # 커뮤니티 서버 탐색기에 서버가 표시 되는 것을 허용합니다 (USE WITH SERVER_PASSWORD 와 함께 사용하는 것을 권장합니다)
- SERVER_NAME="World of Pals"
volumes:
- ./palworld:/palworld/
```
또 다른 방법으로, .env.example 파일을 .env라는 새 파일로 복사할 수 있습니다.
필요에 따라 수정하고, 올바른 값을 확인하려면 환경 변수 섹션을 확인하세요. 아래와 같이 docker-compose.yml을 수정하세요:
```yml
services:
palworld:
image: thijsvanloef/palworld-server-docker:latest
restart: unless-stopped
container_name: palworld-server
stop_grace_period: 30s # 컨테이너가 정상적으로 중지될 때까지 기다리는 시간을 설정합니다.
ports:
- 8211:8211/udp
- 27015:27015/udp
env_file:
- .env
volumes:
- ./palworld:/palworld/
```
### Docker Run
모든 <>를 자신만의 구성으로 변경하세요.
Expand All @@ -85,20 +105,31 @@ docker run -d \
-e MULTITHREADING=true \
-e RCON_ENABLED=true \
-e RCON_PORT=25575 \
-e TZ=UTC \
-e ADMIN_PASSWORD="adminPasswordHere" \
-e SERVER_PASSWORD="worldofpals" \
-e TZ=KST \
-e ADMIN_PASSWORD=adminPasswordHere \
-e SERVER_PASSWORD=worldofpals \
-e COMMUNITY=false \
-e SERVER_NAME="World of Pals" \
-e SERVER_DESCRIPTION="Awesome World of Pal" \
-e SERVER_NAME=World of Pals \
-e SERVER_DESCRIPTION=palworld-server-docker by Thijs van Loef \
--restart unless-stopped \
--stop-timeout 30 \
thijsvanloef/palworld-server-docker:latest

```

> [!TIP]
> 사용자 지정 중지 유예 기간을 설정하여 컨테이너를 중지하려면 다음을 실행하세요:
> `docker stop --name palworld-server --time 30`
또 다른 방법으로, .env.example 파일을 .env라는 새 파일로 복사할 수 있습니다.
필요에 따라 수정하고, 올바른 값을 확인하려면 환경 변수 섹션을 확인하세요. docker run 명령어를 다음과 같이 변경하세요:

```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 All @@ -122,7 +153,7 @@ docker run -d \

| 변수명 | 정보 | 기본값 | 허용되는 값 |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------ |
| TZ | 서버 백업에 사용되는 타임스템프 시간대 | UTC | [TZ Identifiers](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#Time_Zone_abbreviations) |
| TZ | 서버 백업에 사용되는 타임스템프 시간대 | KST | [TZ Identifiers](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#Time_Zone_abbreviations) |
| PLAYERS\* | 서버에 참여할 수 있는 최대 플레이어 수 | 16 | 1-32 |
| PORT\* | 서버에 사용되는 포트(UDP) | 8211 | 1024-65535 |
| PUID\* | 서버를 실행할 사용자의 아이디입니다. | 1000 | !0 |
Expand All @@ -140,16 +171,11 @@ docker run -d \
| RCON_PORT | RCON접속 포트 | 25575 | 1024-65535 |
| QUERY_PORT | Steam 서버와 통신하는 데 사용되는 쿼리 포트 | 27015 | 1024-65535 |

\* 설정하는 것을 적극 권장합니다.

\*\* 이 옵션을 활성화하여 실행할 때 주의해야 할 사항을 확인하세요.
*설정하는 것을 적극 권장합니다.

\*\*\* docker stop이 서버를 저장하고 정상적으로 종료하는 데 필요합니다.
** 이 옵션을 활성화하여 실행할 때 주의해야 할 사항을 확인하세요.

> [!IMPORTANT]
> 환경 변수에 사용되는 부울(true/false) 값은 shell 스크립트에서 사용되므로 대소문자를 구분합니다.
>
> 옵션이 적용되려면 정확히 `true` 또는 `false`를 사용하여 설정해야 합니다.
*** docker stop이 서버를 저장하고 정상적으로 종료하는 데 필요합니다.

### 사용되는 포트

Expand All @@ -164,7 +190,13 @@ docker run -d \
RCON은 palworld-server-docker 이미지에 기본적으로 활성화되어 있습니다. RCON CLI는 아주 쉽게 열 수 있습니다:

```bash
docker exec -it palworld-server rcon-cli
docker exec -it palworld-server rcon-cli "<command> <value>"
```

예를 들어, 다음 명령어를 사용하여 서버의 모든 사람에게 메시지를 방송할 수 있습니다:

```bash
docker exec -it palworld-server rcon-cli "Broadcast Hello everyone"
```

위 명령어를 사용 하면 RCON을 사용하여 Palworld 서버 명령어를 작성할 수 있는 CLI가 열립니다.
Expand Down Expand Up @@ -213,6 +245,94 @@ docker exec -it palworld-server restore
>
> [사용하기](#사용하기)에서 제공된 Docker 실행 명령어와 Docker Compose 파일 예시는 이미 필요한 정책을 적용하고 있습니다.
## 수동으로 백업에서 복원하기

/palworld/backups/에서 복원하고자 하는 백업을 찾아서 압축을 풉니다.
작업을 시작하기 전에 서버를 중지해야 합니다.

```bash
docker compose down
```

`palworld/Pal/Saved/SaveGames/0/<old_hash_value>`에 위치한 기존 저장 데이터 폴더를 삭제합니다.

새롭게 압축 해제된 저장 데이터 폴더 `Saved/SaveGames/0/<new_hash_value>`의 내용을 `palworld/Pal/Saved/SaveGames/0/<new_hash_value>`로 복사합니다.

`palworld/Pal/Saved/Config/LinuxServer/GameUserSettings.ini`` 안의 DedicatedServerName을 새 폴더 이름으로 교체합니다.

```ini
DedicatedServerName=<new_hash_value> # 폴더 이름으로 교체하세요.
```

게임을 재시작합니다. (Docker Compose를 사용하는 경우)

```bash
docker compose up -d
```

## Cron을 이용한 자동 백업 설정

서버는 TZ로 설정된 시간대에 따라 매일 자정에 자동으로 백업됩니다.

BACKUP_ENABLED를 설정하여 자동 백업을 활성화하거나 비활성화합니다 (기본값은 활성화됨).

BACKUP_CRON_EXPRESSION은 cron 표현식으로, Cron 표현식에서는 작업을 실행할 간격을 정의합니다.

> [!팁]
> 이 이미지는 cron 작업을 위해 Supercronic을 사용합니다.
> [supercronic](https://github.com/aptible/supercronic#crontab-format) 또는
> [Crontab Generator](https://crontab-generator.org)를 참조하세요.
BACKUP_CRON_EXPRESSION을 설정하여 기본 스케줄을 변경합니다.
예시: `0 2 * * *`로 BACKUP_CRON_EXPRESSION을 설정하면, 백업 스크립트는 매일 새벽 2시에 실행됩니다.

## Cron을 이용한 자동 업데이트 설정

이 서버에서 자동 업데이트를 사용하려면 다음 환경 변수들을 `true`**설정해야 합니다**:

* RCON_ENABLED

Check failure on line 293 in docs/kr/README.md

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Unordered list style

docs/kr/README.md:293:1 MD004/ul-style Unordered list style [Expected: dash; Actual: asterisk] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md004.md
* UPDATE_ON_BOOT

Check failure on line 294 in docs/kr/README.md

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Unordered list style

docs/kr/README.md:294:1 MD004/ul-style Unordered list style [Expected: dash; Actual: asterisk] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md004.md

> [!중요]
>
> docker 재시작 정책이 `always` 또는 `unless-stopped`로 설정되어 있지 않다면, 서버는 종료되고
> 수동으로 다시 시작해야 합니다.
>
> [How to Use](#how-to-use)에서 이미 필요한 정책을 사용하는 예시 docker run 명령어와 docker compose 파일이 있습니다.

Check failure on line 301 in docs/kr/README.md

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Link fragments should be valid

docs/kr/README.md:301:3 MD051/link-fragments Link fragments should be valid [Context: "[How to Use](#how-to-use)"] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md051.md
AUTO_UPDATE_ENABLED를 설정하여 자동 업데이트를 활성화하거나 비활성화합니다 (기본값은 비활성화됨).

AUTO_UPDATE_CRON_EXPRESSION은 cron 표현식으로, Cron 표현식에서는 작업을 실행할 간격을 정의합니다.

> [!팁]
> 이 이미지는 cron 작업을 위해 Supercronic을 사용합니다.
> [supercronic](https://github.com/aptible/supercronic#crontab-format) 또는
> [Crontab Generator](https://crontab-generator.org)를 참조하세요.
AUTO_UPDATE_CRON_EXPRESSION을 설정하여 기본 스케줄을 변경합니다.

## Cron을 이용한 자동 재부팅 설정

이 서버에서 자동 재부팅을 사용하려면 RCON_ENABLED를 활성화해야 합니다.

> [!중요]
>
> docker 재시작 정책이 always 또는 unless-stopped로 설정되어 있지 않다면, 서버는 종료되고
> 수동으로 다시 시작해야 합니다.
>
> [How to Use](#how-to-use)에서 이미 필요한 정책을 사용하는 예시 docker run 명령어와 docker compose 파일이 있습니다.

Check failure on line 323 in docs/kr/README.md

View workflow job for this annotation

GitHub Actions / Lint - Markdown

Link fragments should be valid

docs/kr/README.md:323:3 MD051/link-fragments Link fragments should be valid [Context: "[How to Use](#how-to-use)"] https://github.com/DavidAnson/markdownlint/blob/v0.33.0/doc/md051.md
AUTO_REBOOT_ENABLED를 설정하여 자동 재부팅을 활성화하거나 비활성화합니다 (기본값은 비활성화됨).

AUTO_REBOOT_CRON_EXPRESSION은 cron 표현식으로, Cron 표현식에서는 작업을 실행할 간격을 정의합니다.

> [!팁]
> 이 이미지는 cron 작업을 위해 Supercronic을 사용합니다.
> [supercronic](https://github.com/aptible/supercronic#crontab-format) 또는
> [Crontab Generator](https://crontab-generator.org)를 참조하세요.
AUTO_REBOOT_CRON_EXPRESSION을 설정하여 기본 스케줄을 변경하세요. 기본 설정은 TZ로 설정된 시간대에 따라 매일 자정에 재부팅됩니다.

## 서버 설정 편집

### 환경 변수 사용 설정
Expand Down

0 comments on commit dfe9ca6

Please sign in to comment.