Regions reset on crash.
LadyCailinBot opened this issue ยท 7 comments
WORLDGUARD-3040 - Reported by godgodgodgo
Every time my server crashes due to unknown reasons (issue discussion here: http://www.spigotmc.org/threads/java-crash-report.16719/) my worldguard regions reset. The regions.yml files just get completely wiped.
I would appreciate it if WorldGuard could handle this better, I'm not sure why it would just wipe all my regions.
My WorldGuard region is the latest at this time which is 5.9.1-SNAPSHOT:1296-4422d53,master
I'm using Spigot build 1443
Comment by sk89q
Are you modifying the server's .jar files as the server is running? That might be causing the JVM to crash. You can also try setting {{-Dsun.zip.disableMemoryMapping=true}} in your server's command line.
However, as for the issue, were you happening to be modifying regions (in-game) at the time of crash? Otherwise, the fact that it resets is very strange.
Comment by godgodgodgo
Thanks, I'll try that.
I wasn't editing the server jar or the regions file at the time of the crash.
I'll try to gather more information.
Comment by sk89q
What about plugins' .jars? Really any .jar that Java loads in the process of starting and running the server.
Comment by wizjany
Notably, WG saves the region database each time you edit it in-game, so if it's blank after a crash it seems to imply that the crash happened while it was writing the file.
Comment by godgodgodgo
Some more information on this, I wasn't modifying any plugin server Jars either.
I sent an email to Multicraft to ask them about this and got this response:
"Thank you for your inquiry. Usually the server JAR is loaded at the beginning and can then be overwritten without any issue. Plugins can of course be overwritten at any time by the user. Nothing should be cleared because of this so that would indeed have to be an issue with WorldGuard itself. "
I'll try that Java parameter by the way, thanks.
Comment by fastlockel
Solution would be MySQL if performance was sustainable. Database should update ONE region (sql request) immediately and only one region