From 66dd81d53a924c261be466481c642ef34b538422 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 8 Jul 2014 22:40:26 -0500 Subject: [PATCH] Better EULA handling --- .../0027-Better-EULA-handling.patch | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 CraftBukkit-Patches/0027-Better-EULA-handling.patch diff --git a/CraftBukkit-Patches/0027-Better-EULA-handling.patch b/CraftBukkit-Patches/0027-Better-EULA-handling.patch new file mode 100644 index 000000000..b1813b1a7 --- /dev/null +++ b/CraftBukkit-Patches/0027-Better-EULA-handling.patch @@ -0,0 +1,70 @@ +From d95189e8abe6482067e5f3f36b5ce19c5424f2bd Mon Sep 17 00:00:00 2001 +From: Zach Brown +Date: Tue, 8 Jul 2014 22:39:41 -0500 +Subject: [PATCH] Better EULA handling + + +diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java +index e9a1a67..38b76ba 100644 +--- a/src/main/java/net/minecraft/server/DedicatedServer.java ++++ b/src/main/java/net/minecraft/server/DedicatedServer.java +@@ -9,6 +9,7 @@ import java.util.Collections; + import java.util.List; + import java.util.Random; + import java.util.concurrent.Callable; ++import java.util.concurrent.TimeUnit; // PaperSpigot + + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; +@@ -76,7 +77,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer + + i.info("Loading properties"); + this.propertyManager = new PropertyManager(this.options); // CraftBukkit - CLI argument support +- this.n = new EULA(new File("eula.txt")); ++ // PaperSpigot start - Display a EULA warning then continue ++ File EULALock = new File( ".eula-lock"); + // Spigot Start + boolean eulaAgreed = Boolean.getBoolean( "com.mojang.eula.agree" ); + if ( eulaAgreed ) +@@ -84,13 +86,24 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer + System.err.println( "You have used the Spigot command line EULA agreement flag." ); + System.err.println( "By using this setting you are indicating your agreement to Mojang's EULA (https://account.mojang.com/documents/minecraft_eula)." ); + System.err.println( "If you do not agree to the above EULA please stop your server and remove this flag immediately." ); +- } +- // Spigot End +- if (!this.n.a() && !eulaAgreed) { +- i.info("You need to agree to the EULA in order to run the server. Go to eula.txt for more info."); +- this.n.b(); +- return false; ++ // Spigot End + } else { ++ if (!EULALock.exists()) { ++ System.err.println("WARNING: By using this server you are indicating your agreement to Mojang's EULA (https://account.mojang.com/documents/minecraft_eula)"); ++ System.err.println("If you do not agree to the above EULA please stop this server and remove it from your system immediately."); ++ System.err.println("The server will start in 10 seconds, you will only see this message and have to wait this one time."); ++ try { ++ EULALock.createNewFile(); ++ } catch (IOException e1) { ++ System.err.println("Unable to create EULA lock file"); ++ e1.printStackTrace(); ++ } ++ try { ++ Thread.sleep(TimeUnit.SECONDS.toMillis(10)); ++ } catch (InterruptedException ex) { ++ } ++ } ++ // PaperSpigot end + if (this.N()) { + this.c("127.0.0.1"); + } else { +@@ -252,6 +265,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer + return true; + } + } ++ return true; // PaperSpigot + } + + // CraftBukkit start +-- +1.9.1 +