服务器队列 - WebSocket - 测试版 24小时 - 测试

服务器队列 - WebSocket - 测试版 24小时 - 测试

Palworld接入队列系统,带30秒轮次预留,通过Webhook发送Discord通知,并支持JSON持久化。检测玩家、管理槽位,并自动更新消息。

幻兽帕鲁服务器排队系统

描述

此模组为您的幻兽帕鲁服务器添加了自动排队和预约系统,在服务器满员时管理玩家访问。它通过 Webhooks 与 Discord 集成,提供关于排队状态、当前轮次和可用位置的实时通知。所有状态都持久化存储在 JSON 文件中,确保服务器重启后的一致性。系统自动检测玩家连接、处理断开连接,并基于公平的先到先得原则授予访问权限。


安装说明

  1. 安装 UE4SS(如果尚未安装)到您的幻兽帕鲁服务器的 Binaries/Win64 文件夹中。
  2. 将模组文件夹(包含 main.luaconfig.lua)放入 UE4SS/Mods/ 目录下。
  3. 编辑 config.lua 以设置您的 Discord Webhook URL,并根据需要调整更新间隔和预约超时时间。
  4. (可选)确保 PalWorldSettings.ini 中包含 ServerPlayerMaxNum 设置——模组会自动读取该值。
  5. 重启您的幻兽帕鲁服务器。模组将在模组文件夹中创建 queue-server.jsonplayers-online.json,并在服务器的 Saved 目录中创建一个隐藏时间文件。

主要功能

  • 自动插槽管理 – 从服务器配置中读取 ServerPlayerMaxNum
  • 公平排队系统 – 玩家按连接时间排序;当有位置空出时,排在最前面的玩家获得预约资格。
  • 预约超时 – 队列中的第一位玩家有 30 秒的加入窗口;如果未加入,则下一位玩家获得机会。
  • Discord 集成 – 发送三条动态嵌入消息:
    • 队列消息 – 显示当前等待的玩家、其位置、可用位置和服务器状态。
    • 预约消息 – 显示当前轮次归属和剩余时间。
    • 空队列消息 – 一条静态绿色嵌入消息,表示没有玩家在等待。
  • 状态持久化 – 所有队列数据、活跃玩家和 Discord 消息 ID 都存储在 JSON 文件中,在崩溃或重启后仍然保留。
  • 孤儿消息清理 – 启动时,使用备份系统删除之前运行留下的任何残留 Discord 消息。
  • 多平台支持 – 可在 Windows 和 Linux 服务器上运行(已在 Windows 上测试)。
  • 低开销 – 运行一个轻量级循环,每几秒更新一次状态(可配置)。

要求

  • 在您的幻兽帕鲁服务器中安装并加载了 UE4SS(虚幻引擎 4 脚本系统)。
  • 一个 Discord Webhook URL – 您必须在 Discord 服务器中创建一个,并将其粘贴到 config.lua 中。
  • 模组期望标准的幻兽帕鲁服务器文件夹结构(Pal/Binaries/Win64/...)。它将尝试自动定位服务器的 Saved 文件夹。

鸣谢

  • 感谢 UE4SS 社区 使得在虚幻引擎游戏中进行 Lua 模组开发成为可能。
  • 灵感来源于热门生存游戏中对公平队列管理的需求。特别感谢在早期测试中提供反馈的服务器管理员。
  • 感谢所有帮助完善 Discord 消息和预约逻辑的贡献者。