Releases: CTimet/BedrockTechnology
BedrockTechnology#39
该版本为新功能测试版,可能有未知BUG。
该版本支持
- 自定义Mysql连接池最大连接数(默认16);
- 支持使用命令启动强制数据矫正。对数据库中多余的数据进行删除;
- 支持停用方块修复系统,如果出现刷物BUG,可以通过停用方块注册系统进行人为干预;
- 添加区域注册棒。支持在以点击的方块为中心点的半径为5的9x9的区域内搜索并注册方块。
以上功能均为测试功能,如出现问题请回滚到#38
下载此版本
BedrockTechnology#37
BedrockTechnology#37版本发布
在此版本中,我们
- 修复了自动注册无法自动注册的问题
- 修复了config.yml中键值不全的问题
- 优化了Mysql表结构,提升查询速度
- 重构了数据保存结构,加入旧数据支持
- 加入新物品”拥有者-注册“,”拥有者-修复全部“
- 删除”修复方块后自动删除注册信息“机制
- 删除添加RefuseBlock的指令
- 重构了命令系统
- 优化部分逻辑
至此,基岩科技正式宣布开发完成。该版本成为第一个正式版。
Wiki也在加紧赶制,日后会加入更多有意思的物品。
下载请戳 这里!
BedrockTechnology_v1.0-beta-220706f0
Hi,各位,欢迎来到更新的BEKT!
这个版本命名格式一些BEKT老用户一定非常熟悉。没错,我说过,BektResAndFix系列将会完结。而现在,我正在开发正式版BEKT,BektResAndFix将不再维护(以前BektResAndFix和v1.0-beta用的是两套代码,分别维护)。而此版本中,任然有你们熟悉的注册-修复棒。不过还有几个新的组,它们中的物品将会随着BEKT的更新而逐渐变多。不过,现在,它们里面并没有东西。
为什么要发布220706f0
如果你阅读了上面的文字,你肯定会有这样的疑惑:为什么要发布beta-220706f0版本呢?因为按理来说物品没有任何更新,欸,别急,我们一点一点看嘛
此版本的新特性
1.加强了数据系统
220706f0版本再一次加强了数据系统。让注册修复棒的信息变得更安全更不容易丢失。这次,我们首次引入了缓存文件snap.dat,如果查看最新一次commit,你就会发现,我们几乎可以说是重写了整个数据保存过程。首先是方法上的移动,这次我们将有关数据类的方法统一移动到了DataSave类中统一管理,并且加入了缓存集,当缓存集为空的时候计时保存线程便不会发生IO活动 ,因为缓存集内没有东西就说明数据没有发生变化,此时进行IO保存数据是没有意义的。
当然,缓存集不是重点,重点是snap.dat文件。我们在对之前的代码的保存过程进行研究时,发现如果在服务器关闭时恰巧遇到计时线程保存数据,则两个saveData方法重叠,后面的方法极有可能覆写掉原先的数据导致数据丢失。于是,我们加入了缓存文件,当服务器关闭时遇到计时线程保存时,则会生成一个缓存文件snap.dat并把数据写到那里面。然后当再次启动服务器时插件会检查是否存在这个文件,如果存在,则从这里面读取数据。读取完就把它删掉。之所以不从block.dat中读取数据,是因为当服务器关闭时,那个Timer将随时被终止。用block.dat中的数据总归是不安全的。所以,我们引入了这个缓存文件snap.dat
2.新增异常处理方式——本地文件保存
其实这个异常处理类Handle第163次commit的时候就推上去了(7月3号的那次commit),但是因为这功能影响不大,没必要为了加入这个功能提前发布新版本,所以就堆到这个版本发布。该类会把BEKT的报错(不是全部)写入到一个本地文件中,里面记录了sf版本 ,bekt版本,出问题的类,方法,描述,以及堆栈等,当bekt报出异常时,你可以翻看一下控制台输出,如果带有如下字样:
则说明异常已被记录,日后去对应的文件夹查找文件,打开(后缀虽然是.err,但是用记事本打开就行,或者任何文本编辑器打开都行),然后将里面的内容发布到issues汇报BUG要比直接汇报堆栈好使的多。当然,如果没有被记录到本地,那还是汇报堆栈。不过,在汇报的时候记得打出sf版本与bekt版本。
3.让save.time必须>=3
在之前的版本中,config配置文件中的save.time值是多少都可以,这就会引发一系列问题,比如甚至可以设置为0,然后服务器无限循环IO,导致报错。
而此版本中,严令限制save.time必须大于等于3,如果小于3,则自动用默认数10执行,并在控制台给予警告。
如果不更新这个版本可能发生什么?
首先,我们是推荐您更新的,因为BEKT每次更新都有意义。
如果您不更新这次更新,那么您可能会
1.某次重启/关闭服务器时恰巧遇到计时线程保存数据导致数据被覆写而丢失数据
2.不小心把save.time设置为0,然后服务器循环IO最后报错
3.因为使用部分旧版本BEKT而产生了BUG,但您却不知道使用了哪个版本的BEKT,因为在以前的一段时间内,BEKT的文件名是不带版本号的
所以我们推荐并且强烈推荐您更新此版本
BektResAndFix_CTimet_0624
欢迎来到更新的BEKT!
在这个版本中,我们:
- 不确定是否解决数据丢失BUG,据部分用户反馈,BEKT之前的版本存在数据丢失现象。而经过代码审查并没有发现问题出在哪里。目前怀疑是多线程读取数据造成的,于是我重写了数据保存与读写部分,并进行了一丢丢的优化;
- 将数据修复组重命名为机器保护组
- 由于以前的版本中,下载到的文件名都是统一的“BektResAndFix_CTimet”,无法看出用的是哪个版本,加之“BektResAndFix_CTimet”是一个纯净版系列,只包括注册修复棒(没错,只有这两个东西,就连命令系统都没有),所以,为了让腐竹判断自己用的是哪个版本的BEKT并更好的汇报BUG,日后“BektResAndFix_CTimet”系列产品将统一使用完整文件名“BektResAndFix_CTimet_xxxx”,例如,该版本(0624)使用的文件名便是——“BektResAndFix_CTimet_0624”
其他
值得一提的是,“BektResAndFix_CTimet”系列产品并不会一直更新,也就是说,BEKT肯定不只有注册棒与修复棒,本次将“数据修复”重命名为“机器保护”是为了更顺应BEKT发展,日后BEKT将加入更多好玩而实用的机器。等到正式版发布之时,便是”BektResAndFix_CTimet“系列断更之时。待到那时,你们将会获得一个全新的BEKT,当然,我们会保留注册棒和修复棒并且永不删除这两个物品。不过,等到正式版BEKT发布的时候,就不会再更新只有注册修复棒的版本了。所以,如果你只打算使用BEKT中的注册修复棒,那么,不妨尝试一下新的东西。
新东西预告
1.目前正在尝试写一个产线管理机器。即全方位多层次宽领域地管理您的产线。当然,受限于GUI的影响,不一定会成功。这只是个设想(一个大胆的设想,不要抱太大希望)。
2.目前正在写一个数据云端。即管理您的物品。数据云端允许您在任何地方访问您的箱子并拿取内部物品。是不是很方便?这就意味着您在主世界家中的箱子允许您在探索地狱时访问或者探索末地时访问,亦或者是在离家很远的地方访问。
3.没有3了
BektResAndFix_CTimet_0605
紧急修复漏洞
推荐使用此版本
BektResAndFix_CTimet_0603
加急修复
目前推荐使用此版本
BektResAndFix_CTimet_0602
欢迎来到最新的BEKT!
我们受到了玩家发送的issuse了,目前最新版已解决刷物品问题。请放心使用
BektResAndFix_CTimet_0528
BektResAndFix_CTimet
BektResAndFix_CTimet是BedrockTechnology中关于数据修复的纯净版本,该版本仅包含注册-修复棒
1.针对于BedrockTechnology_v1.0-sv-resfix,该版本一是删除了大量无用代码,进一步压缩代码体积,其体积仅有13KB,对比BedrockTechnology_v1.0-sv-resfix压缩了近49KB
2.该版本优化了数据储存方式,从TreeMap改为了HashMap,进一步提升大数据前的数据存储和读取速度
3.该版本优化了readData和saveData代码,采用了更为简洁的输入输出
如果有腐竹想要加入此插件,当前并不推荐BedrockTechnology_v1.0-sv-resfix
---------------------------------------2022/5/28 CTimet-------------------------------------------
现在是2022/5/28,我们提供了一个更新的纯净版本0528,在此处下载0528
----------------------------0602,CTimet编辑
现在是2022/06/02,我已接到玩家issues,此版本存在刷物品BUG,请不要再使用此版本,此版本当前并不推荐!
BedrockTechnology_v1.0-sv-resfix
特殊正式版,仅包含注册-修复功能