From 383110641ffb102695190b8cdfe056d1d1449c31 Mon Sep 17 00:00:00 2001 From: Ayberk Alcan Date: Mon, 27 Jul 2026 04:16:24 +0300 Subject: [PATCH] fix(mapconfigs): require exact match for non-prefix map configs Prevent configs like bhop_stref.cfg from improperly matching longer map names like bhop_stref_amazon. Prefix matching is now strictly scoped to configs ending with '_' or '-'. --- addons/sourcemod/plugins/mapconfigs.smx | Bin 5109 -> 4909 bytes addons/sourcemod/scripting/mapconfigs.sp | 13 +++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/addons/sourcemod/plugins/mapconfigs.smx b/addons/sourcemod/plugins/mapconfigs.smx index 1e94a207379d6bbee9fffd70b17685420860360a..2e061ad4d81fac47fc98a9ec7ddd4011da2dbd4f 100644 GIT binary patch literal 4909 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 0) { + if (explode[0][len - 1] == '_' || explode[0][len - 1] == '-') { + if (strncmp(currentMap, explode[0], len, false) == 0) { + PushArrayString(adt_configs, configFile); + } + } else if (StrEqual(currentMap, explode[0], false)) { + PushArrayString(adt_configs, configFile); + } } } }