From 3cd3f41be79eae93970d849c6d547fdcaf1714fd Mon Sep 17 00:00:00 2001 From: tomoron Date: Tue, 22 Oct 2024 18:43:10 +0200 Subject: [PATCH] add ranked matchmaking and add elo calculations --- .../file/server/server/DummySocket.py | 2 +- .../djangoserver/file/server/server/Game.py | 65 ++++++++++++++++++- .../file/server/server/GameSettings.py | 7 +- .../djangoserver/file/server/server/models.py | 1 + .../server/typeRequests/gameActions/start.py | 4 +- .../file/server/server/typeRequests/login.py | 6 +- .../djangoserver/file/server/server/views.py | 1 + .../file/server/server/websocket.py | 7 +- 8 files changed, 82 insertions(+), 11 deletions(-) diff --git a/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py b/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py index 1f29205..d5e46f1 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py +++ b/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py @@ -6,7 +6,7 @@ # By: edbernar = GameSettings.nbGoals): socket.sendError("Goal id out of range", 9039) return; - Game(socket, content.get("with_bot", False), skinId, goalId, False, opponent) + Game(socket, content.get("with_bot", False), skinId, goalId, content.get("isRanked",False), opponent) diff --git a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/login.py b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/login.py index 17ef8fc..757ad4c 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/login.py +++ b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/login.py @@ -6,7 +6,7 @@ # By: edbernar int: + async def login(self, uid: int, username: str, pfp : str, elo : int) -> int: if(await self.session_get("logged_in", False)): print("already logged in") return(0) @@ -96,9 +96,11 @@ class WebsocketHandler(AsyncWebsocketConsumer): await self.session_set("id",uid) await self.session_set("username",username) await self.session_set("pfp", pfp) + await self.session_set("elo", elo) await self.session_save() self.logged_in = True self.id = uid + self.elo = elo self.username = username self.pfp = pfp return(1) @@ -120,6 +122,7 @@ class WebsocketHandler(AsyncWebsocketConsumer): self.id = await self.session_get("id",0) self.username = await self.session_get("username", None) self.pfp = await self.session_get("pfp",None) + self.elo = await self.session_get("elo", 0) self.logged_in = True await self.send(text_data=json.dumps({"type":"logged_in", "content":{ "status":await self.session_get("logged_in",False),