K4 - Seasons (BattlePass)

K4-Seasons

A comprehensive battle pass and season system for Counter-Strike 2 using SwiftlyS2 framework.

Features

Season System

  • Time-limited seasons with configurable duration

  • Automatic season transitions and rollover

  • Season-specific level rewards

  • Season history tracking

XP & Leveling

  • Multiple XP sources: Kills, Assists, MVPs, Bomb events, Hostage rescues, Round/Game wins

  • Farm protection with minimum player count

  • Warmup toggle for XP earning

  • Dynamic level scaling (flat or progressive)

  • Level caps: Free (20) vs Battle Pass (100)

Battle Pass

  • 100 level cap vs 20 for free players

  • 1.5x XP multiplier

  • 5 daily missions (3 base + 2 BP bonus)

  • 3 daily rerolls (1 base + 2 BP bonus)

  • Exclusive level rewards

  • Retroactive rewards on purchase

  • Admin command to grant BP

  • Auto detect BP change in database and auto apply in 5 sec

Mission System

  • Daily Personal Missions - 3-5 missions from configurable pool, daily reset at midnight

  • Weekly Community Missions - Server-wide collaborative goals, weekly reset

  • Mission Rerolls - 1-3 per day based on VIP/BP status

  • Custom Objectives - Any CS2 game event with property filters (weapon, headshot, noscope, etc.)

  • Anti-Frustration - Automatic detection, partial XP on abandonment

Progression Features

  • Prestige System - 5 prestige levels with permanent 1.2x multiplier per level

  • Streak System - Daily mission completion bonuses (3d: 1.1x, 5d: 1.25x, 7d: 1.5x)

  • VIP Support - 1.25x multiplier and extra reroll for permission-based VIPs

  • Catch-Up Mechanic - Late joiners get scaling XP boost (BP only)

Multipliers

7 independent multiplier sources that stack multiplicatively:

  • Battle Pass (1.5x)

  • Prestige (1.2x per level)

  • Streak (1.1x - 1.5x)

  • Weekly Bonus (weekend 1.2x)

  • Prime Time (1.1x during configured hours)

  • Catch-Up (1.2x per week)

  • Toplist (1.01x - 1.10x for top 10)

Maximum stack: ~9.5x XP

Level Rewards

  • Execute server commands at specific levels

  • Grant permissions and add to groups

  • Battle Pass exclusive rewards

  • Per-season reward configuration

Additional Features

  • Toplist with cached leaderboard

  • Weekly day-of-week multipliers

  • Prime time hour-based bonuses

  • Auto-purge inactive players

  • Hot reload configuration

  • Round-end auto-save

Commands

Player:

  • !seasons / !season - Season menu

  • !prestige - Prestige up

  • !reroll <number> - Reroll mission

  • !abandon <number> - Abandon mission

Admin:

  • !givebp <name|steamid> - Grant Battle Pass (requires k4-seasons.admin)

Database Support

  • MySQL / MariaDB (recommended)

  • PostgreSQL

  • SQLite

Automatic schema creation with FluentMigrator.

Author

K4ryuu

Installation

  1. Install SwiftlyS2 on your server

  2. Configure database in SwiftlyS2’s database.jsonc

  3. Download latest release

  4. Extract to swiftlys2/plugins/ directory

  5. Configure config.json, missions.json, season_1.json

  6. Restart server

Links