From 3beb226786db44fcc9b9684cc5f81e6c731d31df Mon Sep 17 00:00:00 2001 From: John Zimmermann Date: Sat, 10 Oct 2026 19:53:32 +0200 Subject: [PATCH] Cleanup matchmaker queues, add more and higher rank bots --- cloud/data/default_platform_config.lua | 94 ++++++++++++-------------- 1 file changed, 42 insertions(+), 52 deletions(-) diff --git a/cloud/data/default_platform_config.lua b/cloud/data/default_platform_config.lua index c8c56b0..9103aa0 100755 --- a/cloud/data/default_platform_config.lua +++ b/cloud/data/default_platform_config.lua @@ -351,10 +351,10 @@ function ConfigureMatchmaker() -- Тип адаптивных пресетов ботов. - local bpt_none = 0 - local bpt_mirror = 1 - local bpt_adaptive = 2 - local bpt_mirror_and_save = 3 + local bpt_none = 0 -- Preconfigure Bot Presets (ai_settings.lua) + local bpt_mirror = 1 -- Mirror the player layout + local bpt_adaptive = 2 -- Store cvars.sv_numAdaptivePresetsInDB amount of top player presets + local bpt_mirror_and_save = 3 -- Mirrors the ships like in bpt_mirror but also saves to DB (like 2) -- MM queue setup local queuesConfigLo = { @@ -370,19 +370,21 @@ function ConfigureMatchmaker() s1338_pandora_anomaly = {}, s1420_ceres3_northmsite = {}, }, + botPresetType = bpt_none, + botPresetByTier = {"BotsBZS_T3","BotsBZS_T3","BotsBZS_T3","BotsBZS_T4","BotsBZS_T5"}, query = { ["mmParams.practice"] = 1 }, - special = { gameMode = 5, botsCount = 0 }, + special = { gameMode = 5, botsCount = 0, }, }, -- PVE QUEUE { - maxPlayers = 1, + maxPlayers = 4, minPlayers = 1, regionLocalizedTimeInQueue = 10, maxTimeInQueue = 10, levelsDesc = {}, query = { ["mmParams.pve"] = 1 }, - special = { pve = 1, gameMode = 7 }, + special = { pve = 1, gameMode = 7, botPresetNames = { "BotsBZS_T3","BotsBZS_T4","BotsBZS_T5" }, }, } } @@ -398,34 +400,32 @@ function ConfigureMatchmaker() maxTimeInQueue = 10, maxSquadTimeInQueue = 0x7FFFFFFF, levelsDesc = { - s1338_devilsjaw = {4,9,11}, - s1420_ceres3_northmsite = {4,9,11}, - s1420_ceres3_asteroidcity = {4,9,11}, - s8256_thar_barrierdebris = {4,9,11}, - s1338_pandora_dreadnwreck = {4,9,11}, - }, + s1338_pandora_dreadnwreck = { 2,3,4,23 }, + s1420_ceres3_northmsite = { 2,3,4,23 }, + s1338_devilsjaw = { 2,3,4,23 }, + s1340_thar_aliendebris13 = { 2,3,4,23 }, + s1338_pandora_anomaly = { 2,3,4,23 }, + s1420_ceres3_asteroidcity = { 2,3,4,23 }, + s1340_thar_gasgiant = { 2,3,4,23 }, + s8256_thar_barrierdebris = { 2,3,4,23 }, + s8256_thar_threshold = { 2,3,4,23 }, + s1340_aliendestsatation = { 2,3,4,23 }, + }, query = { ["mmParams.arcade"] = 1, mmRank = { ["$gte"] = 1, ["$lte"] = 15 }, mmSquadRank = { ["$gte"] = 1, ["$lte"] = 15 }, mmValue = { ["$gte"] = 0, ["$lt"] = 100 } }, - special = { arcade = 1 }, + special = { arcade = 1, botPresetNames = { "BotsBZS_T4" } }, } + --arcadeQueueTemplate.levelsDesc = "s1338_pandora_dreadnwreck:4; s1340_thar_aliendebris13:4; s8256_thar_threshold:4" + table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 11, 1, 11, 0, 20 ) ) + --arcadeQueueTemplate.levelsDesc = "s1338_devilsjaw:4,9,10; s1340_aliendestsatation:4,10; s1340_thar_gasgiant:4,9; s1420_ceres3_northmsite:4,9,10" + table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 11, 1, 11, 20, 99 ) ) + -- --arcadeQueueTemplate.levelsDesc = "s1338_pandora_dreadnwreck:4; s1340_thar_aliendebris13:4; s8256_thar_threshold:4" - table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 17, 1, 15, 0, 20, { special = { queueFlags = { newbie = 1, }, }, maxPlayers = 16 } ) ) - -- - --arcadeQueueTemplate.levelsDesc = "s1338_devilsjaw:4,9,10; s1340_aliendestsatation:4,10; s1340_thar_gasgiant:4,9; s1420_ceres3_northmsite:4,9,10" - table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 17, 1, 15, 19, 24 ) ) - -- - --arcadeQueueTemplate.levelsDesc = "s1420_ceres3_asteroidcity:4,9,10,11; s1420_ceres3_northmsite:4,11; s8256_thar_barrierdebris:4,9,11; s8256_thar_threshold:4,9,10; s1347_livestation:4,10" - table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 17, 1, 15, 24, 31 ) ) - -- - --arcadeQueueTemplate.levelsDesc = "s1338_pandora_anomaly:3,4,9,11; s1338_pandora_dreadnwreck:3,9,10,11; s1420_ceres3_asteroidcity:4,10; s1420_ceres3_northmsite:3,9,11; s8256_thar_lavastone:4,10" - table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 17, 1, 15, 31, 39 ) ) - -- - --arcadeQueueTemplate.levelsDesc = "s1338_pandora_anomaly:3,4,10; s1338_pandora_dreadnwreck:3,4,9,11; s1340_aliendestsatation:3; s1340_thar_aliendebris13:3,4,9,10; s8256_thar_threshold:3,4,9" - table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 17, 1, 15, 39, 51 ) ) - -- - --arcadeQueueTemplate.levelsDesc = "s1338_devilsjaw:3,4,9; s1340_aliendestsatation:3,4,9,10; s1340_thar_gasgiant:3,4; s1420_ceres3_northmsite:9; s8256_thar_lavastone:3,10,11; s8256_thar_threshold:3,11" - table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 17, 1, 15, 51, 99 ) ) + + arcadeQueueTemplate.special = { arcade = 1, botPresetNames = { "BotsBZS_T5" } } + table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 12, 17, 12, 15, 0, 20 ) ) + table.insert( queuesConfigLo, InstantiateQueueTemplate( arcadeQueueTemplate, 12, 17, 12, 15, 51, 99 ) ) local coopQueueTemplate = { maxPlayers = 12, @@ -441,27 +441,16 @@ function ConfigureMatchmaker() s1338_pandora_dreadnwreck = {4,9,11}, }, query = { ["mmParams.coop_vs_ai"] = 1, mmRank = { ["$gte"] = 1, ["$lte"] = 15 }, mmValue = { ["$gte"] = 0, ["$lt"] = 100 } }, - special = { coop_vs_ai = 1 }, + special = { coop_vs_ai = 1, botPresetNames = { "BotsT2E" }, }, } -- --coopQueueTemplate.levelsDesc = "s1338_pandora_dreadnwreck:4; s1340_thar_aliendebris13:4; s8256_thar_threshold:4" - table.insert( queuesConfigLo, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 0, 21, { special = { queueFlags = { newbie = 1, }, coop_vs_ai = 1 }, maxPlayers = 8 } ) ) - -- - --coopQueueTemplate.levelsDesc = "s1338_devilsjaw:4,9,10; s1340_aliendestsatation:4,10; s1340_thar_gasgiant:4,9; s1420_ceres3_northmsite:4,9,10" - table.insert( queuesConfigLo, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 19, 24 ) ) - -- - --coopQueueTemplate.levelsDesc = "s1420_ceres3_asteroidcity:4,9,10,11; s1420_ceres3_northmsite:4,11; s8256_thar_barrierdebris:4,9,11; s8256_thar_threshold:4,9,10; s1347_livestation:4,10" - table.insert( queuesConfigLo, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 24, 31 ) ) - -- - --coopQueueTemplate.levelsDesc = "s1338_pandora_anomaly:3,4,9,11; s1338_pandora_dreadnwreck:3,9,10,11; s1420_ceres3_asteroidcity:4,10; s1420_ceres3_northmsite:3,9,11; s8256_thar_lavastone:4,10" - table.insert( queuesConfigLo, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 31, 39 ) ) - -- - --coopQueueTemplate.levelsDesc = "s1338_pandora_anomaly:3,4,10; s1338_pandora_dreadnwreck:3,4,9,11; s1340_aliendestsatation:3; s1340_thar_aliendebris13:3,4,9,10; s8256_thar_threshold:3,4,9" - table.insert( queuesConfigLo, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 39, 51 ) ) - -- - --coopQueueTemplate.levelsDesc = "s1338_devilsjaw:3,4,9; s1340_aliendestsatation:3,4,9,10; s1340_thar_gasgiant:3,4; s1420_ceres3_northmsite:9; s8256_thar_lavastone:3,10,11; s8256_thar_threshold:3,11" - table.insert( queuesConfigLo, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 51, 99 ) ) + table.insert( queuesConfigLo, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 0, 21 ) ) + + coopQueueTemplate.levelsDesc = "s1338_devilsjaw:3,4,9; s1340_aliendestsatation:3,4,9,10; s1340_thar_gasgiant:3,4; s1420_ceres3_northmsite:9; s8256_thar_lavastone:3,10,11; s8256_thar_threshold:3,11" + coopQueueTemplate.special = { coop_vs_ai = 1, botPresetNames = { "BotsBZS_T5" } } + table.insert( queuesConfigLo, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 22, 99 ) ) -- BRAWL-- @@ -732,7 +721,7 @@ function ConfigureMatchmaker() -- --arcadeQueueTemplate.levelsDesc = "s1338_pandora_dreadnwreck:4; s1340_thar_aliendebris13:4; s8256_thar_threshold:4" - table.insert( queuesConfig, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 15, 1, 15, 0, 21, { special = { queueFlags = { newbie = 1, }, }, maxPlayers = 16 } ) ) + table.insert( queuesConfig, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 15, 1, 15, 0, 21 ) ) -- --arcadeQueueTemplate.levelsDesc = "s1338_devilsjaw:4,9,10; s1340_aliendestsatation:4,10; s1340_thar_gasgiant:4,9; s1420_ceres3_northmsite:4,9,10" table.insert( queuesConfig, InstantiateQueueTemplate( arcadeQueueTemplate, 1, 15, 1, 15, 20, 24 ) ) @@ -774,13 +763,15 @@ function ConfigureMatchmaker() s8256_thar_barrierdebris = {4,9,11}, s1338_pandora_dreadnwreck = {4,9,11}, }, + botPresetType = bpt_none, + botPresetByTier = {"BotsBZS_T3","BotsBZS_T3","BotsBZS_T3","BotsBZS_T4","BotsBZS_T5"}, query = { ["mmParams.coop_vs_ai"] = 1, mmRank = { ["$gte"] = 1, ["$lte"] = 15 }, mmValue = { ["$gte"] = 0, ["$lt"] = 100 } }, - special = { coop_vs_ai = 1 }, + special = { coop_vs_ai = 1, botPresetNames = { "BotsBZS_T5" }, }, } -- --coopQueueTemplate.levelsDesc = "s1338_pandora_dreadnwreck:4; s1340_thar_aliendebris13:4; s8256_thar_threshold:4" - table.insert( queuesConfig, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 0, 21, { special = { queueFlags = { newbie = 1, }, }, maxPlayers = 8 } ) ) + table.insert( queuesConfig, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 0, 21 ) ) -- --coopQueueTemplate.levelsDesc = "s1338_devilsjaw:4,9,10; s1340_aliendestsatation:4,10; s1340_thar_gasgiant:4,9; s1420_ceres3_northmsite:4,9,10" table.insert( queuesConfig, InstantiateQueueTemplate( coopQueueTemplate, 1, 15, 1, 15, 20, 24 ) ) @@ -887,7 +878,7 @@ function ConfigureMatchmaker() -- Количество ботов. (тип: целое число; диапазон: 0..31) -- Базовое количество ботов; в конкретной очереди может быть переопределено. - cvars.mm_botsCount = 6 + cvars.mm_botsCount = 17 -- Базовый игровой режим для новой игровой сессии; в конкретной очереди может быть переопределён. -- Возможные значения (не все работают): @@ -995,7 +986,6 @@ function ConfigureMatchmaker() end - function ConfigureAdventureServer() -- Включает/выключает сохранение предложений adventure-giver в базу данных. (тип: логический)