Merge branch 'main' into cron-backup

This commit is contained in:
Thijs van Loef
2024-01-29 18:14:29 +01:00
committed by GitHub
5 changed files with 175 additions and 91 deletions

View File

@@ -5,6 +5,7 @@
[![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)
[![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/zh-CN/README.md?tab=readme-ov-file#palworld-dedicated-server-docker)
[![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?tab=readme-ov-file#palworld-dedicated-server-docker)
[View on Docker Hub](https://hub.docker.com/r/thijsvanloef/palworld-server-docker)
@@ -143,6 +144,8 @@ It is highly recommended you set the following environment values before startin
| QUERY_PORT | Query port used to communicate with Steam servers | 27015 | 1024-65535 |
| BACKUP_CRON_EXPRESSION | Setting affects frequency of automatic backups. | 0 0 \* \* \* | Needs a Cron-Expression - See [Configuring Automatic Backups with Cron](#configuring-automatic-backups-with-cron) |
| BACKUP_ENABLED | Enables automatic backups | true | true/false |
| DELETE_OLD_BACKUPS | Delete backups after a certain number of days | false | true/false |
| OLD_BACKUP_DAYS | How many days to keep backups | 30 | any positive integer |
*highly recommended to set
@@ -252,9 +255,9 @@ Example Usage: If BACKUP_CRON_EXPRESSION to `0 2 * * *`, the backup script will
| BUILD_OBJECT_DETERIORATION_DAMAGE_RATE | Structure determination rate | 1.000000 | Float |
| COLLECTION_DROP_RATE | Getherable items multipiler | 1.000000 | Float |
| COLLECTION_OBJECT_HP_RATE | Getherable objects HP multipiler | 1.000000 | Float |
| COLLECTION_OBJECT_RESPAWN_SPEED_RATE | Getherable objects respawn interval | 1.000000 | Float |
| COLLECTION_OBJECT_RESPAWN_SPEED_RATE | Getherable objects respawn interval - The smaller the number, the faster the regeneration | 1.000000 | Float |
| ENEMY_DROP_ITEM_RATE | Dropped Items Multipiler | 1.000000 | Float |
| DEATH_PENALTY | What will drop when you die | All | `None`,`Item`,`ItemAndEquipment`,`All` |
| DEATH_PENALTY | Death Penalty</br>None: No death penalty</br>Item: Drops items other than equipment</br>ItemAndEquipment: Drops all items</br>All: Drops all PALs and all items. | All | `None`,`Item`,`ItemAndEquipment`,`All` |
| ENABLE_PLAYER_TO_PLAYER_DAMAGE | Allows players to cause damage to players | False | Boolean |
| ENABLE_FRIENDLY_FIRE | Allow friendly fire | False | Boolean |
| ENABLE_INVADER_ENEMY | Enable invaders | True | Boolean |

View File

@@ -1,17 +1,17 @@
# Palworld 전용 서버 도커
![Release](https://img.shields.io/github/v/release/thijsvanloef/palworld-server-docker)
![Docker Pulls](https://img.shields.io/docker/pulls/thijsvanloef/palworld-server-docker)
![Docker Stars](https://img.shields.io/docker/stars/thijsvanloef/palworld-server-docker)
![Image Size](https://img.shields.io/docker/image-size/thijsvanloef/palworld-server-docker/latest)
![Discord](https://img.shields.io/discord/1200397673329594459?logo=discord&label=Discord&link=https%3A%2F%2Fdiscord.gg%2FUxBxStPAAE)
[![Static Badge](https://img.shields.io/badge/README-0.15.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)
[![Release](https://img.shields.io/github/v/release/thijsvanloef/palworld-server-docker)](https://github.com/thijsvanloef/palworld-server-docker/releases)
[![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)
[![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)
[Discord에서 커뮤니티와 채팅하세요](https://discord.gg/UxBxStPAAE)
[English](/README.md) | [한국어](/docs/kr/README.md)
[English](/README.md) | [한국어](/docs/kr/README.md) | [简体中文](/docs/zh-CN/README.md)
> [!팁]
> 어떻게 시작해야 할지 모르시나요? [제가 작성한 이 가이드](https://tice.tips/containerization/palworld-server-docker/)를 확인해 보세요
@@ -35,7 +35,7 @@
## 사용하기
서버를 가동하기 위해서는 반드시 [환경변수](#환경변수)를 수정해야 합니다. 잊지 마세요!
서버를 가동하기 위해서는 반드시 [환경 변수](#환경-변수)를 수정해야 합니다. 잊지 마세요!
### Docker Compose
@@ -47,21 +47,22 @@ services:
image: thijsvanloef/palworld-server-docker:latest
restart: unless-stopped
container_name: palworld-server
stop_grace_period: 30s # 컨테이너가 정상적으로 중지될 때까지 기다리는 시간을 설정합니다.
ports:
- 8211:8211/udp
- 27015:27015/udp
environment:
- PUID=1000
- PGID=1000
- PORT=8211 # Optional but recommended
- PLAYERS=16 # Optional but recommended
- SERVER_PASSWORD="worldofpals" # Optional but recommended
- PORT=8211 # 선택사항이지만 설정하는 것을 권장합니다.
- PLAYERS=16 # 선택사항이지만 설정하는 것을 권장합니다.
- SERVER_PASSWORD="worldofpals" # 선택사항이지만 설정하는 것을 권장합니다.
- 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!
- COMMUNITY=false # 커뮤니티 서버 탐색기에 서버가 표시 되는 것을 허용합니다 (USE WITH SERVER_PASSWORD 와 함께 사용하는 것을 권장합니다)
- SERVER_NAME="World of Pals"
volumes:
- ./palworld:/palworld/
@@ -89,11 +90,16 @@ docker run -d \
-e SERVER_PASSWORD="worldofpals" \
-e COMMUNITY=false \
-e SERVER_NAME="World of Pals" \
-e SERVER_DESCRIPTION="Awesome World of Pal" \
--restart unless-stopped \
thijsvanloef/palworld-server-docker:latest
```
> [!TIP]
> 사용자 지정 중지 유예 기간을 설정하여 컨테이너를 중지하려면 다음을 실행하세요:
> `docker stop --name palworld-server --time 30`
### Kubernetes
쿠버네티스에 이 컨테이너를 배포하는 데 필요한 모든 파일은 [k8s 폴더](k8s/)에 있습니다.
@@ -126,6 +132,7 @@ docker run -d \
| PUBLIC_IP | 서버가 실행 중인 네트워크의 PUBLIC IP를 수동으로 지정할 수 있습니다. 지정하지 않으면 자동으로 감지됩니다. 제대로 작동하지 않으면 수동 구성을 시도하세요. | | x.x.x.x |
| PUBLIC_PORT | 서버가 실행 중인 네트워크의 포트 번호를 수동으로 지정할 수 있습니다. 지정하지 않으면 자동으로 감지됩니다. 제대로 작동하지 않으면 수동 구성을 시도하세요. | | 1024-65535 |
| SERVER_NAME | 서버 이름 | | "string" |
| SERVER_DESCRIPTION | 서버 설명 | | "string" |
| SERVER_PASSWORD | 서버 접속을 위한 비밀번호 | | "string" |
| ADMIN_PASSWORD | 관리자 비밀번호 | | "string" |
| UPDATE_ON_BOOT\*\* | 도커 컨테이너가 시작될 때 서버 업데이트/설치(컨테이너를 처음 실행할 때 이 기능을 활성화해야 합니다). | true | true/false |
@@ -177,7 +184,7 @@ docker exec -it palworld-server rcon-cli
| Info | 서버 정보를 표시합니다. |
| Save | 월드 정보를 저장합니다. |
전체 명령어 목록을 보려면 다음으로 이동하세요.: [https://tech.palworldgame.com/server-commands](https://tech.palworldgame.com/server-commands)
전체 명령어 목록을 보려면 다음으로 이동하세요: [https://tech.palworldgame.com/server-commands](https://tech.palworldgame.com/server-commands)
## 백업 만들기
@@ -193,14 +200,81 @@ rcon이 활성화된 경우 서버는 백업 전에 저장을 실행합니다.
## 서버 설정 편집
### 환경 변수 사용 설정
> [!중요]
>
> 게임이 아직 베타버전이므로 이러한 환경 변수/설정은 변경될 수 있습니다
| 변수 | 설명 | 기본값 | 허용값 |
|-------------------------------------------|----------------------------------------------------------------|----------------------------------------------------------------------------------------------|----------------------------------------|
| DIFFICULTY | 게임 난이도 | None | `None`,`Normal`,`Difficult` |
| DAYTIME_SPEEDRATE | 낮 시간 속도 - 숫자가 작을수록 낮이 짧아짐 | 1.000000 | Float |
| NIGHTTIME_SPEEDRATE | 밤 시간 속도 - 숫자가 작을수록 밤이 짧아짐 | 1.000000 | Float |
| EXP_RATE | 경험치 획득 비율 | 1.000000 | Float |
| PAL_CAPTURE_RATE | PAL 포획률 | 1.000000 | Float |
| PAL_SPAWN_NUM_RATE | PAL 출현 비율 | 1.000000 | Float |
| PAL_DAMAGE_RATE_ATTACK | PAL이 주는 데미지 배수 | 1.000000 | Float |
| PAL_DAMAGE_RATE_DEFENSE | PAL이 받는 데미지 배수 | 1.000000 | Float |
| PLAYER_DAMAGE_RATE_ATTACK | 플레이어가 주는 데미지 배수 | 1.000000 | Float |
| PLAYER_DAMAGE_RATE_DEFENSE | 플레이어가 받는 데미지 배수 | 1.000000 | Float |
| PLAYER_STOMACH_DECREASE_RATE | 플레이어 포만도 감소율 | 1.000000 | Float |
| PLAYER_STAMINA_DECREASE_RATE | 플레이어 기력 감소율 | 1.000000 | Float |
| PLAYER_AUTO_HP_REGEN_RATE | 플레이어 HP 자연 회복률 | 1.000000 | Float |
| PLAYER_AUTO_HP_REGEN_RATE_IN_SLEEP | 플레이어 수면 시 HP 회복률 | 1.000000 | Float |
| PAL_STOMACH_DECREASE_RATE | PAL 포만도 감소율 | 1.000000 | Float |
| PAL_STAMINA_DECREASE_RATE | PAL 기력 감소율 | 1.000000 | Float |
| PAL_AUTO_HP_REGEN_RATE | PAL HP 자연 회복률 | 1.000000 | Float |
| PAL_AUTO_HP_REGEN_RATE_IN_SLEEP | PAL 수면 시 HP 회복률 (PLA상자 내 HP 회복률) | 1.000000 | Float |
| BUILD_OBJECT_DAMAGE_RATE | 구조물 피해 배수 | 1.000000 | Float |
| BUILD_OBJECT_DETERIORATION_DAMAGE_RATE | 구조물 노화 속도 배수 | 1.000000 | Float |
| COLLECTION_DROP_RATE | 채집 아이템 획득량 배수 | 1.000000 | Float |
| COLLECTION_OBJECT_HP_RATE | 채집 오브젝트 HP 배수 | 1.000000 | Float |
| COLLECTION_OBJECT_RESPAWN_SPEED_RATE | 채집 오브젝트 생성 간격 - 숫자가 작을수록 재 생성이 빨라짐 | 1.000000 | Float |
| ENEMY_DROP_ITEM_RATE | 드롭 아이템 양 배수 | 1.000000 | Float |
| DEATH_PENALTY | 사망 패널티</br>None: 사망 패널티 없음</br>Item: 장비 이외의 아이템 드롭</br>ItemAndEquipment: 모든 아이템 드롭</br>All: 모든 PAL과 모든 아이템 드롭 | All | `None`,`Item`,`ItemAndEquipment`,`All` |
| ENABLE_PLAYER_TO_PLAYER_DAMAGE | 플레이어간 데미지 여부 | False | Boolean |
| ENABLE_FRIENDLY_FIRE | 아군간 데미지 여부 | False | Boolean |
| ENABLE_INVADER_ENEMY | 습격 이벤트 발생 여부 | True | Boolean |
| ACTIVE_UNKO | UNKO 활성화 여부(?) | False | Boolean |
| ENABLE_AIM_ASSIST_PAD | 컨트롤러 조준 보조 활성화 | True | Boolean |
| ENABLE_AIM_ASSIST_KEYBOARD | 키보드 조준 보조 활성화 | False | Boolean |
| DROP_ITEM_MAX_NUM | 월드 내의 드롭 아이템 최대 수 | 3000 | Integer |
| DROP_ITEM_MAX_NUM_UNKO | 월드 내의 UNKO 드롭 최대 수 | 100 | Integer |
| BASE_CAMP_MAX_NUM | 거점 최대 수량 | 128 | Integer |
| BASE_CAMP_WORKER_MAXNUM | 거점 작업 PAL 최대 수 | 15 | Integer |
| DROP_ITEM_ALIVE_MAX_HOURS | 드롭 아이템이 사라지기까지 걸리는 시간 | 1.000000 | Float |
| AUTO_RESET_GUILD_NO_ONLINE_PLAYERS | 온라인 플레이어가 없을 때 길드 자동 리셋 여부 | False | Bool |
| AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS | 온라인 플레이어가 없을 때 길드를 자동 리셋 시간(h) | 72.000000 | Float |
| GUILD_PLAYER_MAX_NUM | 길드 내 최대 인원 수 | 20 | Integer |
| PAL_EGG_DEFAULT_HATCHING_TIME | 거대알 부화에 걸리는 시간(h) | 72.000000 | Float |
| WORK_SPEED_RATE | 작업 속도 배수 | 1.000000 | Float |
| IS_MULTIPLAY | 멀티플레이 활성화 여부 | False | Boolean |
| IS_PVP | PVP 활성화 여부 | False | Boolean |
| CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP | 다른 길드 플레이어의 데스 페널티 드롭 아이템 획득 가능 여부 | False | Boolean |
| ENABLE_NON_LOGIN_PENALTY | 비 로그인 패널티 활성화 여부 | True | Boolean |
| ENABLE_FAST_TRAVEL | 빠른 이동 활성화 여부 | True | Boolean |
| IS_START_LOCATION_SELECT_BY_MAP | 시작 위치를 지도로 선택할 수 있는지 여부 | True | Boolean |
| EXIST_PLAYER_AFTER_LOGOUT | 로그오프 후 플레이어 삭제 여부 | False | Boolean |
| ENABLE_DEFENSE_OTHER_GUILD_PLAYER | 다른 길드 플레이어에 대한 방어 허용 여부 | False | Boolean |
| COOP_PLAYER_MAX_NUM | 협동던전 최대인원 | 4 | Integer |
| REGION | Region | | String |
| USEAUTH | 인증 사용 여부 | True | Boolean |
| BAN_LIST_URL | 사용할 BAN 목록 | [https://api.palworldgame.com/api/banlist.txt](https://api.palworldgame.com/api/banlist.txt) | string |
### 수동 설정
서버가 시작되면 `PalWorldSettings.ini` 파일은 다음 위치에 생성됩니다.
`<mount_folder>/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini`
여기서 변경 사항은 다음 부팅 시 서버에 적용됩니다.
환경 변수 설정은 항상 `PalWorldSettings.ini` 변경 사항을 덮어쓴다는 점에 유의하세요.
환경 변수는 항상 `PalWorldSettings.ini`의 변경 사항을 덮어쓴다는 점에 유의하세요.
> [!IMPORTANT]
> 서버가 꺼져 있을 때만 `PalWorldSettings.ini`를 변경할 수 있습니다.
>
> 서버가 작동하는 동안 변경한 내용은 서버가 중지되면 덮어쓰기됩니다.
서버 설정에 대한 자세한 설명 목록을 보려면 다음을 참조하세요.: [shockbyte](https://shockbyte.com/billing/knowledgebase/1189/How-to-Configure-your-Palworld-server.html)
서버 설정에 대한 자세한 설명 목록을 보려면 다음을 참조하세요: [shockbyte](https://shockbyte.com/billing/knowledgebase/1189/How-to-Configure-your-Palworld-server.html)
> [!팁]
> 만약 `<mount_folder>/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini` 파일 내부가 비어 있으면,

View File

@@ -17,14 +17,14 @@
> 不知道从何开始? [看看这里吧!](https://tice.tips/containerization/palworld-server-docker/)
这是一个 [Docker](https://docs.docker.com/engine/install/) 容器,可帮助您创建自己的
[幻兽帕鲁](https://store.steampowered.com/app/1623730/Palworld/) 服务器
[幻兽帕鲁](https://store.steampowered.com/app/1623730/Palworld/) 服务器
此容器经测试可正常在 (Ubuntu/Debian) 和 Windows 10 上运行
此容器经测试可正常在 (Ubuntu/Debian) 和 Windows 10 上运行
> [!IMPORTANT]
> 目前, Xbox Game Pass/Xbox 主机玩家无法加入服务器
> 目前Xbox Game Pass/Xbox 主机玩家无法加入服务器
>
> 他们只能通过邀请码加入并且最多允许4人游玩
> 他们只能通过邀请码加入并且最多允许4人游玩
## 服务器配置需求
@@ -36,11 +36,11 @@
## 开始使用
注意,您需要配置 [环境变量](#环境变量).
注意,您需要配置 [环境变量](#环境变量)
### Docker Compose
您可以直接使用 [docker-compose.yml](/docker-compose.yml) 来配置您的服务器
您可以直接使用 [docker-compose.yml](/docker-compose.yml) 来配置您的服务器
```yml
services:
@@ -70,7 +70,7 @@ services:
### Docker Run
`<palworld-folder>`修改为您自己的路径
`<palworld-folder>`修改为您自己的路径
```bash
docker run -d \
@@ -97,17 +97,18 @@ docker run -d \
### Kubernetes
将此容器部署到 Kubernetes 的所有文件都位于[此文件夹中](k8s/).
将此容器部署到 Kubernetes 的所有文件都位于[此文件夹中](k8s/)
请按照 [此处](k8s/readme.md) 进行部署
请按照 [此处](k8s/readme.md) 进行部署
#### 使用 helm 部署
请按照 [此处](./chart/README.md) 进行部署
请按照 [此处](./chart/README.md) 进行部署
### 环境变量
您可以使用以下值来修改服务器设置
您可以使用以下值来修改服务器设置
强烈建议您在启动服务器之前设置以下变量:
* PLAYERS
@@ -117,33 +118,33 @@ docker run -d \
| 变量 | 信息 | 默认值 | 允许值 |
|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|------------------------------------------------------------------------------------------------------------|
| TZ | 备份服务器时所使用的时间戳 | UTC | 参见 [时区列表](https://zh.wikipedia.org/wiki/%E6%97%B6%E5%8C%BA%E5%88%97%E8%A1%A8) |
| PLAYERS* | 可同加入服务器的最大玩家数 | 16 | 1-32 |
| PORT* | 服务器将开放的 UDP 端口 | 8211 | 1024-65535 |
| PUID* | 服务器运行时的用户的 UID | 1000 | !0 |
| PGID* | 服务器运行时的组的 GID | 1000 | !0 |
| MULTITHREADING** | 提高多线程 CPU 环境下的性能。它最多对 4 个线程有效,分配超过这个数量的线程没有太大意义 | false | true/false |
| COMMUNITY | 服务器是否显示在社区服务器页中建议设置SERVER_PASSWORD | false | true/false |
| PUBLIC_IP | 您可以手动指定服务器 IP 地址。若未指定,将自动检测 | | x.x.x.x |
| PUBLIC_PORT | 您可以手动指定服务器端口。若未指定,将自动检测 | | 1024-65535 |
| SERVER_NAME | 服务器名称 | | "string" |
| SERVER_PASSWORD | 为服务器设置密码 | | "string" |
| ADMIN_PASSWORD | 为服务器设置管理员密码 | | "string" |
| UPDATE_ON_BOOT** | 在启动 Docker 容器时更新/安装服务器(需要在第一次运行时启用) | true | true/false |
| RCON_ENABLED*** | 为服务器启用 RCON | true | true/false |
| RCON_PORT | RCON 连接端口 | 25575 | 1024-65535 |
| QUERY_PORT | 用于与 Steam 服务器通信的查询端口 | 27015 | 1024-65535 |
| TZ | 备份服务器时所使用的时间戳 | UTC | 参见 [时区列表](https://zh.wikipedia.org/wiki/%E6%97%B6%E5%8C%BA%E5%88%97%E8%A1%A8) |
| PLAYERS* | 可同加入服务器的最大玩家数 | 16 | 1-32 |
| PORT* | 服务器将开放的 UDP 端口 | 8211 | 1024-65535 |
| PUID* | 服务器运行时的用户的 UID | 1000 | !0 |
| PGID* | 服务器运行时的组的 GID | 1000 | !0 |
| MULTITHREADING** | 提高多线程 CPU 环境下的性能。它最多对 4 个线程有效,分配超过这个数量的线程没有太大意义 | false | true/false |
| COMMUNITY | 服务器是否显示在社区服务器页中建议设置SERVER_PASSWORD | false | true/false |
| PUBLIC_IP | 您可以手动指定服务器 IP 地址。若未指定,将自动检测 | | x.x.x.x |
| PUBLIC_PORT | 您可以手动指定服务器端口。若未指定,将自动检测 | | 1024-65535 |
| SERVER_NAME | 服务器名称 | | "string" |
| SERVER_PASSWORD | 为服务器设置密码 | | "string" |
| ADMIN_PASSWORD | 为服务器设置管理员密码 | | "string" |
| UPDATE_ON_BOOT** | 在启动 Docker 容器时更新/安装服务器(需要在第一次运行时启用) | true | true/false |
| RCON_ENABLED*** | 为服务器启用 RCON | true | true/false |
| RCON_PORT | RCON 连接端口 | 25575 | 1024-65535 |
| QUERY_PORT | 用于与 Steam 服务器通信的查询端口 | 27015 | 1024-65535 |
*强烈建议设置
* 强烈建议设置
** 启用该选项时,请确保您知道自己在做什么
** 启用该选项时,请确保您知道自己在做什么
*** 是使用docker命令保存并关闭服务器的必要条件
*** 是使用docker命令保存并关闭服务器的必要条件
> [!IMPORTANT]
> 环境变量中使用的布尔值区分大小写,因为它们是在 shell 脚本中使用的
> 环境变量中使用的布尔值区分大小写,因为它们是在 shell 脚本中使用的
>
> 必须准确使用 `true` 或 `false` 设置它们,选项才能生效
> 必须准确使用 `true` 或 `false` 设置它们,选项才能生效
### Game Ports
@@ -155,59 +156,60 @@ docker run -d \
## 使用 RCON
RCON 已在此项目中默认开启
使用 RCON CLI 非常简单:
RCON 已在此项目中默认开启
使用 RCON CLI 非常简单:
```bash
docker exec -it palworld-server rcon-cli
```
这将打开一个 CLI使用 RCON 使用服务器命令
这将打开一个 CLI使用 RCON 使用服务器命令
### 命令列表
| 命令 | 信息 |
|----------------------------------|-----------------------------------------------------|
| Shutdown {秒} {信息} | 服务器将在{秒}后关闭 |
| DoExit | 强制关闭服务器 |
| Broadcast | 向服务器中所有玩家发送消息 |
| KickPlayer {SteamID} | 从服务器中踢出玩家 |
| BanPlayer {SteamID} | 从服务器中封禁玩家 |
| TeleportToPlayer {SteamID} | 传送到目标玩家 |
| TeleportToMe {SteamID} | 将目标玩家传送到身边 |
| ShowPlayers | 显示所有已连接玩家信息 |
| Info | 显示服务器信息 |
| Save | 保存游戏 |
| DoExit | 强制关闭服务器 |
| Broadcast | 向服务器中所有玩家发送消息 |
| KickPlayer {SteamID} | 从服务器中踢出玩家 |
| BanPlayer {SteamID} | 从服务器中封禁玩家 |
| TeleportToPlayer {SteamID} | 传送到目标玩家 |
| TeleportToMe {SteamID} | 将目标玩家传送到身边 |
| ShowPlayers | 显示所有已连接玩家信息 |
| Info | 显示服务器信息 |
| Save | 保存游戏 |
请查看 [官方文档](https://tech.palworldgame.com/server-commands) 以获取所有命令
请查看 [官方文档](https://tech.palworldgame.com/server-commands) 以获取所有命令
## 创建备份
To create a backup of the game's save at the current point in time, use the command:
想要在游戏保存的时间点创建一个备份,使用以下命令:
```bash
docker exec palworld-server backup
```
执行后将在 `/palworld/backups/` 文件夹中生成备份
执行后将在 `/palworld/backups/` 文件夹中生成备份
若启用了 RCON服务器将在备份前进行保存
若启用了 RCON服务器将在备份前进行保存
## 修改服务器设置
服务器启动时, `PalWorldSettings.ini` 文件将在 `<mount_folder>/Pal/Saved/Config/LinuxServer` 文件夹中生成
服务器启动时,`PalWorldSettings.ini` 文件将在 `<mount_folder>/Pal/Saved/Config/LinuxServer` 文件夹中生成
所有更改将在服务器下次启动时生效
所有更改将在服务器下次启动时生效
请注意,环境变量将始终覆盖对 `PalWorldSettings.ini` 所做的更改
请注意,环境变量将始终覆盖对 `PalWorldSettings.ini` 所做的更改
服务器配置文件参数相关说明,请在
[shockbyte](https://shockbyte.com/billing/knowledgebase/1189/How-to-Configure-your-Palworld-server.html) 中查看
[shockbyte](https://shockbyte.com/billing/knowledgebase/1189/How-to-Configure-your-Palworld-server.html) 中查看
## 报告问题/功能请求
可通过 [此链接](https://github.com/thijsvanloef/palworld-server-docker/issues/new/choose) 报告问题/功能请求
可通过 [此链接](https://github.com/thijsvanloef/palworld-server-docker/issues/new/choose) 报告问题/功能请求
### 已知问题
已知问题已在 [Wiki](https://github.com/thijsvanloef/palworld-server-docker/wiki/Known-Issues) 中列出
已知问题已在 [Wiki](https://github.com/thijsvanloef/palworld-server-docker/wiki/Known-Issues) 中列出

View File

@@ -15,3 +15,8 @@ if [ "$(id -u)" -eq 0 ]; then
fi
echo "backup created at $FILE_PATH"
if [ "${DELETE_OLD_BACKUPS}" = true ]; then
echo "removing backups older than ${OLD_BACKUP_DAYS:=30} days"
find /palworld/backups/ -mindepth 1 -maxdepth 1 -mtime "+${OLD_BACKUP_DAYS}" -print -delete
fi

View File

@@ -11,22 +11,6 @@ if [ -n "${PORT}" ]; then
STARTCOMMAND+=("-port=${PORT}")
fi
if [ -n "${SERVER_NAME}" ]; then
STARTCOMMAND+=("-servername=${SERVER_NAME}")
fi
if [ -n "${SERVER_DESCRIPTION}" ]; then
STARTCOMMAND+=("-serverdescription=${SERVER_DESCRIPTION}")
fi
if [ -n "${SERVER_PASSWORD}" ]; then
STARTCOMMAND+=("-serverpassword=${SERVER_PASSWORD}")
fi
if [ -n "${ADMIN_PASSWORD}" ]; then
STARTCOMMAND+=("-adminpassword=${ADMIN_PASSWORD}")
fi
if [ -n "${QUERY_PORT}" ]; then
STARTCOMMAND+=("-queryport=${QUERY_PORT}")
fi
@@ -56,6 +40,22 @@ if [ ! "$(grep -s '[^[:space:]]' /palworld/Pal/Saved/Config/LinuxServer/PalWorld
cp /palworld/DefaultPalWorldSettings.ini /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
fi
if [ -n "${SERVER_NAME}" ]; then
echo "SERVER_NAME=${SERVER_NAME}"
sed -E -i "s/ServerName=\"[^\"]*\"/ServerName=$SERVER_NAME/" /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
fi
if [ -n "${SERVER_DESCRIPTION}" ]; then
echo "SERVER_DESCRIPTION=${SERVER_DESCRIPTION}"
sed -E -i "s/ServerDescription=\"[^\"]*\"/ServerDescription=$SERVER_DESCRIPTION/" /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
fi
if [ -n "${SERVER_PASSWORD}" ]; then
echo "SERVER_PASSWORD=${SERVER_PASSWORD}"
sed -E -i "s/ServerPassword=\"[^\"]*\"/ServerPassword=$SERVER_PASSWORD/" /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
fi
if [ -n "${ADMIN_PASSWORD}" ]; then
echo "ADMIN_PASSWORD=${ADMIN_PASSWORD}"
sed -E -i "s/AdminPassword=\"[^\"]*\"/AdminPassword=$ADMIN_PASSWORD/" /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
fi
if [ -n "${PLAYERS}" ]; then
echo "PLAYERS=${PLAYERS}"
sed -E -i "s/ServerPlayerMaxNum=[0-9]*/ServerPlayerMaxNum=$PLAYERS/" /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini