zaigie / palworld-server-tool

[中文|English|日本語]基于.sav存档解析和REST&RCON优雅地用可视化界面管理幻兽帕鲁专用服务器。/ Through parse .sav and REST&RCON, visual interface management PalWorld dedicated server.
Apache License 2.0
806 stars 92 forks source link

| ERROR | task/task.go:145 | error waiting for command: exit status 255 #207

Closed GuguguBear closed 4 weeks ago

GuguguBear commented 4 months ago
root@debian:/opt/pst# ./pst 
2024/06/04 - 11:17:26 | INFO | palworld-server-tool/main.go:88 | Starting PalWorld Server Tool...
2024/06/04 - 11:17:26 | INFO | palworld-server-tool/main.go:89 | Version: v0.7.1
2024/06/04 - 11:17:26 | INFO | palworld-server-tool/main.go:90 | Listening on http://127.0.0.1:8080 or http://10.10.10.9:8080
2024/06/04 - 11:17:26 | INFO | palworld-server-tool/main.go:91 | Swagger on http://127.0.0.1:8080/swagger/index.html
2024/06/04 - 11:17:26 | INFO | task/task.go:45 | Scheduling Player sync...
2024/06/04 - 11:17:26 | INFO | task/task.go:26 | Scheduling backup...
2024/06/04 - 11:17:26 | INFO | task/task.go:142 | Scheduling Sav sync...
2024/06/04 - 11:17:26 | INFO | task/task.go:54 | Player sync done
[196867] Error loading Python lib '/tmp/_MEI1Exylg/libpython3.11.so.1.0': dlopen: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.35' not found (required by /tmp/_MEI1Exylg/libpython3.11.so.1.0)
2024/06/04 - 11:17:26 | ERROR | task/task.go:145 | error waiting for command: exit status 255
2024/06/04 - 11:17:26 | INFO | task/task.go:147 | Sav sync done
2024/06/04 - 11:17:27 | INFO | task/task.go:41 | Auto backup to 2024-06-04-11-17-26.zip

主要错误:

[196867] Error loading Python lib '/tmp/_MEI1Exylg/libpython3.11.so.1.0': dlopen: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.35' not found (required by /tmp/_MEI1Exylg/libpython3.11.so.1.0)
2024/06/04 - 11:17:26 | ERROR | task/task.go:145 | error waiting for command: exit status 255

表现:

网页中玩家身上物品不显示,公会不显示。

GuguguBear commented 4 months ago

问题定位:系统是 Debian 已经跑过 Update 和 Upgrade

root@debian:~#    ldd --version
ldd (Debian GLIBC 2.31-13+deb11u10) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
root@debian:~# 

Debian 系统使用的 GLIBC 版本是 2.31,这低于 PalWorld Server Tool 所需的 GLIBC 2.35 版本。

由于这个版本差异,遇到了兼容性问题。

请问这情况我需要怎么解决呀?

解决不了,成本太高,改用 Docker,方便快捷。

GuguguBear commented 4 months ago

一个解决方案是使用 Docker 部署服务。

Debian 系统可以这样部署:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl status docker

docker run -d --name pst \
-p 8080:8080 \
-v /home/palserver/PalServer/Pal/Saved/SaveGames/0/3FEC52C3D5678256BA6D51F6BC161E01/:/game \
-v /home/backups:/app/backups \
-e WEB__PASSWORD="你的网站密码" \
-e RCON__ADDRESS="你的服务器IP:25575" \
-e RCON__PASSWORD="你的管理员密码" \
-e REST__ADDRESS="http://你的服务器IP:8212" \
-e REST__PASSWORD="你的管理员密码" \
-e SAVE__PATH="/game" \
-e SAVE__SYNC_INTERVAL=120 \
jokerwho/palworld-server-tool:latest

基于 Docker 部署容器后续的升级:

docker stop pst
docker rm pst
docker pull jokerwho/palworld-server-tool:latest

docker run -d --name pst \
-p 8080:8080 \
-v /home/palserver/PalServer/Pal/Saved/SaveGames/0/3FEC52C3D5678256BA6D51F6BC161E01/:/game \
-v /home/backups:/app/backups \
-e WEB__PASSWORD="你的网站密码" \
-e RCON__ADDRESS="你的服务器IP:25575" \
-e RCON__PASSWORD="你的管理员密码" \
-e REST__ADDRESS="http://你的服务器IP:8212" \
-e REST__PASSWORD="你的管理员密码" \
-e SAVE__PATH="/game" \
-e SAVE__SYNC_INTERVAL=120 \
jokerwho/palworld-server-tool:latest
Simple2ich4n commented 3 months ago

此前使用的是阿里云的计算巢服务器,默认linux版本是Ubuntu 20.04,经过对ubuntu系统的升级,不再报错glibc版本问题了

# ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

但是现在报另一个问题,页面依旧不显示物品等

[SAV-CLI] 2024/06/27 - 19:35:20 | INFO | Converting...
[SAV-CLI] 2024/06/27 - 19:35:21 | INFO | Structuring players...
Traceback (most recent call last):
  File "sav_cli.py", line 37, in <module>
  File "structurer.py", line 217, in structure_player
  File "structurer.py", line 370, in getPlayerItems
KeyError: 'inventoryInfo'
[1300] Failed to execute script 'sav_cli' due to unhandled exception!
2024/06/27 - 19:35:23 | ERROR | task/task.go:145 | error waiting for command: exit status 1
2024/06/27 - 19:35:23 | INFO | task/task.go:147 | Sav sync done
jojowhoooo commented 3 months ago

我也是遇到相同的问题

2024/06/28 - 07:38:36 | INFO | task/task.go:41 | Auto backup to 2024-06-28-07-38-35.zip
[SAV-CLI] 2024/06/28 - 07:38:38 | INFO | Structuring players...
Traceback (most recent call last):
  File "sav_cli.py", line 37, in <module>
  File "structurer.py", line 217, in structure_player
  File "structurer.py", line 370, in getPlayerItems
KeyError: 'inventoryInfo'
[23] Failed to execute script 'sav_cli' due to unhandled exception!
2024/06/28 - 07:38:40 | ERROR | task/task.go:145 | error waiting for command: exit status 1
2024/06/28 - 07:38:40 | INFO | task/task.go:147 | Sav sync done
LOVE2CMOL commented 2 months ago

已经提交兼容pr 并且合进了主分支 #210 重新拉主分支代码自行编译为docker镜像后运行即可