[修正]SafeBackpack —— 修复Slimefun开书卡死的BUG[1.12] - 服务端插件 - Minecraft(我的世界)中文论坛 -.htm

[修正]SafeBackpack —— 修复Slimefun开书卡死的BUG[1.12] - 服务端插件 - Minecraft(我的世界)中文论坛 -

Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 3532|回复: 19
打印 上一主题 下一主题

[重制插件] [修正]SafeBackpack —— 修复Slimefun开书卡死的BUG[1.12]

[复制链接]
Freeze_Dolphin 当前离线
积分
4319
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-9-13
查看详细资料

来自:浙江

跳转到指定楼层
楼主
发表于 2020-7-16 20:29:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
服务端插件
英文名称:SafeBackpack
中文名称:
插件来源:重制
适用服务端:CraftBukkit Spigot 
插件类型:其他 
语言支持:简体中文 
适用版本:1.12 
前置Mod|插件:Slimefun | CS-CoreLib
下载地址:https://github.com/freeze-dolphin/SafeBackpack/releases/
原帖地址:https://github.com/freeze-dolphin/SafeBackpack/
插件Logo:-
插件简介:-

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 Freeze_Dolphin 于 2020-7-28 13:27 编辑

SafeBackpack

由来
低版本的装有Slimefun的服务器在运行时间长(几个月或者更长)之后,玩家开书会导致服务器卡死
后来发现是由于原版Slimefun会把玩家的所有背包数据和个人信息写在一个文件里
每次开书会读取个人信息以获取research状态
而每次读取都会将整个文件读一遍
如果该玩家背包数据很大
就会导致服务器卡

简介
此插件将每个玩家的每个背包数据分文件存储
并在开背包的时候进行检索存档文件
使玩家个人信息和背包数据完全独立
从而避免开书卡的问题

更新
v1.2
  • 修复了之前版本的各种bug,包括染**面的bug、染色权限bug、无法转换未开过的背包bug等
  • 如果不禁用原版的背包在启动服务器时将产生4行的警告信息(而且不能使用bpdatarelocator指令),这一机制可以在配置文件中关闭
注意:从先前的旧版本升级到v1.2需要删除现有的配置文件并让他自动生成一遍新的

v1.1
  • 支持将Slimefun的背包数据迁移到此插件
  • 支持将Slimefun的原版背包转换为此插件的背包
  • 可以在配置中开启自动转换,这将在玩家加入服务器、打开容器或背包时自动将玩家的背包、打开的容器中的所有原版背包自动转换为此插件的背包


在原版基础上的新功能
在逛minecraft-heads的时候,搜索backpack看到有很多不同颜色的背包
就打算做个染色功能
于是:

(染色需要权限)

操作:手持非灵魂绑定背包、冰箱的背包Shift + 右键点击空气,然后将染料放在中间那个槽中并关闭染**面
带有lore和特殊显示名的染料不能放入(例如“资源”分类里的人造蓝宝石


在原版基础上添加的新物品
旅行背包
54格存储空间
需要由16个布压缩而来的帆布和镀金铁合成
强化冰箱
54格存储空间
需要强化合金锭和帆布以及冷却单元合成

数据迁移
指令:bpdatarelocator
格式:/bpdatarelocator [Slimefun背包数据路径] [此插件的背包数据路径] [是否忽略锁文件] [迁移完成后是否自动删除Slimefun的背包数据] [是否开启debug模式]
权限:仅能从控制台执行

参数详解:
  • “Slimefun背包数据路径”需要指定Slimefun的Players目录,默认是:“data-storage/Slimefun/Players/”,如果需要使用默认目录,请在此项使用“default”
  • “此插件的背包路径”需要指定此插件的数据路径,默认是“data-storage/SafeBackpacks/backpacks/”,如果需要使用默认目录,请在此项使用“default”
  • “是否忽略锁文件”,锁文件是指在第一次成功迁移之后会在服务器根目录下生成的一个“.relocator”空文件,如果不忽略锁文件,第二次执行此指令时会先检测是否存在锁文件,如果存在就直接结束,不进行第二次迁移;默认为不忽略,如需忽略锁文件请把这项写“ignore-check”
  • “迁移完成后是否自动删除Slimefun背包数据”,手动删除Slimefun背包数据比较麻烦,可以通过执行此指令进行自动清理,默认不开启,如需开启请把此项写“on”或者“true”(注意:如果不清理Slimefun的背包数据,那么开书依旧会卡)
  • “是否开启debug模式”,开启后会在迁移时在控制台输出详细信息,建议开启,且默认开启,如需屏蔽请在此项写“off”或者“false”

示例
从未改动Slimefun背包数据路径和此插件的背包数据路径,希望在迁移时自动删除Slimefun背包数据,忽略锁文件:/bpdatarelocator default default ignore-check on on

不忽略锁文件(较为安全的做法):/bpdatarelocator default default 0 on on

转换器
指令:itemconvertor
格式:/itemconvertor [玩家名]
权限:safebackpack.convertor.convert
作用:转换该玩家的背包内的所有Slimefun背包为此插件的背包
注:当玩家名没有被指定时,将把执行者背包内的所有Slimefun背包转换为此插件的背包
当控制台执行此指令时,参数1必须给定一个有效的玩家名

拥有safebackpack.admin权限的玩家可以用/itemconvertor reload来重载插件

权限
权限节点
描述
safebackpack.dye.*
允许使用染色的所有功能
safebackpack.dye.menu
允许打开染色面版
safebackpack.dye.color.white允许将背包染成白色
safebackpack.dye.color.*
允许将背包染成所有颜色
safebackpack.dye.color.orange
允许将背包染成橙色
safebackpack.dye.color.magenta
允许将背包染成品红色
safebackpack.dye.color.light-blue
允许将背包染成淡蓝色
safebackpack.dye.color.yellow
允许将背包染成黄色
safebackpack.dye.color.lime
允许将背包染成黄绿色
safebackpack.dye.color.pink
允许将背包染成粉色
safebackpack.dye.color.gray允许将背包染成灰色
safebackpack.dye.color.light-gray
允许将背包染成淡灰色
safebackpack.dye.color.cyan
允许将背包染成青色
safebackpack.dye.color.purple
允许将背包染成紫色
safebackpack.dye.color.blue
允许将背包染成蓝色
safebackpack.dye.color.brown
允许将背包染成棕色
safebackpack.dye.color.green
允许将背包染成绿色
safebackpack.dye.color.red
允许将背包染成红色
safebackpack.dye.color.black
允许将背包染成黑色
safebackpack.admin
允许使用管理员指令(重载配置)
safebackpack.convertor.*允许使用背包转换器,以及自动转换
safebackpack.convertor.auto-run允许使用自动转换
safebackpack.convertor.convert允许使用背包转换器
(其中,棕色是Slimefun默认的背包颜色)
(默认op拥有safebackpack.dye.*)

注意事项
强烈建议在Slimefun的配置文件中禁用所有原版的背包(在“Items.yml”中将原版背包的“enable”项改为“false”)
否则“便携式物品”分类中会有两种背包出现(一种是原版,一种是此插件的)

另外开书卡的原因正是由原版背包引起的,此插件只是通过加入数据读写机制不同、而功能相同的背包来避免开书卡,所以如果不禁用原版背包,玩家使用原版背包时间长了之后,开书依旧会卡

不过禁用原版的背包之后现有的已经合成的原版背包除非用转换器(itemconvertor)或通过自动转换,转换为此插件的背包,否则会无法使用

插件下载及前置
下载地址见插件信息
前置为mc1.12的Slimefun(v4.1.15)和CS-CoreLib(v1.5.18)

更多截图

评分

参与人数 3人气 +5金粒 +76收起 理由
小张up+ 2+ 16神乎其技!6的飞起!
Ray_Hughes+ 2+ 40很棒 支持
飞皇之圣+ 1+ 20Ssssssssssssssssssss

查看全部评分

帖子永久链接: 

Minecraft中文论坛 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖若有内容转载自其它媒体,不代表本站赞同其观点和对其真实性负责
6、若本帖涉及任何版权问题,请立即告知本站,本站将及时予以删除并致以最深的歉意
7、Minecraft(我的世界)中文论坛管理员和版主有权不事先通知发贴者而删除本文

Cunnin 当前离线
积分
862
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-2-14
查看详细资料
头像被屏蔽

来自:浙江

沙发
发表于 2020-7-16 21:40:51 | 只看该作者
啊,我服镀金背包有救了qwq..谢谢楼主的分享

评分

参与人数 1金粒 +5收起 理由
Freeze_Dolphin+ 5现已支持数据迁移

查看全部评分

回复

使用道具 举报

薯咕咕 当前离线
积分
4771
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2015-5-30
查看详细资料

来自:广东

板凳
发表于 2020-7-16 21:43:04 | 只看该作者
那么之前以有的数据文件如何处理?

评分

参与人数 1金粒 +5收起 理由
Freeze_Dolphin+ 5现已支持数据迁移

查看全部评分

回复

使用道具 举报

Freeze_Dolphin 当前离线
积分
4319
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-9-13
查看详细资料

来自:浙江

地板
 楼主| 发表于 2020-7-16 21:46:05 | 只看该作者
Zombie_chips 发表于 2020-7-16 21:43
那么之前以有的数据文件如何处理?

暂时没有解决方案
正在想办法做一个转换插件
回复

使用道具 举报

Freeze_Dolphin 当前离线
积分
4319
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-9-13
查看详细资料

来自:浙江

5#
 楼主| 发表于 2020-7-16 21:46:29 | 只看该作者
Cunnin 发表于 2020-7-16 21:40
啊,我服镀金背包有救了qwq..谢谢楼主的分享

原版背包与此插件的数据不互通
正在想办法制作转换器
回复

使用道具 举报

小张up 当前离线
积分
6080
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-5-30
查看详细资料

来自:湖北

6#
发表于 2020-7-16 21:51:29 来自手机 | 只看该作者
好东西,但是可以读取玩家解锁yml然后创建独立文件移动对应数据并强制修改lore岂不更好?
回复

使用道具 举报

Freeze_Dolphin 当前离线
积分
4319
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-9-13
查看详细资料

来自:浙江

7#
 楼主| 发表于 2020-7-16 21:52:43 | 只看该作者
小张up 发表于 2020-7-16 21:51
好东西,但是可以读取玩家解锁yml然后创建独立文件移动对应数据并强制修改lore岂不更好? ...

为什么我看不懂你在说什么
回复

使用道具 举报

飞皇之圣 当前离线
积分
2884
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-12-27
查看详细资料

来自:江苏

8#
发表于 2020-7-16 22:08:18 来自手机 | 只看该作者
我来啦ฅ( ˃̶˙ω˙˂̶ ฅ)
回复

使用道具 举报

名副其实 当前离线
积分
36824
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2016-8-31
查看详细资料

来自:浙江

9#
发表于 2020-7-16 22:58:57 | 只看该作者
Freeze_Dolphin 发表于 2020-7-16 21:52
为什么我看不懂你在说什么

他的意思应该是读取背包数据将所有玩家的背包存档读取一遍再一个一个分离出来
回复

使用道具 举报

小张up 当前离线
积分
6080
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-5-30
查看详细资料

来自:湖北

10#
发表于 2020-7-16 23:00:44 来自手机 | 只看该作者
名副其实 发表于 2020-7-16 22:58
他的意思应该是读取背包数据将所有玩家的背包存档读取一遍再一个一个分离出来 ...

然后修改对应背包的lore,实现解锁数据和背包数据分离
回复

使用道具 举报

薯咕咕 当前离线
积分
4771
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2015-5-30
查看详细资料

来自:广东

11#
发表于 2020-7-23 11:53:14 | 只看该作者
v1.1更新后支持将Slimefun的原版背包转换为此插件的背包
可以在配置中开启自动转换,这将在玩家加入服务器、打开容器或背包时自动将玩家的背包、打开的容器中的所有原版背包自动转换为此插件的背包
强烈建议在Slimefun的配置文件中禁用所有原版的背包
否则便携式物品分类中会有两种背包出现

不过禁用原版的背包之后现有的已经合成的原版背包会无法使用

是否还需要禁用,请说明完整

评分

参与人数 1金粒 +5收起 理由
Freeze_Dolphin+ 5「已说明」

查看全部评分

回复

使用道具 举报

飞皇之圣 当前离线
积分
2884
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-12-27
查看详细资料

来自:江苏

12#
发表于 2020-8-13 00:57:51 | 只看该作者
本帖最后由 飞皇之圣 于 2020-8-13 01:00 编辑

一个bug,新插件的背包如果已经打开过的话那么就不能再升级了,麻烦看看能不能处理一下=。=另外就是旅行背包是用36格大的编织背包升级的而不是45格的镀金背包升级的,希望可以改一下=。=
回复

使用道具 举报

ssshtrgfdsdf 当前离线
积分
13
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-10-1
查看详细资料
头像被屏蔽

来自:安徽

13#
发表于 2021-4-4 06:47:36 | 只看该作者
,mnbvcxnmgfghjhgfgnmnhgrhm
回复

使用道具 举报

小熊沉塘 当前离线
积分
2306
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-4-6
查看详细资料

来自:江苏

14#
发表于 2021-11-21 02:49:42 | 只看该作者
看着好像不太会操作,你看能不能远程帮忙一下,可以有偿的
回复

使用道具 举报

烟酒|随缘 当前离线
积分
243
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2022-5-28
查看详细资料
头像被屏蔽

来自:广西

15#
发表于 2022-8-11 19:37:08 | 只看该作者
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2024-1-15 16:14 , Processed in 0.068996 second(s), Total 30, Slave 29 queries, Release: Build.2023.11.27 0934, Gzip On, Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2023 我的世界中文论坛 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载