71 lines
3.3 KiB
Diff
71 lines
3.3 KiB
Diff
|
From d95189e8abe6482067e5f3f36b5ce19c5424f2bd Mon Sep 17 00:00:00 2001
|
||
|
From: Zach Brown <Zbob750@live.com>
|
||
|
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
|
||
|
|