Stage two done

By: md_5 <md_5@live.com.au>
This commit is contained in:
Spigot
2013-12-01 16:17:16 +11:00
parent 40affc9057
commit 1962fb3011
5 changed files with 28 additions and 24 deletions

View File

@@ -1,4 +1,4 @@
From 1065d7a11aacc532a428121fc5002c730efc6f4d Mon Sep 17 00:00:00 2001
From 5274d4541b5da2b6007256ad45181b01811bd1ff Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 23 Feb 2013 12:33:20 +1100
Subject: [PATCH] Watchdog Thread.
@@ -26,19 +26,21 @@ index 2ab8366..831707c 100644
} catch (Throwable throwable1) {
diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java
new file mode 100644
index 0000000..3ca7a46
index 0000000..a8840c9
--- /dev/null
+++ b/src/main/java/org/spigotmc/RestartCommand.java
@@ -0,0 +1,111 @@
@@ -0,0 +1,113 @@
+package org.spigotmc;
+
+import java.io.File;
+import java.util.List;
+import net.minecraft.server.EntityPlayer;
+import net.minecraft.server.IChatBaseComponent;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.server.Packet255KickDisconnect;
+import net.minecraft.server.PacketPlayOutKickDisconnect;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
+import org.bukkit.craftbukkit.util.CraftChatMessage;
+
+public class RestartCommand extends Command
+{
@@ -73,7 +75,7 @@ index 0000000..3ca7a46
+ // Kick all players
+ for ( EntityPlayer p : (List< EntityPlayer>) MinecraftServer.getServer().getPlayerList().players )
+ {
+ p.playerConnection.networkManager.queue( new Packet255KickDisconnect( SpigotConfig.restartMessage ) );
+ p.playerConnection.disconnect(SpigotConfig.restartMessage);
+ p.playerConnection.networkManager.d();
+ }
+ // Give the socket a chance to send the packets
@@ -84,7 +86,7 @@ index 0000000..3ca7a46
+ {
+ }
+ // Close the socket so we can rebind with the new process
+ MinecraftServer.getServer().ag().a();
+ MinecraftServer.getServer().ag().b();
+
+ // Give time for it to kick in
+ try