本帖最后由 jja8 于 2022-7-25 18:07 编辑
KnapsackToGo2 —— 全能的跨服数据同步插件。
简单 实用 强大
来自群组: Server CT
推荐使用最新的KnapsackToGo4:跨服同步——强大的跨服数据同步插件第4代。
KnapsackToGo2 —— 全能的跨服数据同步插件。
简单 实用 强大
![]() | KnapsackToGo2的演示 使用KnapsackToGo2可以轻松的完成多服务器之间的数据同步。 |
插件工作原理介绍视频 视频介绍了插件的同步原理,讲解了插件在服务器中是怎么工作的。通过观看此视频可以让你更了解本插件。 |
![]() | 支持Mysql和文件同步 插件不仅是只支持Mysql与文件两种方式,KnapsackToGo2有强大的扩展能力。这两种同步方式只是一个开端。 |
为什么写这款插件 上次发布KnapsackToGo后,插件有一些小bug,然后我实在是看不下去我之前写的代码了,于是就重写了一遍,这次不仅修复了之前的各种bug,还添加了mysql同步数据的功能。同步数据并不是想象的这么简单的,有很多因素要考虑到。如果考虑不全就会出现各种bug,在主线程同步数据的情况下就要考虑其他服务器保存数据的情况给数据加锁,我还是依然采用的异步加载的方式,异步加载就更难了,还要考虑线程之间的同步问题,例如异步线程正在加载的时候玩家退出服务器了,因此这个插件非常大。本插件在发布前已经经过几天的测试,目前没有发现任何问题,相较于KnapsackToGo有很多方面的提升。 |
选择本插件的理由
|
我们可以同步什么?
| 你还需要其他功能?
|
![]() | 使用方法 将插件下载后放到所有子服务器的插件文件夹中,也将插件放到BungeeCord的插件文件夹中。如果服务器都在同一个物理机上,插件可以自动完成设置,不需要其他操作。如果你想使用Mysql同步方式,或者改变同步文件夹位置,请参考插件帮助文档。 |
![]() | 遇到问题 你可以通过参考常见问题解答来快速解决常见问题。点击这里 也可以加入我们的插件俱乐部讨论你遇到的问题。群号:820131534 如果遇到bug可以向作者反馈,在几天后会得到修复。 |
![]() | 下载插件 前往码云代码托管平台下载本插件的最新构建。点击此处 不知道在哪里下载?你可以参考插件下载帮助文档。 |
![]() | 安装扩展 你可以在码云开源平台下载到我们的官方扩展。点击此处 也可以在mcbbs或其他地方下载到其他人开发的同步扩展。 只用将扩展放到服务器的插件文件夹即可轻松安装。 |
现有扩展
|
本插件所用所有代码均为原创,不存在借用/抄袭等行为。
动动手一件三连吧!你的支持是我最大的动力。
来自群组: Server CT
诶怎么回事?
大佬怎么重新发帖了?
大佬怎么重新发帖了?
支持一下,感谢分享
同步插件就很棒。,
感谢楼主分享

MCBBS有你更精彩~
希望可以增加同步经济
我一个顶,在一个顶,awa
[18:42:13 WARN]: java.sql.SQLException: Incorrect string value: '\xE7\xAD\x89\xE7\xBA\xA7...' for column '经验' at row 1
[18:42:13 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
[18:42:13 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3933)
[18:42:13 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3869)
[18:42:13 WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524)
[18:42:13 WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2675)
[18:42:13 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
[18:42:13 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2439)
[18:42:13 WARN]: at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:829)
[18:42:13 WARN]: at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:729)
[18:42:13 WARN]: at cn.jji8.mysqlUse.mySqlSimpleUse.SqlTable.Update(SqlTable.java:206)
[18:42:13 WARN]: at cn.jji8.mysqlUse.mySqlMap.SqlStringStringMap.put(SqlStringStringMap.java:57)
[18:42:13 WARN]: at cn.jji8.KnapsackToGo2.plug.maSql.DataMysqlExample.set(DataMysqlExample.java:91)
[18:42:13 WARN]: at cn.jji8.KnapsackToGo2.xdata.Data.set(Data.java:28)
[18:42:13 WARN]: at cn.jji8.KnapsackToGo2.spigot.synchronization.SynchronizationManager.saveData(SynchronizationManager.java:49)
[18:42:13 WARN]: at cn.jji8.KnapsackToGo2.spigot.synchronization.SynchronizationManager.run(SynchronizationManager.java:99)
[18:42:13 WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100)
[18:42:13 WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:58)
[18:42:13 WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[18:42:13 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[18:42:13 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[18:42:13 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[18:42:13 WARN]: [KnapsackToGo] Plugin KnapsackToGo v20.109 generated an exception while executing task 24
cn.jji8.mysqlUse.mySqlSimpleUse.error.ModifyLineException: Incorrect string value: '\xE7\xAD\x89\xE7\xBA\xA7...' for column '经验' at row 1
表格中没有某一列或某一列的数据错误
at cn.jji8.mysqlUse.mySqlSimpleUse.SqlTable.Update(SqlTable.java:209) ~[?:?]
at cn.jji8.mysqlUse.mySqlMap.SqlStringStringMap.put(SqlStringStringMap.java:57) ~[?:?]
at cn.jji8.KnapsackToGo2.plug.maSql.DataMysqlExample.set(DataMysqlExample.java:91) ~[?:?]
at cn.jji8.KnapsackToGo2.xdata.Data.set(Data.java:28) ~[?:?]
at cn.jji8.KnapsackToGo2.spigot.synchronization.SynchronizationManager.saveData(SynchronizationManager.java:49) ~[?:?]
at cn.jji8.KnapsackToGo2.spigot.synchronization.SynchronizationManager.run(SynchronizationManager.java:99) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100) ~[patched_1.16.5.jar:git-Purpur-971]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:58) ~[patched_1.16.5.jar:git-Purpur-971]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.16.5.jar:git-Purpur-971]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
哥救我一下這插件我想用啊!很棒
[18:42:13 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
[18:42:13 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3933)
[18:42:13 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3869)
[18:42:13 WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524)
[18:42:13 WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2675)
[18:42:13 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
[18:42:13 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2439)
[18:42:13 WARN]: at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:829)
[18:42:13 WARN]: at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:729)
[18:42:13 WARN]: at cn.jji8.mysqlUse.mySqlSimpleUse.SqlTable.Update(SqlTable.java:206)
[18:42:13 WARN]: at cn.jji8.mysqlUse.mySqlMap.SqlStringStringMap.put(SqlStringStringMap.java:57)
[18:42:13 WARN]: at cn.jji8.KnapsackToGo2.plug.maSql.DataMysqlExample.set(DataMysqlExample.java:91)
[18:42:13 WARN]: at cn.jji8.KnapsackToGo2.xdata.Data.set(Data.java:28)
[18:42:13 WARN]: at cn.jji8.KnapsackToGo2.spigot.synchronization.SynchronizationManager.saveData(SynchronizationManager.java:49)
[18:42:13 WARN]: at cn.jji8.KnapsackToGo2.spigot.synchronization.SynchronizationManager.run(SynchronizationManager.java:99)
[18:42:13 WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100)
[18:42:13 WARN]: at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:58)
[18:42:13 WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[18:42:13 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[18:42:13 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[18:42:13 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[18:42:13 WARN]: [KnapsackToGo] Plugin KnapsackToGo v20.109 generated an exception while executing task 24
cn.jji8.mysqlUse.mySqlSimpleUse.error.ModifyLineException: Incorrect string value: '\xE7\xAD\x89\xE7\xBA\xA7...' for column '经验' at row 1
表格中没有某一列或某一列的数据错误
at cn.jji8.mysqlUse.mySqlSimpleUse.SqlTable.Update(SqlTable.java:209) ~[?:?]
at cn.jji8.mysqlUse.mySqlMap.SqlStringStringMap.put(SqlStringStringMap.java:57) ~[?:?]
at cn.jji8.KnapsackToGo2.plug.maSql.DataMysqlExample.set(DataMysqlExample.java:91) ~[?:?]
at cn.jji8.KnapsackToGo2.xdata.Data.set(Data.java:28) ~[?:?]
at cn.jji8.KnapsackToGo2.spigot.synchronization.SynchronizationManager.saveData(SynchronizationManager.java:49) ~[?:?]
at cn.jji8.KnapsackToGo2.spigot.synchronization.SynchronizationManager.run(SynchronizationManager.java:99) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100) ~[patched_1.16.5.jar:git-Purpur-971]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:58) ~[patched_1.16.5.jar:git-Purpur-971]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.16.5.jar:git-Purpur-971]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
哥救我一下這插件我想用啊!很棒
TingyuWu 发表于 2021-2-14 18:43
[18:42:13 WARN]: java.sql.SQLException: Incorrect string value: '\xE7\xAD\x89\xE7\xBA\xA7...' for co ...
请尝试用常见问题解答的第一个问题(表格乱码)的解决方法。
简简爱。有没有同步消息的插件啊1.16.5版本


66666很哈好的插件
111111111111111111
本帖最后由 s7944 于 2021-2-25 12:45 编辑
作者加油 看到此数据同步插件真的很开心
之后有空把服务器都换此插件
之前一直使用MySQLPlayerDataBridge 常常有许多bug 作者也不理人
希望未来可以有cmi的经济同步功能
话说 不知道filled_map 地图 能不能有方法可以跨服同步 搜寻网上看似无有人开发相关插件
只有找到自己手动复制同步地图data档方式..
伺服器有些玩家喜爱盖羊毛地图filled_map 画作 只是地图同步跨服就坏了
作者加油 看到此数据同步插件真的很开心
之后有空把服务器都换此插件
之前一直使用MySQLPlayerDataBridge 常常有许多bug 作者也不理人
希望未来可以有cmi的经济同步功能
话说 不知道filled_map 地图 能不能有方法可以跨服同步 搜寻网上看似无有人开发相关插件
只有找到自己手动复制同步地图data档方式..
伺服器有些玩家喜爱盖羊毛地图filled_map 画作 只是地图同步跨服就坏了
不卡服好评,支持~
s7944 发表于 2021-2-25 12:37
作者加油 看到此数据同步插件真的很开心
之后有空把服务器都换此插件
我正在为这个插件开发扩展,现在正在开发经济同步。关于filled_map地图同步今后也会有对应的扩展发布,尽情期待。
用起来很舒服,但是不知道高版本有没有bug
厉害厉害插件很好用的
MCBBS有你更精彩~!!!
MCBSS有你更精彩
问下,我中途从单服升级到BC服务器,安装这个插件会不会造成玩家背包清空?
(我新建两个服试试,生产环境的服务器不敢测试)
(我新建两个服试试,生产环境的服务器不敢测试)
十分感谢
插件很赞 使用简单
mcbbs有你会更好~
流弊啊,这东西太棒了
很棒的插件,支持一下
请问支持1.16.4吗
很厉害的插件,加油
非常有用的插件!谢谢开发
十分好用,感谢大大的分享
厉害厉害插件很好用的
希望出一个能支持数据文件同步的功能,直接先复制数据文件 然后再进服这种,就可以兼容很多不支持跨服的插件了吧
为什么提示报错??我是水龙头1.8.8 QAQ求回复
血书求mod同步
牛啊牛啊,真的很好用。
话说支持1.17版本么
经常这样
与数据库连接不稳定,属于正常现象
我的其他跨服插件都不会这样的 就跨服背包老是这样
郁闷
郁闷

15259493061 发表于 2021-7-3 11:03
我的其他跨服插件都不会这样的 就跨服背包老是这样
郁闷
长时间不和数据库通信会自动断开,别的插件只是没报出来。
楼主牛逼
mcbbs有你们会更好
大佬你的现有拓展都404啦!!!
感谢您的分享,MCBBS有你更精彩!
非常好用的高度自定义插件