Skip to content

Battle Pass ​

The battle pass is a seasonal reward track. Players earn XP from contests and claim rewards from the Battle Pass page of the tablet. Clans have their own XP track that unlocks extra member slots.

Season settings ​

lua
Config.BattlePass = {
    Enabled = true,
    SeasonId = 'contest_season_2',
    SeasonName = 'Contest Season 2',
    EndsAt = 0,
    ImageBase = 'auto',
    MinParticipationSeconds = 120,
    PositionSampleSeconds = 2,
    RequestCacheSeconds = 2,
    ClaimCooldownSeconds = 2,
    RequestTimeoutSeconds = 15,
    ClaimTimeoutSeconds = 30,
    -- XP, ClanSlots, Tiers ...
}
OptionDescription
EnabledTurns the battle pass on or off.
SeasonIdUnique season key stored with all progress and claims.
SeasonNameName shown in the UI.
EndsAtUnix timestamp when the season ends. 0 means no end date.
ImageBaseWhere reward images come from. 'auto' uses your inventory's image folder.
MinParticipationSecondsTime a player must spend in the zone to count as a participant.
PositionSampleSecondsHow often the server checks player positions for participation.
RequestCacheSecondsCaches battle pass data requests.
ClaimCooldownSecondsCooldown between reward claims.
RequestTimeoutSeconds / ClaimTimeoutSecondsUI timeouts for requests and claims.

Starting a new season ​

  1. Change SeasonId to a new value, for example 'contest_season_3'.
  2. Update SeasonName, and optionally EndsAt.
  3. Restart the resource.

Progress is stored per SeasonId, so everyone starts the new season at 0 XP. Old season data stays in the database.

TIP

Get a Unix timestamp for EndsAt from unixtimestamp.com. For example, 1798761600 is 1 January 2027, 00:00 UTC.

Earning XP ​

lua
XP = {
    ContestParticipation = 100, -- for taking part in a contest
    ContestWinBonus = 250,      -- extra for the winning clan
    ContestKill = 5,            -- per kill
},

Developers can also grant XP with the AddBattlePassXP and AddClanBattlePassXP exports.

Clan slots ​

A clan starts with Base member slots and unlocks more as its clan battle pass level rises, up to Maximum.

lua
ClanSlots = {
    Base = 6,
    Maximum = 15,
    Unlocks = {
        { level = 1,  slots = 7 },
        { level = 4,  slots = 8 },
        { level = 7,  slots = 9 },
        { level = 10, slots = 10 },
        { level = 13, slots = 11 },
        { level = 16, slots = 12 },
        { level = 19, slots = 13 },
        { level = 22, slots = 14 },
        { level = 25, slots = 15 },
    },
},

Config.MaxClanMembers is still the hard cap.

Reward tiers ​

Each tier needs a total XP amount and gives one reward.

lua
Tiers = {
    {
        id = 1,
        requiredXP = 1000,
        reward = { type = 'money', account = 'cash', amount = 5000, label = 'Cash', image = 'money.png' },
    },
    {
        id = 2,
        requiredXP = 2000,
        reward = { type = 'item', item = 'pistol_ammo', amount = 40, label = 'Pistol Ammo', image = 'pistol_ammo.png' },
    },
    -- ...
},
FieldDescription
idUnique tier number. Do not reuse IDs within a season.
requiredXPTotal XP needed to unlock the tier.
reward.type'money' or 'item'.
reward.accountFor money: cash or bank.
reward.itemFor items: the item name in your inventory.
reward.amountAmount of money or items.
reward.labelName shown in the UI.
reward.imageImage file name in your inventory's image folder.

Default rewards ​

TierXPReward
11,000$5,000 cash
22,00040× Pistol Ammo
33,0001× Armor
44,0002× Thermite
55,000SNS Pistol
66,000$10,000 cash
77,00080× Pistol Ammo
88,0002× Armor
99,000Security Card A
1010,000Pistol P220
1111,000$20,000 cash
1212,000120× Pistol Ammo
1313,0002× Thermite
1414,0003× Armor
1515,000Pistol Mk II
1616,000$30,000 cash
1717,000180× Pistol Ammo
1818,0002× Security Card A
1919,0003× Thermite
2020,000Heavy Pistol
2121,000$50,000 cash
2222,000250× Pistol Ammo
2323,0005× Armor
2424,000Pistol .50
2525,000$75,000 cash

WARNING

Every item in the rewards (for example weapon_p220 or security_card_01) must exist in your inventory, or the claim will fail.

All MG Development resources are protected. Redistribution is not permitted.