A great plugin to sync EssentialsX data crossing server. I don't known why EssentialsX's developer not support any crossing server feature while a lot of server deploying multi-instance. This plugin helped me solve the problem perfectly. But sometimes the player execute some EssentialsX command might cause this plugin got null:
[14:01:00] [Server thread/INFO]: 2x2 issued server command: /craft
[14:01:14] [ForkJoinPool.commonPool-worker-6219/ERROR]: [EssentialsXMySQL] Error saving data for player 2x2
java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "com.exmysql.libs.snakeyaml.nodes.Node.getNodeId()" because "node" is null
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "com.exmysql.libs.snakeyaml.nodes.Node.getNodeId()" because "node" is null
at EssentialsXMySQL-1.0.jar/com.exmysql.libs.snakeyaml.serializer.Serializer.anchorNode(Serializer.java:129) ~[EssentialsXMySQL-1.0.jar:?]
at EssentialsXMySQL-1.0.jar/com.exmysql.libs.snakeyaml.serializer.Serializer.serialize(Serializer.java:118) ~[EssentialsXMySQL-1.0.jar:?]
at EssentialsXMySQL-1.0.jar/com.exmysql.libs.snakeyaml.Yaml.dumpAll(Yaml.java:286) ~[EssentialsXMySQL-1.0.jar:?]
at EssentialsXMySQL-1.0.jar/com.exmysql.libs.snakeyaml.Yaml.dumpAll(Yaml.java:253) ~[EssentialsXMySQL-1.0.jar:?]
at EssentialsXMySQL-1.0.jar/com.exmysql.libs.snakeyaml.Yaml.dump(Yaml.java:231) ~[EssentialsXMySQL-1.0.jar:?]
at EssentialsXMySQL-1.0.jar/com.exmysql.sync.DataSyncManager.lambda$readPlayerDataFile$7(DataSyncManager.java:122) ~[EssentialsXMySQL-1.0.jar:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
... 6 more