From 7d609b6a40b2e0cba6130208691999f40384f4a9 Mon Sep 17 00:00:00 2001 From: James Osborne Date: Sun, 7 Jun 2026 15:48:38 -0400 Subject: [PATCH] Restrict PC Brutal Peeps rooms to PC clients --- src/Lobby.cc | 7 +++++++ src/SendCommands.cc | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/src/Lobby.cc b/src/Lobby.cc index 8ff904d9..d1d84ca8 100644 --- a/src/Lobby.cc +++ b/src/Lobby.cc @@ -618,6 +618,13 @@ Lobby::JoinError Lobby::join_error_for_client(std::shared_ptr c, const s return JoinError::VERSION_CONFLICT; } if (this->is_game()) { + // Brutal Peeps PC rooms rely on PC-only BattleParam runtime patching, so don't allow DC V2 clients to join them. + if ((this->brutal_peeps_tier >= 1) && + this->version_is_allowed(Version::PC_V2) && + (c->version() != Version::PC_V2)) { + return JoinError::VERSION_CONFLICT; + } + if (this->check_flag(Flag::QUEST_SELECTION_IN_PROGRESS)) { return JoinError::QUEST_SELECTION_IN_PROGRESS; } diff --git a/src/SendCommands.cc b/src/SendCommands.cc index 97ee6182..0a276db1 100644 --- a/src/SendCommands.cc +++ b/src/SendCommands.cc @@ -2120,6 +2120,12 @@ void send_game_menu_t(std::shared_ptr c, bool is_spectator_team_list, bo (client_has_debug || (l->check_flag(Lobby::Flag::IS_CLIENT_CUSTOMIZATION) == c->check_flag(Client::Flag::IS_CLIENT_CUSTOMIZATION))) && (l->check_flag(Lobby::Flag::IS_SPECTATOR_TEAM) == is_spectator_team_list) && (!show_tournaments_only || l->tournament_match)) { + // Brutal Peeps PC rooms rely on PC-only BattleParam runtime patching, so don't show them to DC V2 clients. + if ((l->brutal_peeps_tier >= 1) && + l->version_is_allowed(Version::PC_V2) && + (c->version() != Version::PC_V2)) { + continue; + } games.emplace(l); } }