diff --git a/LICENSE-HEADER.txt b/LICENSE-HEADER.txt
index f5958c5..233cf19 100644
--- a/LICENSE-HEADER.txt
+++ b/LICENSE-HEADER.txt
@@ -1,5 +1,5 @@
D3Backend
-Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+Copyright (C) 2015 - 2017 Dries007 & Double Door Development
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
@@ -12,4 +12,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .
+along with this program. If not, see .
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index d7e2298..6d479ac 100644
--- a/build.gradle
+++ b/build.gradle
@@ -25,19 +25,11 @@ def gitURL = "github.com/DoubleDoorDevelopment/D3Backend"
sourceCompatibility = 1.8
targetCompatibility = 1.8
-//noinspection GroovyAssignabilityCheck
configurations {
compile
deployJars
}
-repositories {
- maven {
- name "DDD repo"
- url "http://doubledoordev.net/maven/"
- }
-}
-
idea {
project {
copyright {
@@ -59,14 +51,13 @@ idea {
repositories {
mavenCentral()
-// maven {
-// name = 'sk89q'
-// url = "http://maven.sk89q.com/repo/"
-// }
maven {
name = 'sonatype-nexus'
url = 'https://oss.sonatype.org/content/groups/public/'
}
+ flatDir {
+ dirs 'libs'
+ }
}
//noinspection GroovyAssignabilityCheck
@@ -78,11 +69,10 @@ dependencies {
compile group: "org.freemarker", name: "freemarker", version: "2.3.20"
compile group: "org.apache.logging.log4j", name: "log4j-core", version: "2.0.2"
compile group: "net.lingala.zip4j", name: "zip4j", version: "1.3.2"
- //compile group: "com.sk89q", name: "intake", version: "3.1.1-SNAPSHOT"
compile group: "org.glassfish.grizzly", name: "grizzly-http-all", version: "2.3.17"
compile group: "com.flowpowered", name: "flow-nbt", version: "1.0.0"
- compile group: "net.doubledoordev.cmd", name: "CurseModpackDownloader", version: "0.+"
compile group: "com.google.guava", name: "guava", version: "18.0"
+ compile group: "net.dries007.cmd", name: "CurseModpackDownloader", version: "1.+"
}
processResources {
diff --git a/libs/CurseModpackDownloader-1.0.3.SNAPSHOT-src.jar b/libs/CurseModpackDownloader-1.0.3.SNAPSHOT-src.jar
new file mode 100644
index 0000000..c4d68e0
Binary files /dev/null and b/libs/CurseModpackDownloader-1.0.3.SNAPSHOT-src.jar differ
diff --git a/libs/CurseModpackDownloader-1.0.3.SNAPSHOT.jar b/libs/CurseModpackDownloader-1.0.3.SNAPSHOT.jar
new file mode 100644
index 0000000..686f900
Binary files /dev/null and b/libs/CurseModpackDownloader-1.0.3.SNAPSHOT.jar differ
diff --git a/src/main/java/net/doubledoordev/backend/Main.java b/src/main/java/net/doubledoordev/backend/Main.java
index c615d74..82195f1 100644
--- a/src/main/java/net/doubledoordev/backend/Main.java
+++ b/src/main/java/net/doubledoordev/backend/Main.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
@@ -216,7 +216,7 @@ public static synchronized void shutdown()
Settings.save();
Cache.init();
LOGGER.info("Attempting graceful shutdown of all servers...");
- for (final Server server : Settings.SETTINGS.servers.values())
+ for (final Server server : SETTINGS.servers.values())
{
if (server.getOnline())
{
diff --git a/src/main/java/net/doubledoordev/backend/TestMain.java b/src/main/java/net/doubledoordev/backend/TestMain.java
index 52a4e05..541876b 100644
--- a/src/main/java/net/doubledoordev/backend/TestMain.java
+++ b/src/main/java/net/doubledoordev/backend/TestMain.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/commands/Bindings.java b/src/main/java/net/doubledoordev/backend/commands/Bindings.java
index 3009603..bf4857c 100644
--- a/src/main/java/net/doubledoordev/backend/commands/Bindings.java
+++ b/src/main/java/net/doubledoordev/backend/commands/Bindings.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/commands/CommandHandler.java b/src/main/java/net/doubledoordev/backend/commands/CommandHandler.java
index 087e9ea..09a305a 100644
--- a/src/main/java/net/doubledoordev/backend/commands/CommandHandler.java
+++ b/src/main/java/net/doubledoordev/backend/commands/CommandHandler.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/commands/CommandNotFoundException.java b/src/main/java/net/doubledoordev/backend/commands/CommandNotFoundException.java
index 98062a6..4bd9a4b 100644
--- a/src/main/java/net/doubledoordev/backend/commands/CommandNotFoundException.java
+++ b/src/main/java/net/doubledoordev/backend/commands/CommandNotFoundException.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/permissions/Group.java b/src/main/java/net/doubledoordev/backend/permissions/Group.java
index 7218a9e..9d4003c 100644
--- a/src/main/java/net/doubledoordev/backend/permissions/Group.java
+++ b/src/main/java/net/doubledoordev/backend/permissions/Group.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/permissions/User.java b/src/main/java/net/doubledoordev/backend/permissions/User.java
index 2aafdb3..69b5628 100644
--- a/src/main/java/net/doubledoordev/backend/permissions/User.java
+++ b/src/main/java/net/doubledoordev/backend/permissions/User.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/server/BackupTask.java b/src/main/java/net/doubledoordev/backend/server/BackupTask.java
index ece884d..cc61332 100644
--- a/src/main/java/net/doubledoordev/backend/server/BackupTask.java
+++ b/src/main/java/net/doubledoordev/backend/server/BackupTask.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/server/Dimension.java b/src/main/java/net/doubledoordev/backend/server/Dimension.java
index 11debdd..aab1cc4 100644
--- a/src/main/java/net/doubledoordev/backend/server/Dimension.java
+++ b/src/main/java/net/doubledoordev/backend/server/Dimension.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/server/FileManager.java b/src/main/java/net/doubledoordev/backend/server/FileManager.java
index e1016d9..2bde967 100644
--- a/src/main/java/net/doubledoordev/backend/server/FileManager.java
+++ b/src/main/java/net/doubledoordev/backend/server/FileManager.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
@@ -29,7 +29,6 @@
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.lang3.StringEscapeUtils;
import org.glassfish.grizzly.http.util.MimeType;
import java.io.File;
diff --git a/src/main/java/net/doubledoordev/backend/server/JvmData.java b/src/main/java/net/doubledoordev/backend/server/JvmData.java
index 79b1800..da9328a 100644
--- a/src/main/java/net/doubledoordev/backend/server/JvmData.java
+++ b/src/main/java/net/doubledoordev/backend/server/JvmData.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/server/OutWrapper.java b/src/main/java/net/doubledoordev/backend/server/OutWrapper.java
deleted file mode 100644
index 39b899b..0000000
--- a/src/main/java/net/doubledoordev/backend/server/OutWrapper.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-package net.doubledoordev.backend.server;
-
-import net.doubledoordev.backend.util.methodCaller.IMethodCaller;
-
-import java.io.PrintStream;
-
-/**
- * @author Dries007
- */
-public class OutWrapper extends PrintStream
-{
- private final IMethodCaller methodCaller;
- private final Server server;
-
- public OutWrapper(PrintStream oldPrintWriter, IMethodCaller methodCaller, Server server)
- {
- super(oldPrintWriter);
- this.methodCaller = methodCaller;
- this.server = server;
- }
-
- @Override
- public void println()
- {
- server.printLine("");
- methodCaller.sendMessage("");
- }
-
- @Override
- public void println(boolean x)
- {
- server.printLine(String.valueOf(x));
- methodCaller.sendMessage(String.valueOf(x));
- }
-
- @Override
- public void println(char x)
- {
- server.printLine(String.valueOf(x));
- methodCaller.sendMessage(String.valueOf(x));
- }
-
- @Override
- public void println(int x)
- {
- server.printLine(String.valueOf(x));
- methodCaller.sendMessage(String.valueOf(x));
- }
-
- @Override
- public void println(long x)
- {
- server.printLine(String.valueOf(x));
- methodCaller.sendMessage(String.valueOf(x));
- }
-
- @Override
- public void println(float x)
- {
- server.printLine(String.valueOf(x));
- methodCaller.sendMessage(String.valueOf(x));
- }
-
- @Override
- public void println(double x)
- {
- server.printLine(String.valueOf(x));
- methodCaller.sendMessage(String.valueOf(x));
- }
-
- @Override
- public void println(char[] x)
- {
- server.printLine(String.valueOf(x));
- methodCaller.sendMessage(String.valueOf(x));
- }
-
- @Override
- public void println(String x)
- {
- server.printLine(x);
- methodCaller.sendMessage(x);
- }
-
- @Override
- public void println(Object x)
- {
- server.printLine(String.valueOf(x));
- methodCaller.sendMessage(String.valueOf(x));
- }
-}
diff --git a/src/main/java/net/doubledoordev/backend/server/RestartingInfo.java b/src/main/java/net/doubledoordev/backend/server/RestartingInfo.java
index 9d2bab0..83b2012 100644
--- a/src/main/java/net/doubledoordev/backend/server/RestartingInfo.java
+++ b/src/main/java/net/doubledoordev/backend/server/RestartingInfo.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/server/Server.java b/src/main/java/net/doubledoordev/backend/server/Server.java
index 6eff057..7a523e3 100644
--- a/src/main/java/net/doubledoordev/backend/server/Server.java
+++ b/src/main/java/net/doubledoordev/backend/server/Server.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
@@ -30,11 +30,13 @@
import net.doubledoordev.backend.util.exceptions.ServerOnlineException;
import net.doubledoordev.backend.util.methodCaller.IMethodCaller;
import net.doubledoordev.backend.web.socket.ServerconsoleSocketApplication;
-import net.doubledoordev.cmd.CurseModpackDownloader;
+import net.dries007.cmd.Arguments;
+import net.dries007.cmd.Worker;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.progress.ProgressMonitor;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.output.TeeOutputStream;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.util.Strings;
@@ -424,7 +426,7 @@ public JvmData getJvmData()
return jvmData;
}
- public Collection getPossibleJarnames()
+ public Set getPossibleJarnames()
{
LinkedHashSet names = new LinkedHashSet<>();
names.addAll(Arrays.asList(folder.list(ACCEPT_FORGE_FILTER)));
@@ -515,7 +517,7 @@ public void run()
// Downloading new file
- Download download = new Download(new URL(Constants.MC_SERVER_JAR_URL.replace("%ID%", version)), tempFile);
+ Download download = new Download(Helper.getFinalURL(Constants.MC_SERVER_JAR_URL.replace("%ID%", version)), tempFile);
long lastTime = System.currentTimeMillis();
int lastInfo = 0;
@@ -528,7 +530,7 @@ public void run()
printLine(String.format("Download is %dMB", (download.getSize() / (1024 * 1024))));
break;
}
- Thread.sleep(10);
+ Thread.sleep(100);
}
//methodCaller.sendProgress(0);
@@ -544,7 +546,7 @@ public void run()
printLine(String.format("Downloaded %2.0f%% (%dMB / %dMB)", download.getProgress(), (download.getDownloaded() / (1024 * 1024)), (download.getSize() / (1024 * 1024))));
}
- Thread.sleep(10);
+ Thread.sleep(100);
}
if (download.getStatus() == Download.Status.Error)
@@ -630,7 +632,8 @@ public void run()
e.printStackTrace();
}
- for (String name : folder.list(ACCEPT_FORGE_FILTER)) getJvmData().jarName = name;
+ String[] jars = folder.list(ACCEPT_FORGE_FILTER);
+ if (jars != null && jars.length != 0) getJvmData().jarName = jars[0];
FileUtils.forceDelete(forge);
@@ -670,6 +673,7 @@ public void run()
worldManager.doMakeAllOfTheBackup(methodCaller);
+ if (!folder.exists()) folder.mkdirs();
if (purge)
{
for (File file : folder.listFiles(Constants.ACCEPT_ALL_FILTER))
@@ -677,7 +681,50 @@ public void run()
FileUtils.forceDelete(file);
}
}
- if (!folder.exists()) folder.mkdirs();
+
+ if (cuseZip)
+ {
+ Arguments arguments = new Arguments();
+ arguments.server.eula = true;
+ arguments.isClient = false;
+ arguments.magic = true;
+ arguments.delete = true;
+ arguments.input = zipURL;
+ arguments.output = folder;
+ arguments.validate("server");
+
+ Worker worker = new Worker(arguments);
+
+ PipedInputStream in = new PipedInputStream();
+ PipedOutputStream out = new PipedOutputStream(in);
+ PrintStream ps = new PrintStream(out);
+ worker.setLogger(ps);
+
+ new Thread(worker, ID.concat("-curseDownloader")).start();
+
+ BufferedReader inReader = new BufferedReader(new InputStreamReader(in));
+ while (!worker.isDone())
+ {
+ String line = inReader.readLine();
+ if (line == null) break;
+ instance.printLine(line);
+ methodCaller.sendMessage(line);
+ }
+ out.flush();
+ while (inReader.ready())
+ {
+ String line = inReader.readLine();
+ if (line == null) break;
+ instance.printLine(line);
+ methodCaller.sendMessage(line);
+ }
+ inReader.close();
+
+ String[] jars = folder.list(ACCEPT_FORGE_FILTER);
+ if (jars != null && jars.length != 0) getJvmData().jarName = jars[0];
+
+ return;
+ }
final File zip = new File(folder, "modpack.zip");
@@ -686,7 +733,7 @@ public void run()
printLine("Downloading zip...");
- Download download = new Download(new URL(URLDecoder.decode(zipURL, "UTF-8")), zip);
+ Download download = new Download(Helper.getFinalURL(URLDecoder.decode(zipURL, "UTF-8")), zip);
long lastTime = System.currentTimeMillis();
int lastInfo = 0;
@@ -699,7 +746,7 @@ public void run()
printLine(String.format("Download is %dMB", (download.getSize() / (1024 * 1024))));
break;
}
- Thread.sleep(10);
+ Thread.sleep(100);
}
//methodCaller.sendProgress(0);
@@ -716,7 +763,7 @@ public void run()
printLine(String.format("Downloaded %2.0f%% (%dMB / %dMB)", download.getProgress(), (download.getDownloaded() / (1024 * 1024)), (download.getSize() / (1024 * 1024))));
}
- Thread.sleep(10);
+ Thread.sleep(100);
}
if (download.getStatus() == Download.Status.Error)
@@ -724,52 +771,31 @@ public void run()
throw new Exception(download.getMessage());
}
- if (cuseZip)
- {
- CurseModpackDownloader curseModpackDownloader = new CurseModpackDownloader();
- curseModpackDownloader.eula = true;
- curseModpackDownloader.server = true;
- curseModpackDownloader.input = zip;
- curseModpackDownloader.output = folder;
- curseModpackDownloader.ignoreExistingMods = true;
- curseModpackDownloader.logger = new OutWrapper(System.out, methodCaller, instance);
-
- curseModpackDownloader.run();
+ printLine("Downloading zip done, extracting...");
- FileUtils.forceDelete(zip);
-
- printLine("Done extracting & installing zip.");
- }
- else
+ ZipFile zipFile = new ZipFile(zip);
+ zipFile.setRunInThread(true);
+ zipFile.extractAll(folder.getCanonicalPath());
+ lastTime = System.currentTimeMillis();
+ lastInfo = 0;
+ while (zipFile.getProgressMonitor().getState() == ProgressMonitor.STATE_BUSY)
{
- printLine("Downloading zip done, extracting...");
-
- ZipFile zipFile = new ZipFile(zip);
- zipFile.setRunInThread(true);
- zipFile.extractAll(folder.getCanonicalPath());
- lastTime = System.currentTimeMillis();
- lastInfo = 0;
- while (zipFile.getProgressMonitor().getState() == ProgressMonitor.STATE_BUSY)
+ if (zipFile.getProgressMonitor().getPercentDone() - lastInfo >= 10 || System.currentTimeMillis() - lastTime > 1000 * 10)
{
- if (zipFile.getProgressMonitor().getPercentDone() - lastInfo >= 10 || System.currentTimeMillis() - lastTime > 1000 * 10)
- {
- lastInfo = zipFile.getProgressMonitor().getPercentDone();
- lastTime = System.currentTimeMillis();
-
- printLine(String.format("Extracting %d%%", zipFile.getProgressMonitor().getPercentDone()));
- }
+ lastInfo = zipFile.getProgressMonitor().getPercentDone();
+ lastTime = System.currentTimeMillis();
- Thread.sleep(10);
+ printLine(String.format("Extracting %d%%", zipFile.getProgressMonitor().getPercentDone()));
}
- //methodCaller.sendProgress(100);
+ Thread.sleep(10);
+ }
- FileUtils.forceDelete(zip);
+ //methodCaller.sendProgress(100);
- printLine("Done extracting zip.");
- }
+ FileUtils.forceDelete(zip);
- methodCaller.sendDone();
+ printLine("Done extracting zip.");
}
catch (Exception e)
{
@@ -780,7 +806,11 @@ public void run()
methodCaller.sendError(Helper.getStackTrace(e));
e.printStackTrace();
}
- downloading = false;
+ finally
+ {
+ methodCaller.sendDone();
+ downloading = false;
+ }
}
}, getID() + "-modpack-installer").start();
}
diff --git a/src/main/java/net/doubledoordev/backend/server/WorldManager.java b/src/main/java/net/doubledoordev/backend/server/WorldManager.java
index 2450a9f..db305f9 100644
--- a/src/main/java/net/doubledoordev/backend/server/WorldManager.java
+++ b/src/main/java/net/doubledoordev/backend/server/WorldManager.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/server/query/ByteUtils.java b/src/main/java/net/doubledoordev/backend/server/query/ByteUtils.java
index 676230a..174e1ae 100644
--- a/src/main/java/net/doubledoordev/backend/server/query/ByteUtils.java
+++ b/src/main/java/net/doubledoordev/backend/server/query/ByteUtils.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/server/query/MCQuery.java b/src/main/java/net/doubledoordev/backend/server/query/MCQuery.java
index 869d0c1..44d47b4 100644
--- a/src/main/java/net/doubledoordev/backend/server/query/MCQuery.java
+++ b/src/main/java/net/doubledoordev/backend/server/query/MCQuery.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
@@ -19,11 +19,12 @@
package net.doubledoordev.backend.server.query;
import com.google.common.base.Charsets;
-import net.doubledoordev.backend.Main;
-import net.doubledoordev.backend.util.exceptions.ServerOfflineException;
import java.io.IOException;
-import java.net.*;
+import java.net.BindException;
+import java.net.DatagramPacket;
+import java.net.DatagramSocket;
+import java.net.InetAddress;
import static net.doubledoordev.backend.util.Constants.LOCALHOST;
diff --git a/src/main/java/net/doubledoordev/backend/server/query/QueryRequest.java b/src/main/java/net/doubledoordev/backend/server/query/QueryRequest.java
index 15cf604..3565b1f 100644
--- a/src/main/java/net/doubledoordev/backend/server/query/QueryRequest.java
+++ b/src/main/java/net/doubledoordev/backend/server/query/QueryRequest.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/server/query/QueryResponse.java b/src/main/java/net/doubledoordev/backend/server/query/QueryResponse.java
index 4592052..df4e6ec 100644
--- a/src/main/java/net/doubledoordev/backend/server/query/QueryResponse.java
+++ b/src/main/java/net/doubledoordev/backend/server/query/QueryResponse.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/Cache.java b/src/main/java/net/doubledoordev/backend/util/Cache.java
index 1cc3e4e..fa8b200 100644
--- a/src/main/java/net/doubledoordev/backend/util/Cache.java
+++ b/src/main/java/net/doubledoordev/backend/util/Cache.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
@@ -109,7 +109,7 @@ public void run()
String url = Constants.FORGE_INSTALLER_URL.replace("%ID%", forgeBuild.id);
HttpURLConnection urlConnection = (HttpURLConnection) new URL(url).openConnection();
urlConnection.setRequestMethod("GET");
- urlConnection.setRequestProperty("User-Agent", USER_AGENT);
+ urlConnection.setRequestProperty("User-Agent", FORGE_USER_AGENT);
urlConnection.connect();
if (urlConnection.getResponseCode() != 200) forgeBuild.hasInstaller = false;
urlConnection.disconnect();
diff --git a/src/main/java/net/doubledoordev/backend/util/Constants.java b/src/main/java/net/doubledoordev/backend/util/Constants.java
index d851138..e6675c7 100644
--- a/src/main/java/net/doubledoordev/backend/util/Constants.java
+++ b/src/main/java/net/doubledoordev/backend/util/Constants.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
@@ -60,7 +60,7 @@ public class Constants
public static final String DATA = "data";
public static final String DIM = "DIM";
public static final String OVERWORLD = "Overworld";
- public static final String USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)";
+ public static final String FORGE_USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)";
/*
* FilenameFilter constants
*/
@@ -157,7 +157,7 @@ public boolean accept(File dir, String name)
@Override
public boolean accept(File dir, String name)
{
- return name.startsWith("forge");
+ return name.startsWith("forge") && ACCEPT_ALL_JAR_FILTER.accept(dir, name);
}
};
public final static FilenameFilter ACCEPT_MINECRAFT_SERVER_FILTER = new FilenameFilter()
@@ -165,7 +165,7 @@ public boolean accept(File dir, String name)
@Override
public boolean accept(File dir, String name)
{
- return name.startsWith("minecraft_server");
+ return name.startsWith("minecraft_server") && ACCEPT_ALL_JAR_FILTER.accept(dir, name);
}
};
/*
diff --git a/src/main/java/net/doubledoordev/backend/util/CustomLogAppender.java b/src/main/java/net/doubledoordev/backend/util/CustomLogAppender.java
index 36612b4..ea419a3 100644
--- a/src/main/java/net/doubledoordev/backend/util/CustomLogAppender.java
+++ b/src/main/java/net/doubledoordev/backend/util/CustomLogAppender.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/Download.java b/src/main/java/net/doubledoordev/backend/util/Download.java
index a7ec37b..20e4f4f 100644
--- a/src/main/java/net/doubledoordev/backend/util/Download.java
+++ b/src/main/java/net/doubledoordev/backend/util/Download.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/Helper.java b/src/main/java/net/doubledoordev/backend/util/Helper.java
index d3b95f8..de2a364 100644
--- a/src/main/java/net/doubledoordev/backend/util/Helper.java
+++ b/src/main/java/net/doubledoordev/backend/util/Helper.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
@@ -32,10 +32,7 @@
import java.io.*;
import java.lang.reflect.InvocationTargetException;
-import java.net.InetSocketAddress;
-import java.net.ServerSocket;
-import java.net.URL;
-import java.net.URLConnection;
+import java.net.*;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -58,6 +55,7 @@ public class Helper
private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("#.##");
private static final char[] symbols = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
+ private static final int MAX_REDIRECTS = 25;
private Helper()
{
@@ -348,4 +346,32 @@ public static String stripColor(String txt)
{
return txt.replaceAll("(?i)\u00a7[0-9a-fk-or]", "");
}
+
+ public static URL getFinalURL(String url) throws IOException
+ {
+ for (int i = 0; i < MAX_REDIRECTS; i++)
+ {
+ HttpURLConnection con = null;
+ try
+ {
+ con = (HttpURLConnection) new URL(url).openConnection();
+ con.setInstanceFollowRedirects(false);
+ con.connect();
+ if (con.getHeaderField("Location") == null)
+ {
+ return new URL(url.replace("?cookieTest=1", ""));
+ }
+ url = con.getHeaderField("Location");
+ }
+ catch (IOException e)
+ {
+ return new URL(url.replace("?cookieTest=1", ""));
+ }
+ finally
+ {
+ if (con != null) con.disconnect();
+ }
+ }
+ throw new IOException("Redirect limit (" + MAX_REDIRECTS + ") exceeded on url: " + url);
+ }
}
diff --git a/src/main/java/net/doubledoordev/backend/util/JsonNBTHelper.java b/src/main/java/net/doubledoordev/backend/util/JsonNBTHelper.java
index 5393592..ff315fd 100644
--- a/src/main/java/net/doubledoordev/backend/util/JsonNBTHelper.java
+++ b/src/main/java/net/doubledoordev/backend/util/JsonNBTHelper.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/OSUtils.java b/src/main/java/net/doubledoordev/backend/util/OSUtils.java
index 730e529..da9712d 100644
--- a/src/main/java/net/doubledoordev/backend/util/OSUtils.java
+++ b/src/main/java/net/doubledoordev/backend/util/OSUtils.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/PasswordHash.java b/src/main/java/net/doubledoordev/backend/util/PasswordHash.java
index 3d9d605..e2a5fe7 100644
--- a/src/main/java/net/doubledoordev/backend/util/PasswordHash.java
+++ b/src/main/java/net/doubledoordev/backend/util/PasswordHash.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/PortRange.java b/src/main/java/net/doubledoordev/backend/util/PortRange.java
index 770ab06..49d5605 100644
--- a/src/main/java/net/doubledoordev/backend/util/PortRange.java
+++ b/src/main/java/net/doubledoordev/backend/util/PortRange.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/Settings.java b/src/main/java/net/doubledoordev/backend/util/Settings.java
index b9c471a..65ed6cd 100644
--- a/src/main/java/net/doubledoordev/backend/util/Settings.java
+++ b/src/main/java/net/doubledoordev/backend/util/Settings.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
@@ -45,7 +45,11 @@ public class Settings
try
{
if (CONFIG_FILE.exists()) SETTINGS = Constants.GSON.fromJson(new FileReader(CONFIG_FILE), Settings.class);
- else SETTINGS = new Settings();
+ else
+ {
+ SETTINGS = new Settings();
+ save();
+ }
}
catch (IOException e)
{
diff --git a/src/main/java/net/doubledoordev/backend/util/SizeCounter.java b/src/main/java/net/doubledoordev/backend/util/SizeCounter.java
index 8aa5198..a6b2989 100644
--- a/src/main/java/net/doubledoordev/backend/util/SizeCounter.java
+++ b/src/main/java/net/doubledoordev/backend/util/SizeCounter.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/TypeHellhole.java b/src/main/java/net/doubledoordev/backend/util/TypeHellhole.java
index c8c014d..2081d78 100644
--- a/src/main/java/net/doubledoordev/backend/util/TypeHellhole.java
+++ b/src/main/java/net/doubledoordev/backend/util/TypeHellhole.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/WebSocketHelper.java b/src/main/java/net/doubledoordev/backend/util/WebSocketHelper.java
index 5ef3062..4c9afd2 100644
--- a/src/main/java/net/doubledoordev/backend/util/WebSocketHelper.java
+++ b/src/main/java/net/doubledoordev/backend/util/WebSocketHelper.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/exceptions/AuthenticationException.java b/src/main/java/net/doubledoordev/backend/util/exceptions/AuthenticationException.java
index 4ce8a29..d474086 100644
--- a/src/main/java/net/doubledoordev/backend/util/exceptions/AuthenticationException.java
+++ b/src/main/java/net/doubledoordev/backend/util/exceptions/AuthenticationException.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/exceptions/BackupException.java b/src/main/java/net/doubledoordev/backend/util/exceptions/BackupException.java
index b943a65..d8b00ba 100644
--- a/src/main/java/net/doubledoordev/backend/util/exceptions/BackupException.java
+++ b/src/main/java/net/doubledoordev/backend/util/exceptions/BackupException.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/exceptions/IncorrectRequestIdException.java b/src/main/java/net/doubledoordev/backend/util/exceptions/IncorrectRequestIdException.java
index c208ca7..18dc71b 100644
--- a/src/main/java/net/doubledoordev/backend/util/exceptions/IncorrectRequestIdException.java
+++ b/src/main/java/net/doubledoordev/backend/util/exceptions/IncorrectRequestIdException.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/exceptions/OutOfPortsException.java b/src/main/java/net/doubledoordev/backend/util/exceptions/OutOfPortsException.java
index 23e9de4..22ffda4 100644
--- a/src/main/java/net/doubledoordev/backend/util/exceptions/OutOfPortsException.java
+++ b/src/main/java/net/doubledoordev/backend/util/exceptions/OutOfPortsException.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/exceptions/PostException.java b/src/main/java/net/doubledoordev/backend/util/exceptions/PostException.java
index f009f40..3b848ec 100644
--- a/src/main/java/net/doubledoordev/backend/util/exceptions/PostException.java
+++ b/src/main/java/net/doubledoordev/backend/util/exceptions/PostException.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/exceptions/ServerOfflineException.java b/src/main/java/net/doubledoordev/backend/util/exceptions/ServerOfflineException.java
index 07afef5..4dfd46f 100644
--- a/src/main/java/net/doubledoordev/backend/util/exceptions/ServerOfflineException.java
+++ b/src/main/java/net/doubledoordev/backend/util/exceptions/ServerOfflineException.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/exceptions/ServerOnlineException.java b/src/main/java/net/doubledoordev/backend/util/exceptions/ServerOnlineException.java
index 33cd266..03a8265 100644
--- a/src/main/java/net/doubledoordev/backend/util/exceptions/ServerOnlineException.java
+++ b/src/main/java/net/doubledoordev/backend/util/exceptions/ServerOnlineException.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/methodCaller/IMethodCaller.java b/src/main/java/net/doubledoordev/backend/util/methodCaller/IMethodCaller.java
index 34da95c..fc45964 100644
--- a/src/main/java/net/doubledoordev/backend/util/methodCaller/IMethodCaller.java
+++ b/src/main/java/net/doubledoordev/backend/util/methodCaller/IMethodCaller.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/methodCaller/UserMethodCaller.java b/src/main/java/net/doubledoordev/backend/util/methodCaller/UserMethodCaller.java
index bb79cde..90f855b 100644
--- a/src/main/java/net/doubledoordev/backend/util/methodCaller/UserMethodCaller.java
+++ b/src/main/java/net/doubledoordev/backend/util/methodCaller/UserMethodCaller.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/methodCaller/WebSocketCaller.java b/src/main/java/net/doubledoordev/backend/util/methodCaller/WebSocketCaller.java
index 991aa2c..1c461dd 100644
--- a/src/main/java/net/doubledoordev/backend/util/methodCaller/WebSocketCaller.java
+++ b/src/main/java/net/doubledoordev/backend/util/methodCaller/WebSocketCaller.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/winreg/JavaFinder.java b/src/main/java/net/doubledoordev/backend/util/winreg/JavaFinder.java
index 6f7f70b..ddcb406 100644
--- a/src/main/java/net/doubledoordev/backend/util/winreg/JavaFinder.java
+++ b/src/main/java/net/doubledoordev/backend/util/winreg/JavaFinder.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/winreg/JavaInfo.java b/src/main/java/net/doubledoordev/backend/util/winreg/JavaInfo.java
index ba1e314..79ec09c 100644
--- a/src/main/java/net/doubledoordev/backend/util/winreg/JavaInfo.java
+++ b/src/main/java/net/doubledoordev/backend/util/winreg/JavaInfo.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/winreg/RuntimeStreamer.java b/src/main/java/net/doubledoordev/backend/util/winreg/RuntimeStreamer.java
index d0fc4e7..65cd74d 100644
--- a/src/main/java/net/doubledoordev/backend/util/winreg/RuntimeStreamer.java
+++ b/src/main/java/net/doubledoordev/backend/util/winreg/RuntimeStreamer.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/util/winreg/WinRegistry.java b/src/main/java/net/doubledoordev/backend/util/winreg/WinRegistry.java
index 40b2977..cbe5481 100644
--- a/src/main/java/net/doubledoordev/backend/util/winreg/WinRegistry.java
+++ b/src/main/java/net/doubledoordev/backend/util/winreg/WinRegistry.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/http/FreemarkerHandler.java b/src/main/java/net/doubledoordev/backend/web/http/FreemarkerHandler.java
index 674184c..9437b8f 100644
--- a/src/main/java/net/doubledoordev/backend/web/http/FreemarkerHandler.java
+++ b/src/main/java/net/doubledoordev/backend/web/http/FreemarkerHandler.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/http/PostHandler.java b/src/main/java/net/doubledoordev/backend/web/http/PostHandler.java
index f3098ca..535c129 100644
--- a/src/main/java/net/doubledoordev/backend/web/http/PostHandler.java
+++ b/src/main/java/net/doubledoordev/backend/web/http/PostHandler.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/http/ServerFileHandler.java b/src/main/java/net/doubledoordev/backend/web/http/ServerFileHandler.java
index 338a71c..6580000 100644
--- a/src/main/java/net/doubledoordev/backend/web/http/ServerFileHandler.java
+++ b/src/main/java/net/doubledoordev/backend/web/http/ServerFileHandler.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/http/UploaderMultipartHandler.java b/src/main/java/net/doubledoordev/backend/web/http/UploaderMultipartHandler.java
index 6e922c6..0f96045 100644
--- a/src/main/java/net/doubledoordev/backend/web/http/UploaderMultipartHandler.java
+++ b/src/main/java/net/doubledoordev/backend/web/http/UploaderMultipartHandler.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/AdvancedSettingsSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/AdvancedSettingsSocketApplication.java
index b920720..a5e376c 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/AdvancedSettingsSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/AdvancedSettingsSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/ConsoleSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/ConsoleSocketApplication.java
index 9b4dfd8..13547ff 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/ConsoleSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/ConsoleSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/FileManagerSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/FileManagerSocketApplication.java
index 68d9ba9..ae8ee9d 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/FileManagerSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/FileManagerSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/FileMonitorSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/FileMonitorSocketApplication.java
index 0b573ba..60d561a 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/FileMonitorSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/FileMonitorSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/ServerControlSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/ServerControlSocketApplication.java
index 6f7e96a..24eceb0 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/ServerControlSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/ServerControlSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/ServerMonitorSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/ServerMonitorSocketApplication.java
index f271c3e..903efde 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/ServerMonitorSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/ServerMonitorSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/ServerPropertiesSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/ServerPropertiesSocketApplication.java
index aa6d930..364a1d7 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/ServerPropertiesSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/ServerPropertiesSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/ServerWebSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/ServerWebSocketApplication.java
index 408530d..ee247bd 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/ServerWebSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/ServerWebSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/ServerconsoleSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/ServerconsoleSocketApplication.java
index 2cefdf6..5f03317 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/ServerconsoleSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/ServerconsoleSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/UsersSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/UsersSocketApplication.java
index a537941..a180ae3 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/UsersSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/UsersSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
diff --git a/src/main/java/net/doubledoordev/backend/web/socket/WorldManagerSocketApplication.java b/src/main/java/net/doubledoordev/backend/web/socket/WorldManagerSocketApplication.java
index c5e355c..d98ca51 100644
--- a/src/main/java/net/doubledoordev/backend/web/socket/WorldManagerSocketApplication.java
+++ b/src/main/java/net/doubledoordev/backend/web/socket/WorldManagerSocketApplication.java
@@ -1,6 +1,6 @@
/*
* D3Backend
- * Copyright (C) 2015 - 2016 Dries007 & Double Door Development
+ * Copyright (C) 2015 - 2017 Dries007 & Double Door Development
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published