diff --git a/server.py b/server.py
new file mode 100644
index 0000000000000000000000000000000000000000..bf4da5465296ce81cb4b0aa71bd9414c19bbe104
--- /dev/null
+++ b/server.py
@@ -0,0 +1,53 @@
+import socket
+import threading
+
+def handle_client(client_socket, client_address):
+    while True:
+        try:
+            # Empfange Nachricht vom Client
+            data = client_socket.recv(1024)
+            if not data:
+                break
+
+            # Sende die empfangene Nachricht an alle anderen Clients
+            broadcast(data, client_socket, client_address)
+        except:
+            break
+
+    # Client-Socket schließen
+    client_socket.close()
+
+def broadcast(message, sender_socket, sender_address):
+    for client in clients:
+        try:
+            # Sende die Nachricht an alle Clients, außer an den Absender
+            if client != sender_socket:
+                client.send(f"{sender_address}: {message}".encode('utf-8'))
+        except:
+            # Entferne defekte Verbindungen
+            clients.remove(client)
+
+# Server-Konfiguration
+host = '127.0.0.1'
+port = 5555
+
+# Socket erstellen und binden
+server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+server_socket.bind((host, port))
+server_socket.listen(5)
+
+print(f'Server lauscht auf {host}:{port}')
+
+# Liste für die verbundenen Clients
+clients = []
+
+while True:
+    # Warten auf eine Verbindung
+    client_socket, client_address = server_socket.accept()
+
+    # Neuen Thread für jeden verbundenen Client erstellen
+    client_thread = threading.Thread(target=handle_client, args=(client_socket, client_address))
+    client_thread.start()
+
+    # Client-Socket zur Liste hinzufügen
+    clients.append(client_socket)