From 69ce1c6651298c81e274952e55077169e8e79ee4 Mon Sep 17 00:00:00 2001 From: cube Date: Thu, 5 Feb 2026 22:39:45 +0000 Subject: [PATCH] Update 'server.py' --- server.py | 180 +++++++++++++++++++++++++++--------------------------- 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/server.py b/server.py index 22faae4..2fbd294 100644 --- a/server.py +++ b/server.py @@ -1,91 +1,91 @@ -import socket, sys, datetime, threading, json - -class Server: - def __init__(self): - self.version = 1.0 - print("Server version: {}".format(self.version)) - self.motd = "cubey" - self.color = 0xe973ea - self.users = [] - - self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - print("Created socket object") - - self.ip = "0.0.0.0" - self.port = 1337 - self.address = (self.ip, self.port) - self.sock.bind(self.address) - print("Server started up on {}".format(self.address)) - - def send(self, data, client): - data = json.dumps(data).encode() - self.sock.sendto(data, client) - - def send_all(self, data): - for user in self.users: - self.send(data, user) - - def connection(self, address, connecting_client_name): - print("New connection from {}".format(address)) - a = {"header":"connection", - "motd":self.motd, - "color":self.color, - "client name":connecting_client_name} - print(">> " + connecting_client_name + " <<") - self.users.append(address) - self.send_all(a) - - def run(self): - while True: - try: - data, addr = self.sock.recvfrom(65507) - a = json.loads(data) - header = a["header"] - client_name = a["client name"] - - if header == "connection": - self.connection(addr, client_name) - elif header == "message": - message = a["message"] - print(client_name + " >> " + message) - response = {"header":"response", - "message":message, - "color":0xffffff, - "client name":client_name} - if addr not in self.users: - self.users.append(addr) - self.send_all(response) - except OSError: - return - -class Commands: - def __init__(self): - self.commands={"test":self.test, - "stop":self.stop} - self.running = True - - def test(self): - print("this is a test command") - - def stop(self): - print("Stopping server...") - server.sock.close() - server_thread.join() - self.running = False - - def run(self): - while self.running: - command = input() - if command in self.commands: - self.commands[command]() - else: - print("Unknown command") - -server = Server() -commands = Commands() - -server_thread = threading.Thread(target = server.run) -commands_thread = threading.Thread(target = commands.run) - -server_thread.start() +import socket, sys, datetime, threading, json + +class Server: + def __init__(self): + self.version = 1.0 + print("Server version: {}".format(self.version)) + self.motd = "cubey" + self.color = 0xe973ea + self.users = [] + + self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + print("Created socket object") + + self.ip = "0.0.0.0" + self.port = 1337 + self.address = (self.ip, self.port) + self.sock.bind(self.address) + print("Server started up on {}".format(self.address)) + + def send(self, data, client): + data = json.dumps(data).encode() + self.sock.sendto(data, client) + + def send_all(self, data): + for user in self.users: + self.send(data, user) + + def connection(self, address, connecting_client_name): + print("New connection from {}".format(address)) + a = {"header":"connection", + "motd":self.motd, + "color":self.color, + "client name":connecting_client_name} + print(">> " + connecting_client_name + " <<") + self.users.append(address) + self.send_all(a) + + def run(self): + while True: + try: + data, addr = self.sock.recvfrom(65507) + a = json.loads(data) + header = a["header"] + client_name = a["client name"] + + if header == "connection": + self.connection(addr, client_name) + elif header == "message": + message = a["message"] + print(client_name + " >> " + message) + response = {"header":"response", + "message":message, + "color":0xffffff, + "client name":client_name} + if addr not in self.users: + self.users.append(addr) + self.send_all(response) + except OSError: + return + +class Commands: + def __init__(self): + self.commands={"test":self.test, + "stop":self.stop} + self.running = True + + def test(self): + print("this is a test command") + + def stop(self): + print("Stopping server...") + server.sock.close() + server_thread.join() + self.running = False + + def run(self): + while self.running: + command = input() + if command in self.commands: + self.commands[command]() + else: + print("Unknown command") + +server = Server() +commands = Commands() + +server_thread = threading.Thread(target = server.run) +commands_thread = threading.Thread(target = commands.run) + +server_thread.start() commands_thread.start() \ No newline at end of file