From 8dc7fdd2af900991daf55377afb6cd92f1684cf9 Mon Sep 17 00:00:00 2001 From: JoKeRZH429 <83122870+JoKeRZH429@users.noreply.github.com> Date: Fri, 19 Jun 2026 17:40:28 +0500 Subject: [PATCH] fix(stats): Report correctly resolved side instead of random in custom matches --- GenOnlineService/Controllers/Lobby/LobbyController.cs | 4 +++- GenOnlineService/Database/Database.MatchHistory.cs | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/GenOnlineService/Controllers/Lobby/LobbyController.cs b/GenOnlineService/Controllers/Lobby/LobbyController.cs index d28dbc2..f1b3774 100644 --- a/GenOnlineService/Controllers/Lobby/LobbyController.cs +++ b/GenOnlineService/Controllers/Lobby/LobbyController.cs @@ -302,6 +302,7 @@ public async Task Delete(Int64 lobbyID) && data.ContainsKey("units_lost") && data.ContainsKey("total_money") && data.ContainsKey("won") + && data.ContainsKey("side") ) { Int64 user_id = TokenHelper.GetUserID(this); @@ -318,6 +319,7 @@ public async Task Delete(Int64 lobbyID) int units_killed = data["units_killed"].GetInt32(); int units_lost = data["units_lost"].GetInt32(); int total_money = data["total_money"].GetInt32(); + int side = data["side"].GetInt32(); bool won = data["won"].GetBoolean(); UInt64 match_id = data["match_id"].GetUInt64(); @@ -337,7 +339,7 @@ public async Task Delete(Int64 lobbyID) // store in DB await using var db = await _dbFactory.CreateDbContextAsync(); - await Database.MatchHistory.CommitPlayerOutcome(db, slotIndexInLobby, match_id, + await Database.MatchHistory.CommitPlayerOutcome(db, slotIndexInLobby, match_id, side, buildings_built, buildings_killed, buildings_lost, units_built, units_killed, units_lost, total_money, won); } } diff --git a/GenOnlineService/Database/Database.MatchHistory.cs b/GenOnlineService/Database/Database.MatchHistory.cs index 63de03b..53b19d0 100644 --- a/GenOnlineService/Database/Database.MatchHistory.cs +++ b/GenOnlineService/Database/Database.MatchHistory.cs @@ -331,6 +331,7 @@ public static async Task CommitPlayerOutcome( AppDbContext db, int slotIndex, ulong matchId, + int side, int buildingsBuilt, int buildingsKilled, int buildingsLost, @@ -357,6 +358,7 @@ public static async Task CommitPlayerOutcome( // 3. Update fields MatchdataMemberModel model = modelNullable.Value; + model.side = side; model.buildings_built = buildingsBuilt; model.buildings_killed = buildingsKilled; model.buildings_lost = buildingsLost;