diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Client.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Client.java
index 23b1c65ccd218152576cc9c7d366e68c65d1c591..9817c0d2601718d4b0ce6d731097a6466eb2abe9 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Client.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Client.java
@@ -30,14 +30,13 @@ public class Client {
 
     public static int[] convertStringToArray(String inputString) {
         // Remove brackets and split by comma
-        String[] parts = inputString.substring(1, inputString.length() - 1).split(",");
+        String[] parts = inputString.substring(1, inputString.length() - 1).split(","); //1 .length() -1
 
         // Convert each part to integer
         int[] result = new int[parts.length];
         for (int i = 0; i < parts.length; i++) {
             result[i] = Integer.parseInt(parts[i].trim());
         }
-
         return result;
     }
 
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandler.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandler.java
index ec33d875df97fe74ee69a806c5842c00bc416414..c1caafadcea8175884a736e19db31a4164e9bb08 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandler.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandler.java
@@ -65,7 +65,7 @@ public class ConnectionHandler {
                     coordinates[4] = playerClass;
                     coordinates[5] = playerWalkDirection;
                     coordinates[6] = playerHealth;
-                    Thread.sleep(50);
+                    Thread.sleep(60);
                 }
             } catch (InterruptedException | IOException e) {
                 e.printStackTrace(); // Handle the exception as needed
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Server.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Server.java
index 19c96a42a10b8824007c23cfff9468781493b9b7..32ee4320d12999d77fc19bb1b4deae32433d779e 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Server.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/Server.java
@@ -36,26 +36,36 @@ public class Server {
     private static String ipaddress = "localhost";
 
 //Uncomment these lines to test the server starting manually:
-  /*  public static void main(String[] args) throws IOException { //main method for testing purposes
+   /* public static void main(String[] args) throws IOException { //main method for testing purposes
         Server server = new Server();
         log.info("server starting...");
-        server.start(ipaddress, 4444);
+        server.start(4444);
     } */
 
     //use this method to start the server from another class
     public void startServer() throws IOException {
         Server server = new Server();
         log.info("server starting...");
-        server.start(ipaddress,4444);
+        server.start(4444);
     }
 
-    public void start(String host_ip, int port) throws IOException {
+    public void start(int port) throws IOException {
         serverSocket = new ServerSocket(port);
         log.info("server started!");
         started = true;
-        while (true){
-            new ServerHandler(serverSocket.accept()).start();
-        }
+
+        log.info("server accepting Thread starting...");
+        Thread serverThread = new Thread(() -> {
+            while (true) {
+                try {
+                    new ServerHandler(serverSocket.accept()).start();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+        serverThread.start();
+        log.info("requests accepting Thread started!");
     }
 
     private static class ServerHandler extends Thread {
@@ -150,7 +160,7 @@ public class Server {
                     }
 
                     log.info("Player (X Y) : " + px + " " + py + " Attacking : " + playerAttacking + " direction : " + playerWalkDirection + " HP: " + playerHealth);
-                    log.info(" Enemy (X Y) : " + enemyx + " " + enemyy + " Attacking : " + enemyAttacking + " direction : " + enemyWalkDirection + " HP: " + enemyHealth);
+                    log.info("Enemy (X Y) : " + enemyx + " " + enemyy + " Attacking : " + enemyAttacking + " direction : " + enemyWalkDirection + " HP: " + enemyHealth);
 
                     //check if server was shut down:W
                     if (!isServerRunning) {
diff --git a/src/test/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ClientTest.java b/src/test/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ClientTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..541d65a2b2f6e1420a866f31548043078b5f9bfb
--- /dev/null
+++ b/src/test/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ClientTest.java
@@ -0,0 +1,18 @@
+package de.hdm_stuttgart.battlearena.Model.Multiplayer;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Arrays;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class ClientTest {
+
+    @Test
+    void convertStringToArray() {
+        int[] array = {23}; //Array must be formatted like this for Server transfer
+        int[] result = Client.convertStringToArray("1234");
+        assertEquals(Arrays.toString(array), Arrays.toString(result));
+
+    }
+}
\ No newline at end of file
diff --git a/src/test/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandlerTest.java b/src/test/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandlerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..fa4a0e2aee3c7a7338b65f7c61f830c171e7cb36
--- /dev/null
+++ b/src/test/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ConnectionHandlerTest.java
@@ -0,0 +1,143 @@
+package de.hdm_stuttgart.battlearena.Model.Multiplayer;
+
+import de.hdm_stuttgart.battlearena.Model.Entity.EntityClass;
+import de.hdm_stuttgart.battlearena.Model.Entity.EntityDirection;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class ConnectionHandlerTest {
+
+    ConnectionHandler handler = new ConnectionHandler();
+
+    @Test
+    void getPlayerID() {
+        assertEquals(0,handler.getPlayerID());
+    }
+
+    @Test
+    void getpX() {
+        assertEquals(0,handler.getpX());
+    }
+
+    @Test
+    void setpX() {
+        handler.setpX(1);
+        assertEquals(1,handler.getpX());
+    }
+
+    @Test
+    void getpY() {
+        assertEquals(0,handler.getpY());
+    }
+
+    @Test
+    void setpY() {
+        handler.setpY(1);
+        assertEquals(1,handler.getpY());
+    }
+
+    @Test
+    void getEnemyX() {
+        assertEquals(0,handler.getEnemyX());
+    }
+
+    @Test
+    void getEnemyY() {
+        assertEquals(0,handler.getEnemyY());
+    }
+
+    @Test
+    void getPlayerAttacking() {
+        assertEquals(true,ConnectionHandler.getPlayerAttacking());
+    }
+
+    @Test
+    void setPlayerAttacking() {
+        ConnectionHandler.setPlayerAttacking(false);
+        assertEquals(false,ConnectionHandler.getPlayerAttacking());
+        ConnectionHandler.setPlayerAttacking(true);
+    }
+
+    @Test
+    void getEnemyAttacking() {
+        assertEquals(false,ConnectionHandler.getEnemyAttacking());
+    }
+
+    @Test
+    void setEnemyAttacking() {
+        ConnectionHandler.setEnemyAttacking(true);
+        assertEquals(true,ConnectionHandler.getEnemyAttacking());
+        ConnectionHandler.setEnemyAttacking(false);
+    }
+
+    @Test
+    void getPlayerClass() {
+        assertEquals(EntityClass.HUMAN, ConnectionHandler.getPlayerClass());
+
+    }
+
+    @Test
+    void setPlayerClass() {
+        ConnectionHandler.setPlayerClass(EntityClass.HIGH_BORN);
+        assertEquals(EntityClass.HIGH_BORN, ConnectionHandler.getPlayerClass());
+        ConnectionHandler.setPlayerClass(EntityClass.HUMAN);
+    }
+
+    @Test
+    void getEnemyClass() {
+        assertEquals(EntityClass.HUMAN, ConnectionHandler.getEnemyClass());
+    }
+
+    @Test
+    void setEnemyClass() {
+        ConnectionHandler.setEnemyClass(EntityClass.HIGH_BORN);
+        assertEquals(EntityClass.HIGH_BORN, ConnectionHandler.getEnemyClass());
+        ConnectionHandler.setEnemyClass(EntityClass.HUMAN);
+    }
+
+    @Test
+    void getPlayerWalkDirection() {
+        assertEquals(EntityDirection.DOWN, ConnectionHandler.getPlayerWalkDirection());
+    }
+
+    @Test
+    void setPlayerWalkDirection() {
+        ConnectionHandler.setPlayerWalkDirection(EntityDirection.UP);
+        assertEquals(EntityDirection.UP, ConnectionHandler.getPlayerWalkDirection());
+        ConnectionHandler.setPlayerWalkDirection(EntityDirection.DOWN);
+    }
+
+    @Test
+    void getEnemyWalkDirection() {
+        assertEquals(EntityDirection.DOWN, ConnectionHandler.getPlayerWalkDirection());
+    }
+
+    @Test
+    void setEnemyWalkDirection() {
+        ConnectionHandler.setEnemyWalkDirection(EntityDirection.UP);
+        assertEquals(EntityDirection.UP, ConnectionHandler.getEnemyWalkDirection());
+    }
+
+    @Test
+    void getPlayerHealth() {
+        assertEquals(10, ConnectionHandler.getPlayerHealth());
+    }
+
+    @Test
+    void setPlayerHealth() {
+        ConnectionHandler.setPlayerHealth(5);
+        assertEquals(5, ConnectionHandler.getPlayerHealth());
+    }
+
+    @Test
+    void getEnemyHealth() {
+        assertEquals(10, ConnectionHandler.getEnemyHealth());
+    }
+
+    @Test
+    void setEnemyHealth() {
+        ConnectionHandler.setEnemyHealth(5);
+        assertEquals(5, ConnectionHandler.getEnemyHealth());
+    }
+}
\ No newline at end of file
diff --git a/src/test/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ServerTest.java b/src/test/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ServerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d0ad878e4c34c8518f470bd4b0193c96336bfb2
--- /dev/null
+++ b/src/test/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/ServerTest.java
@@ -0,0 +1,43 @@
+package de.hdm_stuttgart.battlearena.Model.Multiplayer;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.junit.jupiter.api.Test;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.util.concurrent.TimeUnit;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class ServerTest {
+
+    private static final Logger log = LogManager.getLogger(Server.class);
+
+    private ServerSocket serverSocket;
+    private int port = 3333;
+    private boolean started = false;
+
+    @Test
+    void startServerSocket() throws IOException {
+        Server server = new Server();
+        server.start(port); //check if the serversocket of the server is started
+        assertTrue(server.isStarted());
+    }
+
+    @Test
+    void stopServer() throws IOException {
+
+        Server server = new Server();
+        server.startServer();
+
+        try{
+            serverSocket.close();
+            started = false;
+        }catch (NullPointerException e){
+            //Throws a NullPointer Exception because not connection is active currently
+            log.info("No active connection to close!");
+        }
+        assertFalse(started);
+    }
+}
\ No newline at end of file