Issue: Some nested objects go 6 levels deep (e.g., rewards.tournament.winStreak.bonusMultiplier). Consider flattening to reduce parsing overhead.
The game validates GameConfiguration.json on load. Common errors:
| Error | Cause | Fix |
| :--- | :--- | :--- |
| OverCount exceeds max | OverCount > 50 | Cap at 50 |
| Invalid PowerPlay | PowerPlayOvers > OverCount | Set ≤ OverCount |
| Negative drag | AirDrag > 1.0 | Use 0.98–0.999 |
If validation fails, the game falls back to a hardcoded default configuration and logs the error to cricket_league.log.
Crucial note: In Cricket League multiplayer, the server usually overrides the client's GameConfiguration.json. You cannot cheat in ranked matches by setting your timing window to 1 second. However, for offline career mode, local co-op, and single-player tournaments, the game reads your local JSON file every time you boot up.
A standard GameConfiguration.json for Cricket League is roughly 15–20 KB in size. Below is a breakdown of the top-level nodes. (Note: Variables are illustrative of a real-world configuration.)
{
"GameVersion": "4.2.1",
"PhysicsProfile": "Realistic_International",
"DifficultyScaling": {},
"BattingParameters": {},
"BowlingParameters": {},
"FieldingSettings": {},
"MatchRules": {},
"EconomyTables": {},
"AudioTriggers": {}
}
Controls CPU decision-making across 5 levels (Amateur to Legend).
"AI_Difficulty":
"Level": "Pro",
"ShotSelectionDelayMs": 250,
"RiskFactor": 0.4,
"BowlerAggression": 0.7,
"RunningErrorRate": 0.05