Shevchik / AutoSaveWorld

Bukkit plugin that provides advanced bukkit server management capabilities. Supports automatic saves, backups, stale data purge, plugin management, and more.
GNU General Public License v3.0
35 stars 36 forks source link

Can't find method saveLevel on minecraft v1.13 #47

Open J0B10 opened 6 years ago

J0B10 commented 6 years ago

Bug report

AutoSaveWorld version: 4.15

Server version: git-Spigot-5eb3921-30ab12c (MC: 1.13) (API: 1.13-R0.1-SNAPSHOT)

Description

I tried running the plugin on my test server for 1.13 and an exception was thrown whenever the server is saving a world. I know that the plugin currently isn't compiled against 1.13 so compatibillity issues are totally possible in this state but I just wanted to let you know so that updating will be easier. 😉

Stack trace

[14:46:52] [AutoSaveWorld AutoSaveThread/ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
java.lang.RuntimeException: Can't find method saveLevel with params length 0
    at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld-4.15.jar:?]
    at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld-4.15.jar:?]
    at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld-4.15.jar:?]
    at autosaveworld.features.save.AutoSaveThread.doTask(AutoSaveThread.java:70) [AutoSaveWorld-4.15.jar:?]
    at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld-4.15.jar:?]

This is the only issue I recognized till now. The plugin manager still works perfectly.

Thanks for the time you put into this plugin! 👍

j-lorenzo commented 6 years ago

Same here.

> > [01:05:17 ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
> java.lang.RuntimeException: Can't find method saveLevel with params length 0
> at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld.jar:?]
> at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld.jar:?]
> at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld.jar:?]
> at autosaveworld.features.backup.AutoBackupThread.performBackup(AutoBackupThread.java:70) [AutoSaveWorld.jar:?]
> at autosaveworld.features.backup.AutoBackupThread.doTask(AutoBackupThread.java:60) [AutoSaveWorld.jar:?]
> at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld.jar:?]
> > [01:05:17 ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
> java.lang.RuntimeException: Can't find method saveLevel with params length 0
> at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld.jar:?]
> at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld.jar:?]
> at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld.jar:?]
> at autosaveworld.features.backup.AutoBackupThread.performBackup(AutoBackupThread.java:70) [AutoSaveWorld.jar:?]
> at autosaveworld.features.backup.AutoBackupThread.doTask(AutoBackupThread.java:60) [AutoSaveWorld.jar:?]
> at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld.jar:?]
> > [01:05:17 ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
> java.lang.RuntimeException: Can't find method saveLevel with params length 0
> at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld.jar:?]
> at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld.jar:?]
> at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld.jar:?]
> at autosaveworld.features.backup.AutoBackupThread.performBackup(AutoBackupThread.java:70) [AutoSaveWorld.jar:?]
> at autosaveworld.features.backup.AutoBackupThread.doTask(AutoBackupThread.java:60) [AutoSaveWorld.jar:?]
> at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld.jar:?]

Best regards, thank you for the time you put into this plugin!

Shevchik commented 6 years ago

Will fix it when i get time.

mattboy9921 commented 5 years ago

Any update on this? I really love this plugin. It's the only thing I need left for 1.13.

ctiger commented 5 years ago

Same problem. Spigot-1.13.1-R0.1-SNAPSHOT-b1918 ASW 4.15

mattboy9921 commented 5 years ago

I submitted a PR for this. #51

ctiger commented 5 years ago

We wait update. Pls.

marcsello commented 5 years ago

I've run into the exact same problem. When can we expect an update on this?

Bodyash commented 5 years ago

Need to update NMS to 1.13.2

Also it can throw exceptions here: saveWorldDoNoSaveStructureInfo() - ReflectionUtils.getMethod(chunkProvider.getClass(), NMSNames.getSaveChunksMethodName(), 2).invoke(chunkProvider, true, null);

And also need to update it to WG, WE 7.0

Shevchik commented 5 years ago

1.13.2+ no longer contains a method that actually drops the cache and flushes it to disk. Making it all work is still possible tho, just way harder now.

ShineSmile commented 5 years ago

Hi all, I found that use save-off command may help.

[19:46:13] [Server thread/INFO]: Done (27.279s)! For help, type "help"
>save
[19:46:18] [AutoSaveWorld AutoSaveThread/INFO]: AutoSaving
[19:46:20] [AutoSaveWorld AutoSaveThread/ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
java.lang.RuntimeException: Can't find method saveLevel with params length 0
    at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld.jar:?]
    at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld.jar:?]
    at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld.jar:?]
    at autosaveworld.features.save.AutoSaveThread.doTask(AutoSaveThread.java:70) [AutoSaveWorld.jar:?]
    at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld.jar:?]
[19:46:20] [AutoSaveWorld AutoSaveThread/ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
java.lang.RuntimeException: Can't find method saveLevel with params length 0
    at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld.jar:?]
    at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld.jar:?]
    at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld.jar:?]
    at autosaveworld.features.save.AutoSaveThread.doTask(AutoSaveThread.java:70) [AutoSaveWorld.jar:?]
    at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld.jar:?]
[19:46:20] [AutoSaveWorld AutoSaveThread/ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
java.lang.RuntimeException: Can't find method saveLevel with params length 0
    at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld.jar:?]
    at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld.jar:?]
    at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld.jar:?]
    at autosaveworld.features.save.AutoSaveThread.doTask(AutoSaveThread.java:70) [AutoSaveWorld.jar:?]
    at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld.jar:?]
[19:46:20] [AutoSaveWorld AutoSaveThread/INFO]: AutoSave Complete
>save-off
[19:46:25] [Server thread/INFO]: Automatic saving is now disabled
>save
[19:52:26] [AutoSaveWorld AutoSaveThread/INFO]: AutoSaving
[19:52:26] [AutoSaveWorld AutoSaveThread/INFO]: AutoSave Complete

But I have to disable it every time when I restart the server. I have tried to set

advancements:
  disable-saving: true
  disabled:
  - minecraft:story/disabled
stats:
  disable-saving: true
  forced-stats: {}

in spigot.yml but nothing happened.

Here is my info:

[19:56:43] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-ea7e48b-368f4e9 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
[19:56:48] [Server thread/WARN]: Plugin AutoSaveWorld v4.15 does not specify an api-version.
[19:56:48] [Server thread/INFO]: [AutoSaveWorld] Loading AutoSaveWorld v4.15
HauserGrim commented 5 years ago

Hi all, I found that use save-off command may help.

[19:46:13] [Server thread/INFO]: Done (27.279s)! For help, type "help"
>save
[19:46:18] [AutoSaveWorld AutoSaveThread/INFO]: AutoSaving
[19:46:20] [AutoSaveWorld AutoSaveThread/ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
java.lang.RuntimeException: Can't find method saveLevel with params length 0
  at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld.jar:?]
  at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld.jar:?]
  at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld.jar:?]
  at autosaveworld.features.save.AutoSaveThread.doTask(AutoSaveThread.java:70) [AutoSaveWorld.jar:?]
  at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld.jar:?]
[19:46:20] [AutoSaveWorld AutoSaveThread/ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
java.lang.RuntimeException: Can't find method saveLevel with params length 0
  at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld.jar:?]
  at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld.jar:?]
  at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld.jar:?]
  at autosaveworld.features.save.AutoSaveThread.doTask(AutoSaveThread.java:70) [AutoSaveWorld.jar:?]
  at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld.jar:?]
[19:46:20] [AutoSaveWorld AutoSaveThread/ERROR]: [AutoSaveWorld] Could not dump RegionFileCache
java.lang.RuntimeException: Can't find method saveLevel with params length 0
  at autosaveworld.utils.ReflectionUtils.getMethod(ReflectionUtils.java:49) ~[AutoSaveWorld.jar:?]
  at autosaveworld.features.save.AutoSaveThread.dumpRegionCache(AutoSaveThread.java:135) [AutoSaveWorld.jar:?]
  at autosaveworld.features.save.AutoSaveThread.performSave(AutoSaveThread.java:122) [AutoSaveWorld.jar:?]
  at autosaveworld.features.save.AutoSaveThread.doTask(AutoSaveThread.java:70) [AutoSaveWorld.jar:?]
  at autosaveworld.utils.Threads$IntervalTaskThread.run(Threads.java:103) [AutoSaveWorld.jar:?]
[19:46:20] [AutoSaveWorld AutoSaveThread/INFO]: AutoSave Complete
>save-off
[19:46:25] [Server thread/INFO]: Automatic saving is now disabled
>save
[19:52:26] [AutoSaveWorld AutoSaveThread/INFO]: AutoSaving
[19:52:26] [AutoSaveWorld AutoSaveThread/INFO]: AutoSave Complete

But I have to disable it every time when I restart the server. I have tried to set

advancements:
  disable-saving: true
  disabled:
  - minecraft:story/disabled
stats:
  disable-saving: true
  forced-stats: {}

in spigot.yml but nothing happened.

Here is my info:

[19:56:43] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-ea7e48b-368f4e9 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
[19:56:48] [Server thread/WARN]: Plugin AutoSaveWorld v4.15 does not specify an api-version.
[19:56:48] [Server thread/INFO]: [AutoSaveWorld] Loading AutoSaveWorld v4.15

“save-off” disables vanilla save and is not related to ASW. (automatic saving cannot be disabled in ASW) ASW is not intended for 1.13+