summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Primm <mike@primmhome.com>2012-08-18 17:36:39 -0500
committerEvilSeph <evilseph@gmail.com>2012-09-12 22:05:52 -0400
commitbeee3ce2dab695e83cf4f66bb055e504dc36ada7 (patch)
treed3be0e4d37b68e9f5bb0e2f8bd5fdb1625ea84ea
parente2b1514daf678d8ea95a71af8bbb2a9b8efb3440 (diff)
downloadcraftbukkit-beee3ce2dab695e83cf4f66bb055e504dc36ada7.tar
craftbukkit-beee3ce2dab695e83cf4f66bb055e504dc36ada7.tar.gz
craftbukkit-beee3ce2dab695e83cf4f66bb055e504dc36ada7.tar.lz
craftbukkit-beee3ce2dab695e83cf4f66bb055e504dc36ada7.tar.xz
craftbukkit-beee3ce2dab695e83cf4f66bb055e504dc36ada7.zip
[Bleeding] Add autosave interval setting in bukkit.yml. Adds BUKKIT-2507
The new setting is located at "ticks-per.autosave". By changing this value, it affects how often a full save is automatically executed, measured in ticks. This value is defaulting to 0 (off) because we believe that the vast majority of servers already have a third-party solution to automatically saving the server at set intervals. Having the built in auto-save disabled by default ensures that we are not saving things twice; doing so leads to absolutely no benefits, but results in detrimental and noticeable unnecessary performance decrease. For servers that do not use an automated external script to perform saves, this setting can be turned on by setting the value higher than 0, with 900 being the value used in vanilla.
-rw-r--r--src/main/java/net/minecraft/server/MinecraftServer.java3
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftServer.java2
-rw-r--r--src/main/resources/configurations/bukkit.yml1
3 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7ee37487..655a8320 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -80,6 +80,7 @@ public abstract class MinecraftServer implements Runnable, IMojangStatistics, IC
public static int currentTick;
public final Thread primaryThread;
public java.util.Queue<PlayerChatEvent> chatQueue = new java.util.concurrent.ConcurrentLinkedQueue<PlayerChatEvent>();
+ public int autosavePeriod;
// CraftBukkit end
public MinecraftServer(OptionSet options) { // CraftBukkit - signature file -> OptionSet
@@ -472,7 +473,7 @@ public abstract class MinecraftServer implements Runnable, IMojangStatistics, IC
this.methodProfiler.a("root");
this.q();
- if (this.ticks % 900 == 0) {
+ if ((this.autosavePeriod > 0) && ((this.ticks % this.autosavePeriod) == 0)) { // CraftBukkit
this.methodProfiler.a("save");
this.t.savePlayers();
this.saveChunks(true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b024f544..0c55945b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -186,6 +186,7 @@ public final class CraftServer implements Server {
monsterSpawn = configuration.getInt("spawn-limits.monsters");
animalSpawn = configuration.getInt("spawn-limits.animals");
waterAnimalSpawn = configuration.getInt("spawn-limits.water-animals");
+ console.autosavePeriod = configuration.getInt("ticks-per.autosave");
warningState = WarningState.value(configuration.getString("settings.deprecated-verbose"));
updater = new AutoUpdater(new BukkitDLUpdaterService(configuration.getString("auto-updater.host")), getLogger(), configuration.getString("auto-updater.preferred-channel"));
@@ -522,6 +523,7 @@ public final class CraftServer implements Server {
animalSpawn = configuration.getInt("spawn-limits.animals");
waterAnimalSpawn = configuration.getInt("spawn-limits.water-animals");
warningState = WarningState.value(configuration.getString("settings.deprecated-verbose"));
+ console.autosavePeriod = configuration.getInt("ticks-per.autosave");
for (WorldServer world : console.worlds) {
world.difficulty = difficulty;
diff --git a/src/main/resources/configurations/bukkit.yml b/src/main/resources/configurations/bukkit.yml
index 486dbbc7..b34d84f0 100644
--- a/src/main/resources/configurations/bukkit.yml
+++ b/src/main/resources/configurations/bukkit.yml
@@ -32,6 +32,7 @@ spawn-limits:
ticks-per:
animal-spawns: 400
monster-spawns: 1
+ autosave: 0
auto-updater:
enabled: true
on-broken: [warn-console, warn-ops]