From 97a1b9284528618848c363d94c85601191b01174 Mon Sep 17 00:00:00 2001 From: undead2146 Date: Sun, 27 Sep 2026 02:40:08 +0000 Subject: [PATCH] fix(auth): grant GameLauncher sessions ServerListReadOnly access SessionTypeHasAccessTo is a stub that only grants GameClient, so every GameLauncher caller of GET /Lobbies falls into the explicit 500 branch even though the endpoint policy admits the GameLauncher role. Launcher clients (client_id genhub) can sign in but can never list lobbies. Grant GameLauncher the ServerListReadOnly access the enum documents ("can read lobby list and players etc, but cannot join"). ServerListReadOnly is consumed only by LobbiesController.Get, so no join, mutate, matchmaking, or gameplay path is affected; all other access types stay GameClient-only. --- GenOnlineService/Constants.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/GenOnlineService/Constants.cs b/GenOnlineService/Constants.cs index 3316def..310e08b 100644 --- a/GenOnlineService/Constants.cs +++ b/GenOnlineService/Constants.cs @@ -1596,14 +1596,12 @@ public static bool SessionTypeHasAccessTo(EUserSessionType sessType, ESessionAcc { return true; } - else if (sessType == EUserSessionType.ChatClient) - { - return false; - } - else if (sessType == EUserSessionType.GameLauncher) + // GameLauncher can read the server list but cannot join or mutate lobbies. + if (accessType == ESessionAccessType.ServerListReadOnly + && sessType == EUserSessionType.GameLauncher) { - return false; + return true; } return false;