From cab0ef3ce16f08e264cfd6ac5e2fed8d99999262 Mon Sep 17 00:00:00 2001 From: wanghe-fit2cloud Date: Fri, 23 Feb 2024 16:50:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=20palworld=20server?= =?UTF-8?q?=20tool=20=E5=AE=89=E8=A3=85=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../palworld-server-tool/0.5.5}/data.yml | 8 ++--- .../0.5.5/docker-compose.yml | 24 ++++++++++++++ apps/palworld-server-tool/README.md | 31 ++++++++++++++++++ .../palworld-server-tool}/data.yml | 0 .../palworld-server-tool}/logo.png | Bin palworld-server-tool/README.md | 25 -------------- .../latest/docker-compose.yml | 25 -------------- 7 files changed, 59 insertions(+), 54 deletions(-) rename {palworld-server-tool/latest => apps/palworld-server-tool/0.5.5}/data.yml (81%) create mode 100644 apps/palworld-server-tool/0.5.5/docker-compose.yml create mode 100644 apps/palworld-server-tool/README.md rename {palworld-server-tool => apps/palworld-server-tool}/data.yml (100%) rename {palworld-server-tool => apps/palworld-server-tool}/logo.png (100%) delete mode 100644 palworld-server-tool/README.md delete mode 100644 palworld-server-tool/latest/docker-compose.yml diff --git a/palworld-server-tool/latest/data.yml b/apps/palworld-server-tool/0.5.5/data.yml similarity index 81% rename from palworld-server-tool/latest/data.yml rename to apps/palworld-server-tool/0.5.5/data.yml index 0a6e284a8..9e6e0d5c3 100644 --- a/palworld-server-tool/latest/data.yml +++ b/apps/palworld-server-tool/0.5.5/data.yml @@ -36,10 +36,10 @@ additionalProperties: labelZh: 存档同步间隔 required: true type: number - - default: '示例:./Pal/Saved/SaveGames/0/5633F58B91BB4CFDAE555321CA7E6C8E' + - default: '示例:./data/Pal/Saved/SaveGames/0/5633F58B91BB4CFDAE555321CA7E6C8E' edit: true - envKey: PANEL_APP_path - labelEn: Save Path - labelZh: 存档路径 + envKey: PANEL_APP_PATH + labelEn: Save Path (starts with ./data) + labelZh: 存档路径 (以 ./data 开头) required: true type: text \ No newline at end of file diff --git a/apps/palworld-server-tool/0.5.5/docker-compose.yml b/apps/palworld-server-tool/0.5.5/docker-compose.yml new file mode 100644 index 000000000..a47689611 --- /dev/null +++ b/apps/palworld-server-tool/0.5.5/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + pst: + image: jokerwho/palworld-server-tool:0.5.5 + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + volumes: + - ${PANEL_APP_PATH}:/game + environment: + - WEB__PASSWORD=${WEB_PASSWORD} + - RCON__ADDRESS=${RCON_ADDRESS} + - RCON__PASSWORD=${RCON_PASSWORD} + - SAVE__SYNC_INTERVAL=${SAVE_SYNC_INTERVAL} + - SAVE__DECODE_PATH=/app/sav_cli + - SAVE__PATH=/game/Level.sav + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/palworld-server-tool/README.md b/apps/palworld-server-tool/README.md new file mode 100644 index 000000000..921cc600b --- /dev/null +++ b/apps/palworld-server-tool/README.md @@ -0,0 +1,31 @@ +# 幻兽帕鲁服务器管理工具 + +**通过可视化界面及 REST 接口管理幻兽帕鲁专用服务器。** + +基于 `Level.sav` 存档文件解析实现的功能及路线图: + +- [x] 完整玩家数据 +- [x] 玩家帕鲁数据 +- [x] 公会数据 + +基于官方提供的 RCON 命令(仅服务器可用的)实现功能: + +- [x] 获取服务器信息 +- [x] 在线玩家列表 +- [x] 踢出/封禁玩家 +- [x] 游戏内广播 +- [x] 平滑关闭服务器并广播消息 + +本工具使用 bbolt 单文件存储,将 RCON 和 Level.sav 文件的数据通过定时任务获取并保存,提供简单的可视化界面和 REST 接口和便于管理与开发。 + +请确保前提 [开启私服 RCON](https://github.com/zaigie/palworld-server-tool?tab=readme-ov-file#%E5%A6%82%E4%BD%95%E5%BC%80%E5%90%AF%E7%A7%81%E6%9C%8D-rcon) + +> 解析 `Level.sav` 存档的任务需要在短时间(<20s)耗费一定的系统内存(1GB~3GB),这部分内存会在执行完解析任务后释放,因此你至少需要确保你的服务器有充足的内存。若不满足可使用如下等方式 + +这里**默认为将 pst 工具和游戏服务器放在同一台物理机上**,在一些情况下你可能不想要它们部署在同一机器上: + +- 需要单独部署在其它服务器 +- 只需要部署在本地个人电脑 +- 游戏服务器性能较弱不满足,采用上述两种方案之一 + +**请参考 [pst-agent 部署教程](https://github.com/zaigie/palworld-server-tool/blob/main/README.agent.md) 或 [从 k8s-pod 同步存档](https://github.com/zaigie/palworld-server-tool?tab=readme-ov-file#%E4%BB%8E-k8s-pod-%E5%90%8C%E6%AD%A5%E5%AD%98%E6%A1%A3)** \ No newline at end of file diff --git a/palworld-server-tool/data.yml b/apps/palworld-server-tool/data.yml similarity index 100% rename from palworld-server-tool/data.yml rename to apps/palworld-server-tool/data.yml diff --git a/palworld-server-tool/logo.png b/apps/palworld-server-tool/logo.png similarity index 100% rename from palworld-server-tool/logo.png rename to apps/palworld-server-tool/logo.png diff --git a/palworld-server-tool/README.md b/palworld-server-tool/README.md deleted file mode 100644 index 250571df3..000000000 --- a/palworld-server-tool/README.md +++ /dev/null @@ -1,25 +0,0 @@ -幻兽帕鲁服务器管理工具 - -通过可视化界面及 REST 接口管理幻兽帕鲁专用服务器,基于 SAV 存档文件解析及 RCON 实现 -基于 Level.sav 存档文件解析实现的功能及路线图: - 完整玩家数据 - 玩家帕鲁数据 - 公会数据 -基于官方提供的 RCON 命令(仅服务器可用的)实现功能: - 获取服务器信息 - 在线玩家列表 - 踢出/封禁玩家 - 游戏内广播 - 平滑关闭服务器并广播消息 -本工具使用 bbolt 单文件存储,将 RCON 和 Level.sav 文件的数据通过定时任务获取并保存,提供简单的可视化界面和 REST 接口和便于管理与开发。 - -请确保前提 开启私服 RCON - -解析 Level.sav 存档的任务需要在短时间(<20s)耗费一定的系统内存(1GB~3GB),这部分内存会在执行完解析任务后释放,因此你至少需要确保你的服务器有充足的内存。若不满足可使用如下等方式 - -这里默认为将 pst 工具和游戏服务器放在同一台物理机上,在一些情况下你可能不想要它们部署在同一机器上: - -需要单独部署在其它服务器 -只需要部署在本地个人电脑 -游戏服务器性能较弱不满足,采用上述两种方案之一 -请参考 https://github.com/zaigie/palworld-server-tool/blob/main/README.agent.md 部署教程 \ No newline at end of file diff --git a/palworld-server-tool/latest/docker-compose.yml b/palworld-server-tool/latest/docker-compose.yml deleted file mode 100644 index cc4fe8d06..000000000 --- a/palworld-server-tool/latest/docker-compose.yml +++ /dev/null @@ -1,25 +0,0 @@ -version: '3' -services: - pst: - image: jokerwho/palworld-server-tool:latest - container_name: ${CONTAINER_NAME} - restart: always - networks: - - 1panel-network - ports: - - "${PANEL_APP_PORT_HTTP}:8080" - volumes: - - "${PANEL_APP_path}:/game" - environment: - - "WEB__PASSWORD=${WEB_PASSWORD}" - - "RCON__ADDRESS=${RCON_ADDRESS}" - - "RCON__PASSWORD=${RCON_PASSWORD}" - - "SAVE__PATH=${SAVE_PATH}" - - "SAVE__SYNC_INTERVAL=${SAVE_SYNC_INTERVAL}" - - SAVE__DECODE_PATH=/app/sav_cli - - SAVE__PATH=/game/Level.sav - labels: - createdBy: "Apps" -networks: - 1panel-network: - external: true \ No newline at end of file