Compare commits

...
3 Commits
Author SHA1 Message Date
John Zimmermann 3beb226786 Cleanup matchmaker queues, add more and higher rank bots 2026-10-10 19:53:32 +02:00
John Zimmermann c7b2fba7ed Increade daily Iridium cap 2026-10-10 19:42:17 +02:00
John Zimmermann fe65c64fc2 Fix loot table 2026-10-10 19:29:20 +02:00
+58 -68
View File
@@ -267,7 +267,7 @@ function ConfigureShard()
-- Дневной лимит token credits, которые игрок может заработать за день.
-- #106983
cvars.sv_tokenCreditsDailyLimit = 1000
cvars.sv_tokenCreditsDailyLimit = 5000
-- список запрещенного оборудования (кораблей и модулей) в лигах
Shard_SetupLeagueForbiddenEquipment( leagueForbiddenDefs )
@@ -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 в базу данных. (тип: логический)
@@ -1316,21 +1306,21 @@ function ConfigureDediServer()
DedicatedServcerServices_SetLootRules(
{
-- ranks
[1] = { common = { lt = "CommonRanks_1_3", iter = { 0 } }, rare = { lt = "RareT1", iter = { 3,5,12,12,12,12,12,12,12,30,50 } }, epic = { lt = "RareT1", iter = { 100000, 100000 } } },
[2] = { common = { lt = "CommonRanks_1_3", iter = { 0 } }, rare = { lt = "RareT1", iter = { 4,3,11,11,11,11,11,11,11,30,50 } }, epic = { lt = "RareT1", iter = { 100000, 100000 } } },
[3] = { common = { lt = "CommonRanks_1_3", iter = { 0 } }, rare = { lt = "RareT1", iter = { 5,4,10,10,10,10,10,10,10,30,50 } }, epic = { lt = "RareT1", iter = { 100000, 100000 } } },
[4] = { common = { lt = "CommonRanks_4_6", iter = { 0 } }, rare = { lt = "RareT2", iter = { 6,12,12,14,12,14,12,14,12,30,50 } }, epic = { lt = "RareT2", iter = { 100000, 100000 } } },
[5] = { common = { lt = "CommonRanks_4_6", iter = { 0 } }, rare = { lt = "RareT2", iter = { 7,11,13,12,15,12,14,12,13,30,50 } }, epic = { lt = "RareT2", iter = { 100000, 100000 } } },
[6] = { common = { lt = "CommonRanks_4_6", iter = { 0 } }, rare = { lt = "RareT2", iter = { 8,10,12,15,12,12,15,12,12,30,50 } }, epic = { lt = "RareT2", iter = { 100000, 100000 } } },
[7] = { common = { lt = "CommonRanks_7_8", iter = { 0 } }, rare = { lt = "RareT3Mono", iter = { 9,14,14,15,14,14,14,15,25,40,50 } }, epic = { lt = "RareT3", iter = { 100000, 100000 } } },
[8] = { common = { lt = "CommonRanks_7_8", iter = { 0 } }, rare = { lt = "RareT3Mono", iter = { 10,15,14,15,15,14,15,15,26,40,50 } }, epic = { lt = "NeodiumDrop", iter = { 5,7,10,12,18,24,36,36,36,36 } } },
[9] = { common = { lt = "CommonRanks_9_10", iter = { 0 } }, rare = { lt = "RareT3Mono", iter = { 11,14,15,14,14,15,14,18,29,40,50 } }, epic = { lt = "RareT3", iter = { 100000, 100000 } } },
[10] = { common = { lt = "CommonRanks_9_10", iter = { 0 } }, rare = { lt = "RareT4Mono", iter = { 12,18,16,18,16,18,16,18,20,40,50 } }, epic = { lt = "RareT4", iter = { 100000, 100000 } } },
[11] = { common = { lt = "CommonRanks_11_12", iter = { 0 } }, rare = { lt = "RareT4Mono", iter = { 13,17,17,18,17,18,17,18,20,40,50 } }, epic = { lt = "LezortiumDrop", iter = { 7,8,11,13,15,28,35,37,37,37 } } },
[12] = { common = { lt = "CommonRanks_11_12", iter = { 0 } }, rare = { lt = "RareT4Mono", iter = { 14,16,18,16,18,17,18,19,20,40,50 } }, epic = { lt = "RareT4", iter = { 100000, 100000 } } },
[13] = { common = { lt = "CommonRanks_13_15", iter = { 0 } }, rare = { lt = "RareT5Mono", iter = { 12,19,20,21,20,20,21,20,30,40,50 } }, epic = { lt = "RareT5", iter = { 100000, 100000 } } },
[14] = { common = { lt = "CommonRanks_13_15", iter = { 0 } }, rare = { lt = "RareT5Mono", iter = { 13,20,21,20,20,22,20,23,32,40,50 } }, epic = { lt = "RareT5", iter = { 100000, 100000 } } },
[15] = { common = { lt = "CommonRanks_13_15", iter = { 0 } }, rare = { lt = "RareT5Mono", iter = { 14,21,20,20,21,20,21,20,35,40,50 } }, epic = { lt = "RareT5", iter = { 100000, 100000 } } },
[1] = { common = { lt = "CommonRanks_1_3_v3", iter = { 0 } }, rare = { lt = "RareT1", iter = { 3,5,12,12,12,12,12,12,12,30,50 } }, epic = { lt = "RareT1", iter = { 100000, 100000 } } },
[2] = { common = { lt = "CommonRanks_1_3_v3", iter = { 0 } }, rare = { lt = "RareT1", iter = { 4,3,11,11,11,11,11,11,11,30,50 } }, epic = { lt = "RareT1", iter = { 100000, 100000 } } },
[3] = { common = { lt = "CommonRanks_1_3_v3", iter = { 0 } }, rare = { lt = "RareT1", iter = { 5,4,10,10,10,10,10,10,10,30,50 } }, epic = { lt = "RareT1", iter = { 100000, 100000 } } },
[4] = { common = { lt = "CommonRanks_4_6_v3", iter = { 0 } }, rare = { lt = "RareT2", iter = { 6,12,12,14,12,14,12,14,12,30,50 } }, epic = { lt = "RareT2", iter = { 100000, 100000 } } },
[5] = { common = { lt = "CommonRanks_4_6_v3", iter = { 0 } }, rare = { lt = "RareT2", iter = { 7,11,13,12,15,12,14,12,13,30,50 } }, epic = { lt = "RareT2", iter = { 100000, 100000 } } },
[6] = { common = { lt = "CommonRanks_4_6_v3", iter = { 0 } }, rare = { lt = "RareT2", iter = { 8,10,12,15,12,12,15,12,12,30,50 } }, epic = { lt = "RareT2", iter = { 100000, 100000 } } },
[7] = { common = { lt = "CommonRanks_7_8_v3", iter = { 0 } }, rare = { lt = "RareT3Mono", iter = { 9,14,14,15,14,14,14,15,25,40,50 } }, epic = { lt = "RareT3", iter = { 100000, 100000 } } },
[8] = { common = { lt = "CommonRanks_7_8_v3", iter = { 0 } }, rare = { lt = "RareT3Mono", iter = { 10,15,14,15,15,14,15,15,26,40,50 } }, epic = { lt = "NeodiumDrop", iter = { 5,7,10,12,18,24,36,36,36,36 } } },
[9] = { common = { lt = "CommonRanks_9_10_v3", iter = { 0 } }, rare = { lt = "RareT3Mono", iter = { 11,14,15,14,14,15,14,18,29,40,50 } }, epic = { lt = "RareT3", iter = { 100000, 100000 } } },
[10] = { common = { lt = "CommonRanks_9_10_v3", iter = { 0 } }, rare = { lt = "RareT4Mono", iter = { 12,18,16,18,16,18,16,18,20,40,50 } }, epic = { lt = "RareT4", iter = { 100000, 100000 } } },
[11] = { common = { lt = "CommonRanks_11_12_v3", iter = { 0 } }, rare = { lt = "RareT4Mono", iter = { 13,17,17,18,17,18,17,18,20,40,50 } }, epic = { lt = "LezortiumDrop", iter = { 7,8,11,13,15,28,35,37,37,37 } } },
[12] = { common = { lt = "CommonRanks_11_12_v3", iter = { 0 } }, rare = { lt = "RareT4Mono", iter = { 14,16,18,16,18,17,18,19,20,40,50 } }, epic = { lt = "RareT4", iter = { 100000, 100000 } } },
[13] = { common = { lt = "CommonRanks_13_15_v3", iter = { 0 } }, rare = { lt = "RareT5Mono", iter = { 12,19,20,21,20,20,21,20,30,40,50 } }, epic = { lt = "RareT5", iter = { 100000, 100000 } } },
[14] = { common = { lt = "CommonRanks_13_15_v3", iter = { 0 } }, rare = { lt = "RareT5Mono", iter = { 13,20,21,20,20,22,20,23,32,40,50 } }, epic = { lt = "RareT5", iter = { 100000, 100000 } } },
[15] = { common = { lt = "CommonRanks_13_15_v3", iter = { 0 } }, rare = { lt = "RareT5Mono", iter = { 14,21,20,20,21,20,21,20,35,40,50 } }, epic = { lt = "RareT5", iter = { 100000, 100000 } } },
}
)
@@ -1620,7 +1610,7 @@ function ConfigureGRD()
cvars.store_creditsEventEnd = creditsEventEnd
-- Дневной лимит token credits, которые игрок может заработать за день.
cvars.sv_tokenCreditsDailyLimit = 1000
cvars.sv_tokenCreditsDailyLimit = 5000
-- Максимальное значение leaveCounter. (тип: дробное число; диапазон: 0.0f..FLT_MAX)
-- SC-113769