diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/out/artifacts/BungeeQueue_jar/BungeeQueue.jar b/out/artifacts/BungeeQueue_jar/BungeeQueue.jar
index 69bb975..34be4a3 100644
Binary files a/out/artifacts/BungeeQueue_jar/BungeeQueue.jar and b/out/artifacts/BungeeQueue_jar/BungeeQueue.jar differ
diff --git a/out/production/BungeeQueue/config.example.yml b/out/production/BungeeQueue/config.example.yml
new file mode 100644
index 0000000..0c53741
--- /dev/null
+++ b/out/production/BungeeQueue/config.example.yml
@@ -0,0 +1,6 @@
+queueServer: "queue"
+targetServer: "server"
+maxPlayers: 50
+
+enforceDefaultTimeout: 30
+
diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/BungeeQueue.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/BungeeQueue.class
index 7773d13..d1bf7a5 100644
Binary files a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/BungeeQueue.class and b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/BungeeQueue.class differ
diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class
index 072b048..ef630ce 100644
Binary files a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class and b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class differ
diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class
index f7004e0..3b4c271 100644
Binary files a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class and b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class differ
diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.class
index 75ee954..fa448a4 100644
Binary files a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.class and b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.class differ
diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.class
index 052d84b..c9042eb 100644
Binary files a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.class and b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.class differ
diff --git a/out/production/BungeeQueue/plugin.yml b/out/production/BungeeQueue/plugin.yml
index 86d0427..db030b9 100644
--- a/out/production/BungeeQueue/plugin.yml
+++ b/out/production/BungeeQueue/plugin.yml
@@ -1,3 +1,4 @@
 name: BungeeQueue
 main: eu.mhsl.minecraft.bungeequeue.BungeeQueue
-version: 0.1
\ No newline at end of file
+version: 0.1
+author: MineTec
\ No newline at end of file
diff --git a/src/config.example.yml b/src/config.example.yml
new file mode 100644
index 0000000..0c53741
--- /dev/null
+++ b/src/config.example.yml
@@ -0,0 +1,6 @@
+queueServer: "queue"
+targetServer: "server"
+maxPlayers: 50
+
+enforceDefaultTimeout: 30
+
diff --git a/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java b/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java
index 0070374..3425b3f 100644
--- a/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java
+++ b/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java
@@ -9,7 +9,14 @@ import net.md_5.bungee.api.ProxyServer;
 import net.md_5.bungee.api.config.ServerInfo;
 import net.md_5.bungee.api.connection.ProxiedPlayer;
 import net.md_5.bungee.api.plugin.Plugin;
+import net.md_5.bungee.config.Configuration;
+import net.md_5.bungee.config.ConfigurationProvider;
+import net.md_5.bungee.config.YamlConfiguration;
 
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
@@ -19,29 +26,63 @@ public class BungeeQueue extends Plugin {
     public static ServerInfo queueServer;
     public static ServerInfo targetServer;
 
-    public static int maxPlayers = 1; //mutable per command
+    public static int maxPlayers = 1; //mutable per command and config
+
+    public static Configuration conf;
+    public static File dataFolder;
 
     public static List<ProxiedPlayer> list = new ArrayList<>();
 
     @Override
     public void onEnable() {
         plugin = this;
+        dataFolder = getDataFolder();
+
+        try {
+            if(!dataFolder.exists()) dataFolder.mkdir();
+            File configFile = new File(dataFolder, "config.yml");
+            if(!configFile.exists()) {
+                try(InputStream in = getResourceAsStream("config.example.yml")) {
+                    Files.copy(in, configFile.toPath());
+                } catch(IOException e) {
+                    e.printStackTrace();
+                }
+            }
+
+            conf = ConfigurationProvider.getProvider(YamlConfiguration.class).load(new File(dataFolder, "config.yml"));
+            maxPlayers = conf.getInt("maxPlayers");
+        } catch(IOException e) {
+            e.printStackTrace();
+        }
+
         ProxyServer instance = ProxyServer.getInstance();
 
-        queueServer = instance.getServerInfo("queue");
-        targetServer = instance.getServerInfo("server");
+        queueServer = instance.getServerInfo(conf.getString("queueServer"));
+        targetServer = instance.getServerInfo(conf.getString("targetServer"));
 
         instance.getPluginManager().registerListener(this, new PlayerJoin());
         instance.getPluginManager().registerCommand(this, new MaxPlayers());
 
         instance.getScheduler().schedule(this, new MoveToTarget(), 5, 1, TimeUnit.SECONDS);
-        instance.getScheduler().schedule(this, new QueueInfoMessager(), 5, 2, TimeUnit.SECONDS);
+        instance.getScheduler().schedule(this, new QueueInfoMessager(), 1, 2, TimeUnit.SECONDS);
         instance.getScheduler().schedule(this, new PlayersWaitingCheck(), 10, 10, TimeUnit.SECONDS);
 
     }
 
     public void onDisable() {
+        ProxyServer.getInstance().getPluginManager().unregisterListeners(this);
+        ProxyServer.getInstance().getPluginManager().unregisterCommands(this);
+        saveConfig();
+    }
 
+    public static boolean saveConfig() {
+        try {
+            ConfigurationProvider.getProvider(YamlConfiguration.class).save(conf, new File(dataFolder, "config.yml"));
+            return true;
+        } catch(IOException e) {
+            e.printStackTrace();
+            return false;
+        }
     }
 
 }
diff --git a/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java b/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java
index daaddb6..4443cb4 100644
--- a/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java
+++ b/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java
@@ -27,21 +27,23 @@ public class MaxPlayers extends Command {
                 case "set":
                     if(strings.length == 2) {
                         BungeeQueue.maxPlayers = Integer.parseInt(strings[1]);
+                        BungeeQueue.conf.set("maxPlayers", BungeeQueue.maxPlayers);
+                        BungeeQueue.saveConfig();
                         p.sendMessage(new ComponentBuilder("Die Maximale Spieleranzahl wurde auf " + strings[1] + " gesetzt.").color(ChatColor.GREEN).create());
                     } else p.sendMessage(new ComponentBuilder("Bitte definiere die maximale Spieleranzahl: /maxplayers set <amount> ").color(ChatColor.RED).create());
                     break;
                 case "query":
-                    p.sendMessage(new ComponentBuilder("Die aktuelle Spielerzahl ist " + BungeeQueue.maxPlayers).color(ChatColor.GREEN)
+                    p.sendMessage(new ComponentBuilder("Die aktuelle Spieleranzahl ist " + BungeeQueue.maxPlayers).color(ChatColor.GREEN)
                             .append("\n... davon belegt " + BungeeQueue.targetServer.getPlayers().size()).color(ChatColor.GREEN)
-                            .append("\ndu kannst 'enforce' nutzen, um eine Überbelegung zu verhindern.").color(ChatColor.RED)
+                            .append("\nDu kannst 'enforce' nutzen, um eine Überbelegung zu verhindern.").color(ChatColor.RED)
                             .create()
                     );
                     break;
                 case "enforce":
-                    if(enforceMaxPlayer(strings.length == 2 ? Integer.parseInt(strings[1]) : 30))
-                        p.sendMessage(new ComponentBuilder("Die maximale Spielerzahl wird durchgesetzt...").color(ChatColor.GREEN).create());
+                    if(enforceMaxPlayer(strings.length == 2 ? Integer.parseInt(strings[1]) : BungeeQueue.conf.getInt("enforceDefaultTimeout")))
+                        p.sendMessage(new ComponentBuilder("Die maximale Spieleranzahl wird durchgesetzt...").color(ChatColor.GREEN).create());
                     else
-                        p.sendMessage(new ComponentBuilder("Die maximale Spielerzahl ist nicht erreicht und kann somit auch nicht durchgesetzt werden!").color(ChatColor.RED).create());
+                        p.sendMessage(new ComponentBuilder("Die maximale Spieleranzahl ist nicht erreicht und kann somit auch nicht durchgesetzt werden!").color(ChatColor.RED).create());
                     break;
                 case "bypass":
                     if(strings.length > 2) {
@@ -74,8 +76,8 @@ public class MaxPlayers extends Command {
             evaluatedPlayers.add(players.get(i));
 
             players.get(i).sendMessage(new ComponentBuilder("\n\n>> Achtung >> \n").bold(true).color(ChatColor.RED)
-                    .append("Aufgrund eines zu hohen Spieleraufkommens werden zufällige Spieler vom Server gekickt.\n Begebe dich an einen sicheren Ort.\n").color(ChatColor.GOLD)
-                    .append("Du wirst in " + timeout + " sekunden in die Queue verschoben!\n\n").color(ChatColor.RED)
+                    .append("Aufgrund eines zu hohen Spieleraufkommens, das Lags erzeugt, werden zufällige Spieler vom Server gekickt.\n Begebe dich an einen sicheren Ort.\n").color(ChatColor.GOLD)
+                    .append("Du wirst in " + timeout + " Sekunden in die Warteschlange verschoben!\n\n").color(ChatColor.RED)
                     .create()
             );
         }
@@ -85,7 +87,7 @@ public class MaxPlayers extends Command {
             public void run() {
                 for(ProxiedPlayer p : evaluatedPlayers) {
                     p.connect(BungeeQueue.queueServer);
-                    p.sendMessage(new ComponentBuilder("Du wurdest wie angekündigt aufgrund einer zu hohen Spielerzahl zurück in die Queue versetzt. Die Auswahl dich zu verschieben war Zufällig. Sorry - gönn dir eine Pause!").color(ChatColor.GOLD).create());
+                    p.sendMessage(new ComponentBuilder("Du wurdest wie angekündigt aufgrund eines zu hohen Spieleraufkommens zurück in die Warteschlange versetzt. Die Auswahl Dich zu verschieben war zufällig. Sorry!").color(ChatColor.GOLD).create());
                 }
             }
         }, timeout, TimeUnit.SECONDS);
diff --git a/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java b/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java
index b1e423d..e4fa2dd 100644
--- a/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java
+++ b/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java
@@ -10,7 +10,11 @@ import net.md_5.bungee.event.EventHandler;
 public class PlayerJoin implements Listener {
     @EventHandler
     public void onPlayerJoin(PostLoginEvent e) {
-        e.getPlayer().sendMessage(new ComponentBuilder("Du wurdest zur Queue hinzugefügt!").color(ChatColor.DARK_AQUA).create());
+        e.getPlayer().sendMessage(new ComponentBuilder("Hey,\nDu befindest dich gerade in der Warteschlange des ").color(ChatColor.GOLD)
+                        .append(" CraftAttack 4 ").color(ChatColor.AQUA)
+                        .append("Servers.\nÜber deiner Hotbar siehst Du deinen aktuellen Platz in der Warteschlange. Wir entschuldigen, dass Du hier warten musst, aber um den Server lagfrei zu betreiben ist dies unerlässlich.").color(ChatColor.GOLD)
+                        .create()
+        );
         BungeeQueue.list.add(e.getPlayer());
     }
 }
diff --git a/src/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.java b/src/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.java
index 936ee7f..ceb2caf 100644
--- a/src/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.java
+++ b/src/eu/mhsl/minecraft/bungeequeue/scheduler/QueueInfoMessager.java
@@ -10,6 +10,7 @@ public class QueueInfoMessager implements Runnable {
     @Override
     public void run() {
         for(ProxiedPlayer p : BungeeQueue.list) {
+            int percent = (int) Math.abs(((((float) (BungeeQueue.list.indexOf(p)+1) / (BungeeQueue.list.size()+1)) * 100))-100);
             p.sendMessage(
                     ChatMessageType.ACTION_BAR,
                     new ComponentBuilder("Warteschlange platz ").color(ChatColor.DARK_GREEN)
@@ -17,7 +18,7 @@ public class QueueInfoMessager implements Runnable {
                             .append(" / ").bold(false).color(ChatColor.DARK_GREEN)
                             .append(BungeeQueue.list.size()+"").bold(true).color(ChatColor.GREEN)
                             .append(" - (").color(ChatColor.GRAY)
-                            .append("" + ((BungeeQueue.list.indexOf(p) / BungeeQueue.list.size()) * 100))
+                            .append("" + percent)
                             .append("%)")
                             .create()
             );
diff --git a/src/plugin.yml b/src/plugin.yml
index 86d0427..db030b9 100644
--- a/src/plugin.yml
+++ b/src/plugin.yml
@@ -1,3 +1,4 @@
 name: BungeeQueue
 main: eu.mhsl.minecraft.bungeequeue.BungeeQueue
-version: 0.1
\ No newline at end of file
+version: 0.1
+author: MineTec
\ No newline at end of file