- 版权类型
- 原创
- 插件中文名称
- 背包管理
- 插件英文名称
- BackPackManager
- 原帖地址
- #
- 支持的核心(服务端)
- Paper
- Folia
- Purpur
- Leaves
- 语言支持
- 多语言
- 适配版本(Java)
- 26.x
- 1.21
BackPackManager —— 实体物品背包系统(持久存储 + 防复制 + 备份管理)
为 Paper 1.21.x 设计的物理实体背包插件:真实物品背包、分页持久化存储、容量扩展、快照备份与恢复、管理员搜索与隔离、第三方自定义物品全面兼容。可选 Redis / Velocity 跨服部署,SQLite / MySQL / MariaDB 三选一存储。
效果预览




插件信息
软依赖(全部可选,按需增强)
核心功能
1. 实体背包物品
2. 分页持久化存储
3. 默认 8 种背包(可自由定义)
皮革旅行背包(18 格)、简易背包、铜制背包、铁制背包、伐木背包、矿工背包、钻石背包、下界合金背包——每种背包独立定义材质、名称、容量与 Lore,支持自定义模型数据。
4. 容量扩展
5. 内容预览
6. 备份 / 恢复 / 审计(管理员利器)
7. 管理员搜索与违禁管理
8. 远程管理
9. 第三方生态兼容
10. 防复制 / 防重复(fail-closed)
11. 跨服部署(可选)
12. 保护集成
命令列表
背包内容搜索、隔离/释放、恢复、导出均在管理后台 GUI 中操作。
权限列表(survivalbackpacks 前缀)
配置结构(首次启动自动生成)
配置示例(真实模板)
背包定义 backpacks/leather.yml(皮革旅行背包)
扩容与交互 config.yml(关键片段)
备份策略 backups.yml
违禁规则 restrictions.yml
数据存储 database.yml
安装说明
截图
(发帖前请补充:背包 GUI / 内容预览 / 管理后台 / 快照对比 / 跨服架构示意)
更新日志(2.0.0 要点)
常见问题(FAQ)
Q1:用 SQLite 还是 MySQL?
A:单服直接用默认 SQLite(零配置);群组服跨服同步必须使用 MySQL / MariaDB,并在 database.yml 中配置。
Q2:跨服模式怎么开启?
A:四步:① database.yml 配置 MySQL/MariaDB;② config.yml 打开 cross-server.enabled;③ 配置 Redis(分布式写锁);④ 代理端安装 BackPackManager-Velocity,确保各子服 server-id 唯一。
Q3:灵魂绑定需要装插件吗?
A:BackPackManager不内置灵魂绑定,只识别并尊重第三方绑定结果(ItemSoulBind / SakuraBind / GuibindPro 等),放置 → 方块/家具 → 收回全流程保持绑定状态。
Q4:扩容核心怎么用?
A:默认末影之眼(可在配置中更换),把它拿到光标上,左键点击背包栏里的真实背包即可扩容,每次 +9 格,最大 225 格。
Q5:备份存在哪里?怎么恢复?
A:快照存在数据库内,通过管理后台 GUI 操作:玩家列表 → 背包 → 快照历史 → 对比 → 恢复前预览 → 确认恢复;也支持导出为潜影盒。
Q6:怎么防止玩家复制背包?
A:三层机制:放置日志持久化 + 重启自动对账(fail-closed);重复扫描 + CAS 提交;背包打开期间由会话缓冲区管理,禁止界面操作直接改写物理物品。
Q7:背包放进末影箱/潜影盒会被禁吗?
A:默认策略:末影箱与潜影盒只允许空背包放入(empty-only),背包内禁止嵌套背包(deny),防止无限嵌套刷物品。
Q8:支持哪些领地插件?
A:AntiGriefLib 体系 26+ 插件(WorldGuard、Lands、Residence、Towny、Factions、PlotSquared、GriefPrevention、GriefDefender、Kingdoms、BentoBox、SuperiorSkyblock2 等),已放置背包的放置/打开/拆除均受领地保护。
Q9:从旧版本升级会怎样?
A:本插件只接受当前版本的配置与数据库格式(config-version 20 / database-version 1 / JDBC schema 6),跨大版本迁移请使用全新数据目录,不会强行改写旧库。
注意事项
为 Paper 1.21.x 设计的物理实体背包插件:真实物品背包、分页持久化存储、容量扩展、快照备份与恢复、管理员搜索与隔离、第三方自定义物品全面兼容。可选 Redis / Velocity 跨服部署,SQLite / MySQL / MariaDB 三选一存储。
效果预览




插件信息
- 插件名称:BackPackManager
- 当前版本:2.0.
- 适用服务端:Paper 1.21.
- 插件类型:背包 / 存储 / 管理类
- 语言支持:简体中文(默认)、English
- 主命令:/backpack(别名 /bp)
- Q群:1102249149
软依赖(全部可选,按需增强)
- 自定义物品:ItemsAdder、Oraxen、Nexo、CraftEngine、MMOItems、NeigeItems、MythicMobs / MythicCrucible、ExecutableItems、EcoItems、SCore
- 占位符 / 绑定:PlaceholderAPI(自带扩展)、ItemSoulBind、SakuraBind、GuibindPro、MythicLib
- 容器锁:ChestProtect
- 领地保护(AntiGriefLib 体系):WorldGuard、Lands、Residence、Towny、Factions、PlotSquared、GriefPrevention、GriefDefender、Kingdoms、BentoBox、SuperiorSkyblock2、HuskClaims、HuskTowns、IridiumSkyblock、CrashClaim、RedProtect、Dominion 等 26+ 插件
核心功能
1. 实体背包物品
- 背包是真实物品:手持背包右键即开,可交易、可存放、可放置;
- 每个背包拥有独立的Instance UUID(背包实例)与 Storage UUID(存储空间),身份与数据分离,扩容、备份均不改变身份。
2. 分页持久化存储
- 每页54 个真实储物槽,无保留控制行,全页可放物品;
- 逻辑容量9 ~ 540 格,页数、扩容上限均可配置;
- 换页手势原生顺手:多页背包空手点击界面外,左键上一页、右键下一页;
- 背包标题实时显示页码,同尺寸翻页原地刷新,不重建界面。
3. 默认 8 种背包(可自由定义)
皮革旅行背包(18 格)、简易背包、铜制背包、铁制背包、伐木背包、矿工背包、钻石背包、下界合金背包——每种背包独立定义材质、名称、容量与 Lore,支持自定义模型数据。
4. 容量扩展
- 手持扩容核心(默认末影之眼,可换任意原版/自定义物品)在背包栏左键点击真实背包即可扩容;
- 每次 +9 格,单个 Storage 最大可扩至225 格;
- 扩容走 CAS 提交 + 索引 + 审计,同背包扩容后身份不变,外部引用不失效。
5. 内容预览
- 支持BUNDLE 原版背包图标网格或Lore 文字预览两种模式;
- 预览数据只来自权威 Storage,绝不把界面状态当数据。
6. 备份 / 恢复 / 审计(管理员利器)
- 不可变快照 + 同状态去重 + 按理由/时限保留策略;
- 支持快照对比、恢复前预览(PRE_RESTORE)、导出;
- 完整管理链路:玩家列表 → 筛选/搜索 → 选中玩家背包 → 统一管理 → 快照历史 → 只读快照页 → 对比/确认恢复;
- 手动备份、备份删除、导出均有独立权限节点。
7. 管理员搜索与违禁管理
- 按单个 Storage / 单个玩家 / 全服三种范围搜索背包内容;
- 快照本地只读过滤 + 违禁规则视图;
- 隔离 / 完整性校验 / 解除隔离完整工作流(GUI 确认);
- 危险结果删除需独立权限(默认不授予),先备份、校验过期结果、CAS 写入、全程审计。
8. 远程管理
- 管理员可远程只读打开任意玩家背包;
- 远程编辑需独立权限,物品变更带明细审计,责任可追溯。
9. 第三方生态兼容
- 自定义物品 Provider 统一注册:ItemsAdder、Oraxen、Nexo、CraftEngine、MMOItems、NeigeItems、MythicMobs/Crucible、ExecutableItems、EcoItems;
- 灵魂绑定兼容:识别第三方绑定(附魔 / PDC / Lore),放置 → 方块/家具 → 收回全流程保持绑定状态;尊重第三方找回/追回逻辑,不越权接管;
- PlaceholderAPI 扩展随插件注册,可展示背包容量、使用格数等占位符。
10. 防复制 / 防重复(fail-closed)
- 放置日志持久化:PLACE_PENDING → COMMITTED → BREAK_PENDING → RECOVERY_REQUIRED,重启自动对账;
- 重复扫描 + CAS 提交 + 审计写入,杜绝卡顿复制、延迟拆除复制等常见刷法;
- 背包打开期间由会话缓冲区管理,禁止移动直接落到物理物品,防幽灵物品。
11. 跨服部署(可选)
- MySQL/MariaDB 为权威数据源 + Redis 分布式写锁(Single Writer) + Velocity 缓存失效中继(SBX3 协议,只转发带过期时间的失效通知,真实数据不过代理);
- 玩家跨服加入时数据库对账,远程版本冲突自动围栏;
- 代理端插件 BackPackManager-Velocity-2.0.0:事件 UUID 去重(120 秒)、仅接受后端来源、消费客户端消息防伪造。
12. 保护集成
- 已放置背包的领地/区域保护交给 AntiGriefLib 体系(26+ 主流领地插件);
- 容器锁/信任交给ChestProtect(若安装);
- OP 绕过与独立绕过权限均可配置。
命令列表
- /bp help(command) —— 命令帮助(所有人)
- /bp info —— 查看插件信息(所有人)
- /bp give(玩家)(类型) —— 发放指定类型背包(survivalbackpacks.admin.give)
- /bp open(storage-uuid) —— 打开指定存储空间(survivalbackpacks.admin.open)
- /bp backup(storage-uuid/玩家) —— 手动创建备份(survivalbackpacks.admin.backup.create)
- /bp reload —— 重载配置(survivalbackpacks.admin.reload)
背包内容搜索、隔离/释放、恢复、导出均在管理后台 GUI 中操作。
权限列表(survivalbackpacks 前缀)
- survivalbackpacks.use —— 使用背包(默认 true)
- survivalbackpacks.expand —— 使用扩容核心扩容(默认 true)
- survivalbackpacks.protection.bypass —— 绕过领地保护判定(默认 false)
- survivalbackpacks.admin —— 管理员总权限(聚合下列子权限,默认 op)
- survivalbackpacks.admin.give / open / reload —— 发放 / 打开 / 重载(默认 op)
- survivalbackpacks.admin.remote(含 .view) —— 远程只读(默认 op)
- survivalbackpacks.admin.remote.edit —— 远程编辑(独立授权,默认 false)
- survivalbackpacks.admin.search —— 内容搜索(默认 op)
- survivalbackpacks.admin.search.remove —— 危险结果删除(默认不授予)
- survivalbackpacks.admin.quarantine / unquarantine —— 隔离 / 解除隔离(默认 op)
- survivalbackpacks.admin.backup.* —— 备份查看 / 创建 / 恢复 / 删除 / 导出(默认 op)
- survivalbackpacks.admin.soulbound.bypass —— 灵魂绑定绕过(默认 op)
配置结构(首次启动自动生成)
代码:
plugins/BackPackManager/
├─ config.yml # 主配置(config-version 20):语言 / 显示 / 持久化 / 安全 / 保护 / 扩容 / 灵魂绑定 / 跨服
├─ database.yml # 数据存储(SQLite / MySQL / MariaDB + 连接池)
├─ backups.yml # 备份保留策略
├─ restrictions.yml # 违禁规则
├─ backpacks/ # 背包定义(leather / simple / copper / iron / lumber / miner / diamond / netherite)
├─ menus/ # 管理后台 GUI 布局
├─ languages/ # zh_CN.yml / en_US.yml
└─ data/backpacks.db # SQLite 数据文件(默认)
配置示例(真实模板)
背包定义 backpacks/leather.yml(皮革旅行背包)
YAML:
id: leather
enabled: true
material: LEATHER
storage:
slots: 18 # 18 格容量
display:
name: <gold>皮革旅行背包
lore:
- ''
- '{contents}' # 内容预览占位符(自动替换)
- ''
- '<gray>容量: <white>{used}/{capacity}'
- ''
- <yellow>右键打开
扩容与交互 config.yml(关键片段)
YAML:
storage:
max-pages: 10 # 最多 10 页(每页 54 格)
expansion:
enabled: true
slots-per-use: 9 # 每次扩容 +9 格
max-capacity: 225 # 单个背包最大 225 格
material: ENDER_EYE # 扩容核心:默认末影之眼
# 也支持自定义物品:itemsadder:namespace:item / oraxen:item / nexo:item
amount: 1
soulbound-detection:
enabled: true
respect-external-owner: true
enchantments:
enabled: true
key-contains: [soulbound, soul_bind, soulbind]
pdc:
enabled: true
exact-keys: [itemsoulbind:soulbinduuid, itemsoulbind:soulbindgroup]
lore:
enabled: false
contains: [Soulbound, 灵魂绑定, 已绑定]
备份策略 backups.yml
YAML:
config-version: 20
enabled: true
automation:
on-close: true # 背包关闭时自动快照
interval-minutes: 0 # 0 = 不按间隔自动备份
skip-identical: true # 状态未变化跳过(去重)
retention:
max-per-storage: 120 # 每个 Storage 最多保留 120 条
max-age-days: 30 # 超过 30 天自动清理
reasons:
CLOSE: 10
MANUAL: 50
PRE_RESTORE: 20
QUARANTINE: 20
export:
shulker:
enabled: true # 支持导出为潜影盒
违禁规则 restrictions.yml
YAML:
config-version: 20
# policy: allow / empty-only / deny —— 背包内禁止嵌套容器
containers:
backpack:
policy: deny
ender-chest:
policy: empty-only
shulker-box:
policy: empty-only
bundle:
policy: deny
hopper:
policy: allow
admin-search:
enabled: true
max-results: 200
materials: # 预设违禁物扫描
- BEDROCK
- BARRIER
- COMMAND_BLOCK
- STRUCTURE_BLOCK
- DEBUG_STICK
checks:
illegal-enchant-level: true
illegal-stack-size: true
数据存储 database.yml
YAML:
database-version: 1
backend:
type: sqlite # sqlite / mysql / mariadb
sqlite:
file: data/backpacks.db
remote:
host: localhost
port: 3306
database: minecraft
username: root
password: ""
pool:
maximum-size: 10
minimum-idle: 2
connection-timeout-ms: 10000
安装说明
- 将 BackPackManager-2.0.0.jar 放入子服 plugins/ 目录;
- (群组服可选)将 BackPackManager-Velocity-2.0.0.jar 放入代理端 plugins/ 目录;
- 重启服务器;单服默认 SQLite 零配置即可使用;
- 修改配置后执行 /bp reload。
截图
(发帖前请补充:背包 GUI / 内容预览 / 管理后台 / 快照对比 / 跨服架构示意)
更新日志(2.0.0 要点)
- 放置事务化:放置日志 + 启动对账 + fail-closed 防重复,替代旧版事件/两 tick 假设;
- 统一存储事务边界:Single Writer + Redis 锁 + 存储串行化 + 权威读 + CAS + 审计提交;
- 执行上下文显式化:GLOBAL / ENTITY / REGION / ASYNC,Paper/Folia 调度边界无反射回退;
- Provider 健康隔离:单个物品 Provider 故障不影响其他物品识别;
- PAPI 修复:占位符扩展注册与卸载修复,与 PlaceholderAPI 最新版兼容;
- 物理物品变更防火墙:打开期间物品不会被界面操作改写,杜绝幽灵物品。
常见问题(FAQ)
Q1:用 SQLite 还是 MySQL?
A:单服直接用默认 SQLite(零配置);群组服跨服同步必须使用 MySQL / MariaDB,并在 database.yml 中配置。
Q2:跨服模式怎么开启?
A:四步:① database.yml 配置 MySQL/MariaDB;② config.yml 打开 cross-server.enabled;③ 配置 Redis(分布式写锁);④ 代理端安装 BackPackManager-Velocity,确保各子服 server-id 唯一。
Q3:灵魂绑定需要装插件吗?
A:BackPackManager不内置灵魂绑定,只识别并尊重第三方绑定结果(ItemSoulBind / SakuraBind / GuibindPro 等),放置 → 方块/家具 → 收回全流程保持绑定状态。
Q4:扩容核心怎么用?
A:默认末影之眼(可在配置中更换),把它拿到光标上,左键点击背包栏里的真实背包即可扩容,每次 +9 格,最大 225 格。
Q5:备份存在哪里?怎么恢复?
A:快照存在数据库内,通过管理后台 GUI 操作:玩家列表 → 背包 → 快照历史 → 对比 → 恢复前预览 → 确认恢复;也支持导出为潜影盒。
Q6:怎么防止玩家复制背包?
A:三层机制:放置日志持久化 + 重启自动对账(fail-closed);重复扫描 + CAS 提交;背包打开期间由会话缓冲区管理,禁止界面操作直接改写物理物品。
Q7:背包放进末影箱/潜影盒会被禁吗?
A:默认策略:末影箱与潜影盒只允许空背包放入(empty-only),背包内禁止嵌套背包(deny),防止无限嵌套刷物品。
Q8:支持哪些领地插件?
A:AntiGriefLib 体系 26+ 插件(WorldGuard、Lands、Residence、Towny、Factions、PlotSquared、GriefPrevention、GriefDefender、Kingdoms、BentoBox、SuperiorSkyblock2 等),已放置背包的放置/打开/拆除均受领地保护。
Q9:从旧版本升级会怎样?
A:本插件只接受当前版本的配置与数据库格式(config-version 20 / database-version 1 / JDBC schema 6),跨大版本迁移请使用全新数据目录,不会强行改写旧库。
注意事项
- 本插件只接受当前版本的配置与数据库格式(config-version 20 / database-version 1 / JDBC schema 6),跨大版本迁移请使用全新数据目录,不会强行改写旧库;
- BackPackManager不内置灵魂绑定与容器锁,只识别与尊重第三方插件的结果;
- 跨服模式必须先配置好 MySQL/MariaDB 与 Redis,且各子服 server-id 唯一。