home documents terms contact shop (coming soon!)

Main Configuration

Edit

Basic server settings, database, and cross-server configuration.

Core server configuration for CobbleRanked. Advanced settings are organized in separate pages.

Configuration Files

CobbleRanked v2.0.29+ uses multiple YAML files in config/cobbleranked/:

FilePurpose
config.yamlCore settings: language, database, cross-server, debug
elo.yamlRating system and rank tiers → ELO Settings
battle.yamlTimers, penalties, rewards → Battle Settings
matchmaking.yamlRecent opponent avoidance → Matchmaking Settings
season.yamlSeason schedule and reset behavior → Season Settings
sounds.yamlAll sound effects → Sounds
arenas.yamlBattle arena positions → Arenas
blacklist.yamlPokemon/move restrictions → Blacklist
restrictions.yamlPlayer action restrictions → Restrictions
rewards.yamlSeason rewards → Rewards
missions.yamlDaily/weekly missions → Missions
luckperms.yamlLuckPerms integration → LuckPerms
camera/camera.yamlBattle camera system → Camera
api.yamlWeb API settings → API
season_presets/*.ymlFormat rules per season → Battle Formats

Season Presets (v2.0.13+)

Format-specific settings (team size, level cap, matchmaking rules, blacklists) are configured in season presets instead of the main config files. This keeps all format settings in one place.

# season_presets/default.yml
singles:
  enabled: true
  teamSize: 3
  selectCount: 3
  levelCap: 100
  # ... all format settings here

Language Settings

# config.yaml
language: "en-us"
ValueLanguage
en-usEnglish (default)
ja-jpJapanese

💡 You can add ANY language! Create a custom language file in config/cobbleranked/language/ (e.g., ko-KR.json5, zh-CN.json5) and set the language code to match. See Languages Configuration for details.

Reload with /rankedadmin reload after changing.


Database Settings

Configure data storage in config.yaml.

TypeUse Case
sqliteSingle server (default, zero config)
mysqlCross-server setups
mongodbCross-server with MongoDB

SQLite (Default)

# config.yaml
database:
  type: "sqlite"
  sqlite:
    path: "config/cobbleranked/data.db"

MySQL

# config.yaml
database:
  type: "mysql"
  mysql:
    host: "localhost"
    port: 3306
    database: "cobbleranked"
    username: "root"
    password: ""
    pool:
      maxSize: 10
      minIdle: 2

MongoDB

# config.yaml
database:
  type: "mongodb"
  mongodb:
    connectionString: "mongodb://localhost:27017"
    database: "cobbleranked"

📝 See Database Configuration for detailed setup and migration guides.


Cross-Server Settings

For multi-server setups with shared rankings:

# config.yaml
crossServer:
  enabled: false
  serverId: "server1"
  battleServer: ""

  # Allow players on battle server to join queue directly (NOT RECOMMENDED)
  # Default: false - battle servers should only handle matched battles
  allowQueueOnBattleServer: false

  redis:
    host: "localhost"
    port: 6379
    password: ""
    database: 0
    useSsl: false

  timing:
    matchFoundDelaySeconds: 5
    battleStartDelaySeconds: 10
    playerArrivalTimeoutSeconds: 30

Battle Server Queue Behavior

SettingDefaultDescription
allowQueueOnBattleServerfalseAllow players on battle server to join queue

When disabled (default), players on the battle server cannot join the queue. This is recommended because the battle server is dedicated to handling matched battles from lobby servers.

⚠️ Warning: Enabling allowQueueOnBattleServer can cause unexpected behavior. Only enable if you understand the implications.

See Cross-Server Setup for detailed guide.


Debug Settings

Enable for troubleshooting:

# config.yaml
debug:
  enabled: false
  logBattleEvents: false
  logMatchmaking: false
  logGuiInteractions: false
  logMusicEvents: false
SettingDescription
enabledMaster switch for debug mode
logBattleEventsLog battle start, end, victor
logMatchmakingLog queue joins, matches found
logGuiInteractionsLog button clicks, GUI opens
logMusicEventsLog battle music triggers

⚠️ Debug mode generates verbose logs. Disable in production.


Advanced Configuration Pages

SettingDocumentation
ELO Rating SystemELO Configuration
Matchmaking RulesMatchmaking Configuration
Battle Timers & PenaltiesBattle Configuration
Season ScheduleSeason Configuration
Match AnnouncementsAnnouncements Configuration
Daily Elo LimitsDaily Limits Configuration
Pokemon/Move RestrictionsBlacklist Configuration
Player Action RestrictionsRestrictions Configuration
Season End RewardsRewards Configuration
Daily/Weekly MissionsMissions Configuration
Battle ArenasArena Configuration
GUI CustomizationGUI Configuration
Language FilesLanguages Configuration
Sound EffectsSounds Configuration
Battle CameraCamera Configuration
Web APIAPI Configuration
LuckPerms IntegrationLuckPerms

See Also

  • Getting Started - Installation and quick start
  • FAQ - Common questions and troubleshooting