Progression & Shop
Each character receives a saved Smash Down profile when they first use an arcade. The profile tracks Credits, level and XP, owned fighters and skins, player-card cosmetics, challenges, achievements, and season progress.
The Two Config Files
| File | Use it for |
|---|---|
configs/shared/progression.lua | Starters, catalog entries, rarity prices, Credit packs, titles, banners, level rewards, and season rewards. |
configs/server/progression.lua | Master switch, reward limits, shop rotation, challenge resets, and the season start date. |
The server decides purchases, ownership, and grants. Editing displayed client data does not grant an unlock.
Fighters, Skins, and Collection
The default catalog grants six starter fighters. Additional fighters and skins can be earned or bought with Credits, depending on their catalog entry. The collection shows ownership; players cannot select a locked fighter or skin for themselves, while CPUs can use content without a player ownership check.
Keep fighter IDs and skin indices aligned with the actual content. Skins use their defined indices, including index 0 for the base appearance; a catalog entry alone does not add a new model. Ranked reward skins have their own configured indices, so do not assume every fighter has the same maximum skin number.
Duplicate fighter or skin rewards convert to Credits at DuplicateRate of the configured price — 50% by default. Titles and banners do not pay duplicate compensation.
Earning Credits and XP
Match rewards require a result verified by the server's match simulation. Rewards can include match completion, wins, KOs, the first online win, and online win streak bonuses. Daily and weekly challenges, achievements, levels, and season rewards provide additional progression.
Default reward limits in the server config include:
| Setting | Default | Purpose |
|---|---|---|
CpuDailyCap | 15 | Daily cap on rewarded CPU matches. |
MinPlaySeconds | 30 | Minimum play time for match rewards. |
SameOpponentDailyCap | 10 | Limits repeated rewards against the same opponent. |
StreakBonus.PerWin | 0.10 | Adds 10% of the base win reward per eligible streak step. |
StreakBonus.Max | 0.50 | Caps the streak bonus at 50%. |
These limits are separate from the leaderboard's MinHumans setting. A completed match is not automatically a rewarded match; eligibility, duration, caps, and verification all matter.
Missing rewards after an update?
Run brawl_status in the server console. A missing or stale verifier prevents progression payouts. Deploy matching game UI and verifier bundles and restart the resource before changing reward amounts to compensate.
Shop Rotation
The shop supports featured offers, daily offers, spotlights, and bundles. Catalog prices and content come from the shared file; rotation counts, timing, themes, and discounts come from Shop in the server file. Review both together when changing the shop.
CreditPacks in the catalog define optional purchases of Credits using framework money. Changes to shop offers do not erase content players already own.
Season Pass
The pass has free and premium reward tracks. The default catalog defines 50 tiers and a premium-track purchase in in-game cash. Season.PremiumCash = false in the shared catalog disables that purchase.
Configure the season start date and duration under Season in the server progression config. Do this before launch and avoid changing a live season's clock casually: the current season is calculated from that date. Ranked uses a separate season configuration.
Daily and Weekly Resets
By default, challenge/reward resets use Reset.Hour = 6 with Reset.UtcOffset = 0, and weekly resets fall on Monday. These are server-configured times, not each player's local clock. Set the offset and reset hour together if you want a different schedule; a fixed offset does not automatically follow daylight saving changes.
Disabling Progression
Set Enabled = false in configs/server/progression.lua to make casual fighters and skins available without the unlock/reward/shop flow. Existing saved profiles are not a reason to delete database tables.
Ranked, tournaments, and social features rely on progression profiles, so plan this choice before opening those modes. Admission, wagers, and the separate arcade statistics settings still apply.
