Add huge update warning. This server will not start until the user types Y E S into the console.

This commit is contained in:
md_5 2014-04-12 21:37:38 +10:00
parent 247236b793
commit 8bb505c271

View file

@ -0,0 +1,56 @@
From 11091c96d21b8b1ba140d285e49610ecc8a0aced Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 12 Apr 2014 21:37:12 +1000
Subject: [PATCH] Update Warning
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 008e037..f70db91 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -1,7 +1,9 @@
package org.bukkit.craftbukkit;
+import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.List;
@@ -15,7 +17,31 @@ public class Main {
public static boolean useJline = true;
public static boolean useConsole = true;
- public static void main(String[] args) {
+ public static void main(String[] args) throws IOException {
+ // Spigot Start
+ File lock = new File( ".update-lock" );
+ if ( !lock.exists() && System.getProperty( "IReallyKnowWhatIAmDoingThisUpdate" ) == null )
+ {
+ BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
+ String line;
+ System.err.println( "WARNING: This Minecraft update alters the way in which saved data is stored." );
+ System.err.println( "Please ensure your server is in the correct online/offline mode state, as the changes made are PERMANENT" );
+ System.err.println( "By typing `yes` you acknowledge that you have taken the necessary backups and are aware of this conversion" );
+ System.err.println( "Please type yes to continue starting the server. You have been warned :)" );
+ System.err.println( "See http://www.spigotmc.org/wiki/uuid-conversion/ if you have any questions and remember BACKUP BACKUP BACKUP" );
+ while ( ( line = br.readLine() ) != null )
+ {
+ if ( "yes".equals( line ) )
+ {
+ lock.createNewFile();
+ break;
+ } else
+ {
+ System.err.println( "Please type `yes` (without the quotes) to continue" );
+ }
+ }
+ }
+ // Spigot End
// Todo: Installation script
OptionParser parser = new OptionParser() {
{
--
1.8.3.2