diff --git a/README.md b/README.md index 8420cd352..daa615ad6 100644 --- a/README.md +++ b/README.md @@ -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
None: No death penalty
Item: Drops items other than equipment
ItemAndEquipment: Drops all items
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 | diff --git a/docs/kr/README.md b/docs/kr/README.md index 6632216c3..54a542be2 100644 --- a/docs/kr/README.md +++ b/docs/kr/README.md @@ -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/)에 있습니다. @@ -104,10 +110,10 @@ docker run -d \ [README.md](./chart/README.md) 에 있는 지침을 따라 배포를 진행해주세요. -### 환경변수 +### 환경 변수 다음 값을 사용하여 부팅 시 서버의 설정을 변경할 수 있습니다. -서버를 시작하기 전에 다음 환경변수를 설정하는 것이 좋습니다 +서버를 시작하기 전에 다음 환경 변수를 설정하는 것이 좋습니다 - PLAYERS - PORT @@ -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 | 사망 패널티
None: 사망 패널티 없음
Item: 장비 이외의 아이템 드롭
ItemAndEquipment: 모든 아이템 드롭
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` 파일은 다음 위치에 생성됩니다. `/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) > [!팁] > 만약 `/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini` 파일 내부가 비어 있으면, diff --git a/docs/zh-CN/README.md b/docs/zh-CN/README.md index 814dd2e1b..3ec61d63b 100644 --- a/docs/zh-CN/README.md +++ b/docs/zh-CN/README.md @@ -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 -将``修改为您自己的路径 +将``修改为您自己的路径。 ```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 | - -*强烈建议设置 - -** 启用该选项时,请确保您知道自己在做什么 - -*** 是使用docker命令保存并关闭服务器的必要条件 +| 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命令保存并关闭服务器的必要条件。 > [!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 | 保存游戏 | - -请查看 [官方文档](https://tech.palworldgame.com/server-commands) 以获取所有命令 +| DoExit | 强制关闭服务器。 | +| Broadcast | 向服务器中所有玩家发送消息。 | +| KickPlayer {SteamID} | 从服务器中踢出玩家。 | +| BanPlayer {SteamID} | 从服务器中封禁玩家。 | +| TeleportToPlayer {SteamID} | 传送到目标玩家。 | +| TeleportToMe {SteamID} | 将目标玩家传送到身边。 | +| ShowPlayers | 显示所有已连接玩家信息。 | +| Info | 显示服务器信息。 | +| Save | 保存游戏。 | + +请查看 [官方文档](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` 文件将在 `/Pal/Saved/Config/LinuxServer` 文件夹中生成 +服务器启动时,`PalWorldSettings.ini` 文件将在 `/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) 中列出。 diff --git a/scripts/backup.sh b/scripts/backup.sh index 4eaa81e7c..0fd0b6d65 100644 --- a/scripts/backup.sh +++ b/scripts/backup.sh @@ -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 diff --git a/scripts/start.sh b/scripts/start.sh index c08303fb2..40edf2ff8 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -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,9 +40,25 @@ 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 + sed -E -i "s/ServerPlayerMaxNum=[0-9]*/ServerPlayerMaxNum=$PLAYERS/" /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini fi if [ -n "${PUBLIC_IP}" ]; then echo "PUBLIC_IP=${PUBLIC_IP}"