Code Monkey home page Code Monkey logo

palworld-go's Introduction

palworld-go

palworld-go

✨ 适用于palworld的跨平台服务端面板 ✨

✨ 使用go+quasar实现的palworld webui ✨

特别鸣谢+推荐

本项目的直接参考(linux版的palworld服务端守护脚本)

https://gist.github.com/Bluefissure/b0fcb05c024ee60cad4e23eb55463062

本项目内置了该项目的编译后网页dist

https://github.com/Bluefissure/pal-conf

特别鸣谢

https://github.com/VeroFess/PalWorld-Server-Unoffical-Api

本项目简化并自动了上方项目的dll注入,为帕鲁服务端命令行引入了增强的rcon api(中文输入)和可操作的命令行控制台。

https://github.com/N00byKing/PalWorld-ServerInjector

本项目简化并自动了上方项目的dll注入,并内置了其注入器的可执行文件。

感谢腾讯云提供的折扣服务器

https://curl.qcloud.com/8K1KhiJd

【腾讯云】热卖套餐配置低至26元/月起,助您一键开服,即刻畅玩,立享优惠!

机器人

初步实现了Onebotv11标准的palworld机器人

可配合https://gensokyo.bot 项目在 QQ群 QQ频道 kook频道 Discord群组 部署

支持的机器人特性:面板即机器人 有面板,未搭建机器人的用户,可去中心化的公用已搭建的机器人

目前机器人支持指令:

	"getbot - 获取机器人信息",

	"player - 获取玩家信息",

	"update player - 更新玩家信息",

	"玩家列表 - 显示玩家列表",

	"刷新玩家列表 - 刷新并显示玩家列表",

	"kick - 踢出玩家",

	"踢人 - 踢出玩家",

	"ban - 封禁玩家",

	"封禁 - 封禁玩家",

	"Broadcast - 发送广播消息",

	"广播 - 发送广播消息",

	"重启服务器 - 重启游戏服务器",

	"restart - 重启游戏服务器",

使用方法

The user interface language of this project is in Chinese.

However, you are free to use the built-in web page translation features of various browsers to translate it into any language of your choice.

Should you encounter any issues, please feel free to submit an issue in any language.

交流群:955320532 587997911

本项目的webui特别对移动端设备进行优化,手机使用更轻松 (老版本iossafari 如果遇到按钮点不动刷新页面再点即可)

webui可友善的可视化的修改帕鲁服务器,守护配置,内存配置,目前webui端口固定52000

将可执行文件放置在

\steamcmd\steamapps\common\PalServer\PalServer.exe

同级目录

运行palworld-go.exe 会自动进入webui

webui默认地址:http://127.0.0.1:52000

端口可在config.json修改,放通至公网可在公网访问

控制台默认用户名 palgo 默认密码 useradmin

用户名即帕鲁服务器名(serverName),可中文 密码即rcon密码(adminPassword) 纯英文

图片介绍

内存清理和定时广播等设定

帕鲁服务器设定

直接按钮开关

可自动补全的rcon命令

bluefissure制作的sav修改页面

服务器监控

自动注入

玩家管理

存档管理

机器人管理

引擎配置管理

兼容性

windows通过了测试,linux有待测试

RCON发送中文

内置了

https://github.com/VeroFess/PalWorld-Server-Unoffical-Api/releases/tag/previev-0.0.2

开启-守护配置修改-自动注入DLL 可在palworld命令行使用 Broadcast 中文

完全是得益于VeroFess的开发,palgo面板只是自动做了载入。

场景支持

在手机上痛快的操作和管理服务器,当管理不再手忙脚乱。

内存不足的时候,通过rcon通知服务器成员,然后重启服务器

通过调用微软的rammap释放无用内存,并将有用内存转移至虚拟内存,实现一次释放50%+内存

贴心提示

如果启动自动注入UE4SS和可输入命令控制台DLL后游戏服务端无法启动

请定位到"\PalServer\Pal\Binaries\Win64\UE4SS-settings.ini"

打开,定位到GraphicsAPI,修改为dx11 ; The API that will be used to render the GUI debug window.

; Valid values (case-insensitive): dx11, d3d11, opengl

; Default: opengl

GraphicsAPI = dx11

或设置Debug 配置项 3个值 全部为0

palworld-go's People

Contributors

fatevase avatar hoshinonyaruko avatar jadezi avatar mapleeve avatar minidoracat avatar tardis07 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

palworld-go's Issues

千万不要把备份文件夹放到存档文件夹的下(以及子目录)

第一次使用有点不熟悉,把在存档文件夹下新建了一个文件夹指定为了存档文件夹,结果那个备份文件夹变成了无限递归嵌套的文件夹,想删掉都难,用了RoboCopy命令删除没起效果,又在网上找了另一个办法,就是用VSCODE删除文件夹,操作后等了好久终于删掉了……

RCON中文广播

已知游戏里是正常发送中文广播,但是palgo里不行,是不是编码问题呢

Linux 依然無法使用網頁進行中文廣播

使用了最新版本,在網頁上使用 broadcast 指令廣播,發送出去後,沒有任何回應,而且無法再繼續使用任何命令
除非重整頁面
而使用 Broadcast 開頭大寫的,則是可以正常使用,發送後也能繼續使用其他指令

端口多了一个逗号

Error fetching current players: rcon: dial tcp 127.0.0.1:25575: connectex: No connection could be made because the target machine actively refused it

Re-modify the WebUI

Does the author have the willingness to re-modify the WebUI? If so, I can provide a prototype diagram. The following is the preliminary functional architecture.

I won’t draw if I don’t have the will, so I’ll ask first.

image

Problems with server not shutting down

If i press the Restart Server button on front, run one more palserver program without closing the server, and if i press the Shutdown Server button on front, it will see STOP in the Palworld GO console, but the server will not actually shut down.

自动重启失效

L9{I)WR9V@B}8I 9 YRG`07

TDI5VYUH6X%E0%GQ0O~(LW2

如图所示,都正确配置(一般来说用该面板的都是默认开启,按道理没问题。)
然后不能进行自动重启(第一次存档坏了好像也是因为不能自动重启)

Error fetching latest tag

Error message

Error fetching latest tag: Get "https://gitee.com/api/v5/repos/sanaefox/palworld-go/tags": dial tcp 182.255.33.134:443: i/o timeout

Result

Program exits after this error

Environment

  • VPS on Hetzner
  • Ubuntu 22.04 LTS, x86_64
  • curl https://gitee.com/api/v5/repos/sanaefox/palworld-go/tags on the machine also fails
  • It is very likely a problem from Hetzner, the network traffic to Gitee is somehow being restricted

Workaround

  • Maybe we could try calling Github API after Gitee API times out and throws an error. Reference
  • For example, in Github Cli
gh api \
  -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  /repos/Hoshinonyaruko/palworld-go/tags

And we get

[
  {
    "name": "33/merge",
    "zipball_url": "https://api.github.com/repos/Hoshinonyaruko/palworld-go/zipball/refs/tags/33/merge",
    "tarball_url": "https://api.github.com/repos/Hoshinonyaruko/palworld-go/tarball/refs/tags/33/merge",
    "commit": {
      "sha": "1ebc44062aada3026f6cc0d12522fc76a094eba5",
      "url": "https://api.github.com/repos/Hoshinonyaruko/palworld-go/commits/1ebc44062aada3026f6cc0d12522fc76a094eba5"
    },
    "node_id": "REF_kwDOLIL-VrJyZWZzL3RhZ3MvMzMvbWVyZ2U"
  },
  {
    "name": "29/merge",
    "zipball_url": "https://api.github.com/repos/Hoshinonyaruko/palworld-go/zipball/refs/tags/29/merge",
    "tarball_url": "https://api.github.com/repos/Hoshinonyaruko/palworld-go/tarball/refs/tags/29/merge",
    "commit": {
      "sha": "95ab02c95b85085ec13f2cb04de6021966b3c5a9",
      "url": "https://api.github.com/repos/Hoshinonyaruko/palworld-go/commits/95ab02c95b85085ec13f2cb04de6021966b3c5a9"
    },
    "node_id": "REF_kwDOLIL-VrJyZWZzL3RhZ3MvMjkvbWVyZ2U"
  },
  {
    "name": "26/merge",
    "zipball_url": "https://api.github.com/repos/Hoshinonyaruko/palworld-go/zipball/refs/tags/26/merge",
    "tarball_url": "https://api.github.com/repos/Hoshinonyaruko/palworld-go/tarball/refs/tags/26/merge",
    "commit": {
      "sha": "a240e78fb17786d72cd12324267dc4f12a705e3c",
      "url": "https://api.github.com/repos/Hoshinonyaruko/palworld-go/commits/a240e78fb17786d72cd12324267dc4f12a705e3c"
    },
    "node_id": "REF_kwDOLIL-VrJyZWZzL3RhZ3MvMjYvbWVyZ2U"
  },
...

[功能建议] 闲时自动重启功能

想法如下:

【服务端运行时间超过 xx 秒】&& 【连续 xx 秒在线玩家数量小于 xx 人】&&【服务器内存大于 xx GB/ xx%】进行重启。

前俩条件应该是硬性的,最后的那个可有可无。

怎么关闭虚拟内存功能

想知道怎么关闭转至虚拟内存的功能。我的内存应该够用比较久,但是我的硬盘不大。
其他的 广播、内存阈值自动重启、定时重启、备份存档功能都需要。

重启不行,关闭不行,保存不行

服务器配置的重启,关闭,保存这三个按键都有毛病

保存——点一次保存直接新开一个游戏窗口,原来的都没关掉,点了一下保存我直接服务器cpu炸了

重启——无效,关不掉原来的反而多了一个窗口

关闭——无效,关不掉原来的窗口

这release前都不测试的吗,有个英文的issue也在说这个事情

自动重启相关问题

QQ图片20240219152105
在面板点击重启服务端后,服务端运行正常,但是开服器控制台出现“检测到服务器已手动关闭,不执行重启操作”的字样,有可能会影响服务器内存超过阙值自动重启功能。

[功能建议]服务端存档自动备份相关功能

由于服务端意外关闭或其他因素导致我的存档经常丢失(回档到数个小时前),非常感谢palworld-go面板所拥有的存档自动备份功能,让我免受这方面的困扰(在使用前朋友因为服务端问题而丢失了金火箭的设计图wwww)

我的服务端因为经常调试,备份的比较频繁(每十分钟一次),而每一次备份的存档大概会有10MB大小(目前是4-6人左右的中后期档),按照这个备份频率两天下来就好几G了。

我希望可以有以下功能来解决相关问题:

1.分开备份服务器配置文件和玩家存档;

  • 检测服务器配置文件是否有变更,无变更不不备份。或单独设置备份频率每X小时/每天/每周
  • 玩家存档备份频率设置每X分钟/每X小时/每天

2.定期检测删除大于X时/X天/X周以前的旧存档;

  • 比如上周七天,一天的多个时间段都保存了存档,将这些存档都删除保留当天最后一个保存的存档:2024-02-01-23-59-20。这样一来从一天多个时间段的精准存档精简为当天存档的备份,节约服务器存储空间同时保留了最基本的回档机会。

3.定时检查服务器是否无人在线,若一直没有玩家在线则不保存或延长存档备份间隔,待下次玩家在线后恢复存档备份频率(延长夜间存档备份频率,服务器空闲时间尽量减少备份次数)。

  • 每X分/X小时检测一次
  • 延长备份时间X分钟/X小时

谢谢。

[功能建议]服务器自动重启相关功能完善

目前的自动重启完全靠restart.sh实现,但面板中没有关于是否需要开启自动重启的选项。

以及在未运行服务端前先运行面板也会默认自动拉起服务端,但我想要两者独立控制,方便调试。

例如我手动关闭了服务器,但面板又自动开启了服务器,并且我想终止只能用pkill将面板终止(由面板启动的服务端也会被一起终止)。

此外,面板中关于服务端启停控制的相关操作也无法正常实现,也许自动重启策略有关?

所有个人希望可以加上以下功能:

1.是否开启服务端自动重启功能;

2.开启面板时是否启动服务端;

鉴权问题

今下午摸鱼发现后端偷懒,接口/api/getsavelist/api/changesave,分别为查看存档备份与回档接口,二者未做鉴权处理,导致可以直接请求回档接口重启帕鲁服务器,今下午已经拿群友做过实验,另外查看玩家列表也没有,都可以直接访问
image
image

Linux CPU占用飙升

image

Linux里面开启之后,过一段时间就把CPU卡爆了,一直100%,机器差点失联,过一段时间回落到98%可以把容器关掉,我是放到容器里运行的。cpu是N6005,内存24G,分配给容器16G。

关键是改了我启动脚本还是咋的,去掉启动命令容器就起不了了。
Clip_2024-02-18_10-39-49

还是没法广播

首先填入hello 123,广播出来是hello
其次填入呦西,广播是乱码
最后填入"hello 123", 广播出来是"hello
image
image
image

[功能建议]增加单独的账号密码配置

JE`YDGGBACO2S{Y4OZ)B496
帕鲁服务器名称作为登录名称不太合适,现在绝大多数开服gm都会用名称来表示该服务器的游戏信息,以便玩家选择性进入,而用名称再作为管理面板的登录名显然不太合适,也不够安全。另外,建议如果单独配置用户名了,再单独配置个面板密码应该也不会太麻烦吧。毕竟两者之间用一个密码,对服务器的安全确实有不少影响。意见仅作参考,不喜勿怪。

https证书不识别

我打开了自带的强制https功能,并且将cert.pem和key.pem文件放到了程序exe目录下,但是打开webui提示没有证书。
微信截图_20240201092028
微信截图_20240201092019

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.