Skip to main content

基于NoneBot2的幻兽帕鲁 (Palworld) 服务器 REST API 插件

Project description

nonebot2 pypi python

nonebot-plugin-palworld-sync

基于 Nonebot2 的幻兽帕鲁 (Palworld) 服务器 REST API 插件。

介绍

通过幻兽帕鲁官方 REST API 实现服务器状态监控与群内管理。支持群消息和游戏内互通、玩家踢出/封禁/解封、在线人数查询以及关机与存档等操作。

安装

推荐使用 nb-cli 安装:

nb plugin install nonebot-plugin-palworld-sync --upgrade
或使用包管理器
pip install nonebot-plugin-palworld-sync --upgrade

并在 pyproject.tomlbot.py 中加载插件:

plugins = ["nonebot_plugin_palworld_sync"]

1. 插件配置

服务端 PalDefender 扩展安装 (可选)

若需使用查包、发放道具/帕鲁、强拆据点等高级扩展功能,请先按照 PalDefender 官方指南 在您的幻兽帕鲁服务器上配置并运行该扩展。

幻兽帕鲁服务端配置 (PalWorldSettings.ini)

RESTAPIEnabled=True,RESTAPIPort=8212,AdminPassword="您的管理员密码"

Nonebot 环境变量配置 (.env)

# 基础配置 (官方 REST API)
PALWORLD_API_URL="http://<服务器IP>:8212"
PALWORLD_API_PASSWORD="您的管理员密码"
PALWORLD_QQ_GROUPS=["123456"]  # 生效 QQ 群列表 (JSON 数组格式)
PALWORLD_FORWARD_GROUP_MSG=False  # 是否转发 QQ 群消息到游戏内
PALWORLD_PLAYER_TRACKING=True  # 是否广播玩家进出服通知
PALWORLD_PLAYER_TRACKING_INTERVAL=10  # 状态轮询间隔(秒)

# PalDefender 配置 (可选,用于查包/发物品奖励/强拆)
PALWORLD_PDAPI_ENABLED=True  # 启用 API 扩展
PALWORLD_PDAPI_URL="http://<服务器IP>:17993"
PALWORLD_PDAPI_TOKEN="您的 Token"

# RCON 配置 (需服务端已配置并安装 PalDefender 以支持扩展 RCON 命令,用于 TPA 传送)
PALWORLD_RCON_HOST="<服务器IP>"
PALWORLD_RCON_PORT=25575
PALWORLD_TPA_TIMEOUT=60  # TPA 超时时间(秒)

2. 指令一览

玩家智能模糊匹配说明: 所有需要指定目标的指令(如踢出、封禁、传送、查包、发物品等),在匹配输入的目标昵称/ID时,采用精确匹配最优先,模糊匹配次之的逻辑。若检索到多名重名相似的玩家,为防止误伤,机器人将拒绝执行并列出备选重名列表供发起人细化。

帕鲁服务器命令

指令 参数要求 功能描述 权限要求
/pw status 查看服务器状态 (版本、FPS、在线人数、核心配置等) 公共
/pw players [目标] [目标] 选填 (名字/SteamID) 查看在线玩家,若指定目标则返回详细状态 公共
/pw save 保存当前游戏世界存盘 管理员
/pw say <消息> <消息> 广播消息 发送全局广播公告 管理员
/pw shutdown [秒/force] [消息] [秒/force] 选填 (关闭时间)
[消息] 选填 (广播公告)
关闭服务器 (定时关闭或强制停止) 管理员
/pw kick <目标> [原因] <目标> 昵称/SteamID
[原因] 选填
踢出指定玩家 管理员
/pw ban <目标> [原因] <目标> 昵称/SteamID
[原因] 选填
封禁指定玩家 管理员
/pw unban SteamID 解封指定玩家 管理员

PalDefender 扩展命令

指令 参数要求 功能描述 权限要求
/pw bind <目标> <目标> 必填 (游戏昵称/SteamID) 绑定 QQ 与游戏角色 公共
/pw unbind 解除当前 QQ 绑定 公共
/pw tpa <目标> <目标> 必填 (昵称/QQ/@群友) 申请传送到目标玩家身边 (TPA 交互,有效时间 60 秒) 公共
/pw tpaccept 同意他人的 TPA 传送请求 公共
/pw tpdeny 拒绝他人的 TPA 传送请求 公共
/pw items [目标] [目标] 选填 (昵称/QQ/@群友) 查看背包物品 (不填查看自己,需启用 PDAPI) 公共
/pw pals [目标] [目标] 选填 (昵称/QQ/@群友) 查看持有帕鲁详细属性、IV 值与被动词条 (需启用 PDAPI) 公共
/pw guilds 查看服务器全部公会列表 (需启用 PDAPI) 管理员
/pw give <目标> <物品名/ID> [数量] <目标> 玩家名/QQ/@群友
<物品名/ID> 物品中文名或 ID
[数量] 数量 (默认1)
后台发放道具/武器/材料 (支持中文,需启用 PDAPI) 管理员
/pw givepal <目标> <帕鲁名/ID> <目标> 玩家名/QQ/@群友
<帕鲁名/ID> 帕鲁中文名或 ID
后台发放特定帕鲁实体 (支持中文,需启用 PDAPI) 管理员
/pw deletebase <据点UUID> <据点UUID> 据点UUID 一键强拆销毁指定的玩家据点 (需启用 PDAPI) 管理员
/pw tp <目标> [目标2] <目标> 玩家名/QQ/@群友
[目标2] 选填
直接传送玩家 (只填一个目标时传送自己,需绑定;填两个目标时将源玩家传送到目的地) 管理员

致谢

本项目在实现物品及帕鲁中文化映射功能时,翻译数据来源于以下开源项目,特此致谢:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_palworld_sync-0.1.7.tar.gz (55.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_palworld_sync-0.1.7-py3-none-any.whl (56.4 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_palworld_sync-0.1.7.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_palworld_sync-0.1.7.tar.gz
Algorithm Hash digest
SHA256 8b3d153f5e5a277d006280285fb471313265d978e70eda12270bfe8bc0fd01b9
MD5 acb85a289770350914a5086aa6818ba1
BLAKE2b-256 846db98b22377b306d2d6ae9102cc89cf4a96074b4fe9f7e75fedcd25cb200d5

See more details on using hashes here.

File details

Details for the file nonebot_plugin_palworld_sync-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_palworld_sync-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 050b46ad0d43e700914922ab9bd8f2fdd6e037aed9bb427963bcf7993399d6c2
MD5 ad53e05973e94f655551851bad976432
BLAKE2b-256 03ca9a3454155686b1979184b5fc90a8513cc0f4a936387c326b5469a45017b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page