XPX reads its live settings from XPXLevels.json.
This document explains the main config sections and what they do.
The live file to edit on the server is:
game\csgo\addons\counterstrikesharp\configs\plugins\XPXLevels\XPXLevels.json
If you only want the common edits, start here:
Rewardsto change tags and milestone reward entriesBaseXpToLevel,XpLinearGrowthPerLevel,XpQuadraticGrowthPerLevelto rebalance progressionCasualCompetitiveKillXp,FastModeKillXp,KnifeKillBonusXp,HeadshotBonusXpto tune combat XPWelcomeMessagesto change the join text and onboarding hints
Core progression keys:
ChatPrefixServerNameMaxLevelBaseXpToLevelXpLinearGrowthPerLevelXpQuadraticGrowthPerLevel
These define:
- the server branding used in chat
- the level cap
- the shape of the XP curve
XP reward keys:
CasualCompetitiveKillXpFastModeKillXpKnifeKillBonusXpHeadshotBonusXpRoundWinXpBombPlantXpBombDefuseXpAssistXpMvpXpClutchXpFirstBloodXpChickenKillXpBotXpMultiplier
Credit reward keys:
CasualCompetitiveKillCreditsFastModeKillCreditsRoundWinCreditsAssistCreditsMvpCreditsFirstBloodCreditsClutchCredits
Other reward behavior:
ShowKillXpMessages
GambleWinChancePercentGambleMinXpGambleMaxXpGambleCooldownSeconds
RtvRequiredRatioRtvVoteDurationSecondsRtvReminderSecondsRtvMapOptionCountMapChangeDelaySeconds
WelcomeMessages supports token expansion:
{NAME}{SERVER}{LEVEL}{TOTAL_XP}{NEXT_LEVEL}{XP_NEEDED}{NEXT_REWARD}
Rewards is the level reward ladder.
Each reward entry can include:
LevelTagKnifeItem
Example:
{
"Level": 100,
"Tag": "[NEBULA]",
"KnifeItem": "weapon_knife_flip"
}DailyMissions and WeeklyMissions use:
KeyTitleDescriptionScopeObjectiveGoalRewardXpRewardCredits
Common objectives:
KillsHeadshotsWinsKnifeKillsAssistsMvpsBombPlantsBombDefusesBombObjectivesFirstBloodsClutchWinsPlayMinutesCratesOpened
Each achievement supports:
KeyTitleDescriptionBadgeObjectiveGoalRewardCredits
Achievements are permanent and tracked by SteamID.
ShopItems currently support these reward types:
XpCreditsCrateTokenXpBoost
Each item includes:
KeyNameDescriptionRewardTypeRewardAmountCostCredits
Crates define the crate catalog. Each crate contains weighted Rewards.
Crate reward fields:
LabelRarityRewardTypeRewardAmountDurationMinutesWeight
Supported rarities:
CommonRareEpicLegendary
Supported reward types:
XpCreditsCrateTokenXpBoost
Example reward:
{
"Label": "20% XP Boost",
"Rarity": "Epic",
"RewardType": "XpBoost",
"RewardAmount": 20,
"DurationMinutes": 10,
"Weight": 4
}Normal maps go in:
MapPool
Workshop maps go in:
WorkshopMaps
Workshop entries use:
IdLabel
Example:
{
"Id": "3354923062",
"Label": "Manor"
}AdminXpAmountsGameModes
AdminXpAmounts controls the quick-select amounts shown in the admin XP / Credits flow.
GameModes defines the available game mode aliases in the admin mode switcher.
Recommended workflow:
- edit
XPXLevelsConfig.csif you want to change source defaults - edit the live
XPXLevels.jsonfor server-specific settings - redeploy the plugin
- re-test the affected commands or menus
When in doubt, keep live tuning inside JSON and reserve C# changes for behavior changes.