home documents terms contact shop (coming soon!)

FAQ & Troubleshooting

Edit

Frequently asked questions and solutions for common issues.

Find answers to common questions and solutions for issues you may encounter.

Basic Information

What is CobbleRanked?

A competitive ranked battle system for Cobblemon servers with:

  • ELO-based matchmaking (Pokemon Showdown or Glicko-2)
  • Singles/Doubles/Triples battle formats
  • Season system with automatic rewards
  • Pokemon/move/ability/item blacklists
  • Label limits (e.g., max 1 legendary per team)
  • Cross-server support via Redis (optional)
  • Battle music and camera system
What are the requirements?
RequirementVersion
Minecraft1.21.1
Fabric Loader0.17.0+
Cobblemon1.7.1+
GashiLibs1.0.6+
MailLib1.0.5+
Fabric Language Kotlin1.13.0+
What database options are available?
DatabaseUse Case
SQLiteSingle server, simple setup (default)
MySQLCross-server, large player bases
MongoDBNoSQL alternative, sharded setups

Cross-server requires MySQL or MongoDB (not SQLite).

Configuration

How do I change the language?

Edit config/cobbleranked/config.yaml:

language: ja-jp  # en-us or ja-jp

Then run /rankedadmin reload.

What are the battle format defaults?
FormatTeam SizeLevel CapTurn TimerMatch Duration
Singles3v310090s15 minutes
Doubles4v450120s20 minutes
Triples6v650150s25 minutes

Note: Triples is disabled by default in the preset. Enable it in your season preset if needed.

All formats have 60s team selection and 30s lead selection timers.

Arena Setup

How do I set up an arena?

Use these commands in-game:

/rankedadmin setArena <name> pos1      # First player spawn
/rankedadmin setArena <name> pos2      # Second player spawn
/rankedadmin setArena <name> exit      # Exit teleport location
/rankedadmin setArena <name> spectator # Optional spectator position

Check arena status with /rankedadmin arena status.

"No arenas available" error

Solutions:

  1. Verify arena exists: /rankedadmin arena status
  2. Enable the arena: /rankedadmin arena enable <name>
  3. Ensure all positions are set (pos1, pos2, exit)
  4. Check world name matches exactly (case-sensitive)

Blacklist & Validation

How do I blacklist Pokemon forms?

Use hyphen (-) as the separator, not colon (:):

blacklist:
  pokemon:
    - "Mewtwo"           # Bans all Mewtwo forms
    - "Kyurem-Black"     # Only Black Kyurem
    - "Zygarde-Complete" # Only Complete form
    - "Necrozma-Ultra"   # Only Ultra Necrozma

v2.0.21+ Behavior:

  • Species-only entries (e.g., Landorus) ban ALL forms
  • Form-specific entries (e.g., Landorus-Therian) ban ONLY that form
How do I blacklist items?

Direct items or item tags:

blacklist:
  items:
    - "cobblemon:choice_band"     # Specific item
    - "minecraft:diamond"         # Vanilla item
    - "#cobblemon:mega_stones"    # Item tag (starts with #)
    - "#cobblemon:berries"        # All berries
"Team is invalid for this format" error

Common causes:

Validation ErrorMeaning
BLACKLISTED_SPECIESPokemon species is banned
BLACKLISTED_MOVEMove not allowed
BLACKLISTED_ABILITYAbility not allowed
BLACKLISTED_ITEMHeld item not allowed
LABEL_LIMIT_EXCEEDEDToo many legendaries/mythicals
DUPLICATE_SPECIESSpecies Clause violation
DUPLICATE_ITEMItem Clause violation

Solutions:

  1. Check blacklist in season preset
  2. Verify label limits (default: max 1 legendary)
  3. No duplicate Pokemon species (Species Clause)
  4. No duplicate held items (Item Clause)

Matchmaking

How does matchmaking work?
  1. Player joins queue with /ranked
  2. System searches within ELO range (default ±200)
  3. If no match found, range expands every 30s (+50 ELO)
  4. Last 3 recent opponents avoided (expires after 5 minutes)
  5. When matched, ready check begins (17s to accept)
  6. Team selection begins (60s)
  7. Lead selection (30s), then battle starts
Queue not finding matches

Solutions:

  1. ELO range expands over time - wait longer
  2. Recent opponent avoidance may delay matches
  3. With 4+ players in queue, avoidance relaxes after 2 minutes
  4. Check if ELO enforcement is too strict in config

ELO & Rankings

How does the ELO system work?

Pokemon Showdown System (Default):

  • Starting ELO: 1000
  • Floor ELO: 1000
  • New players get K-factor 50 for first 30 games
ELO RangeK-Factor
0-110040
1101-130032
1301-160024
1601-200016
2001+12

Higher K-factor = bigger rating changes per match.

Win Streak Bonus: Players on 3+ win streaks get +3 K-factor, 5+ wins get +5 K-factor.

What are the rank tiers?
TierELO Range
Poke Ball0-1299
Great Ball1300-1499
Ultra Ball1500-1699
Master Ball1700-1899
Beast Ball1900-2099
Cherish Ball2100+
ELO didn't change after battle

Possible causes:

  1. Daily ELO gain limit reached (default: 200)
  2. Battle didn’t complete (timeout/disconnect)
  3. Casual battle (no ELO change)
  4. Very small change due to large ELO difference

Seasons & Rewards

What happens when a season ends?
  1. Final rankings calculated
  2. Rewards distributed via MailLib
  3. Leaderboard archived (top 100 by default)
  4. ELO reset (hard or soft reset, configurable)
  5. New season begins automatically
Season didn't end automatically

Solutions:

  1. Check season schedule timezone (IANA format)
  2. Verify end date/time in season.yaml
  3. Manual rotation: /rankedadmin season rotate
  4. Check server logs for errors
How do I claim rewards?
/mailbox

Rewards are sent via MailLib when the season ends.

Cross-Server Issues

Redis not connecting

Solutions:

  1. Verify Redis is running: redis-cli ping
  2. Check host, port, password in config.yaml
  3. Verify firewall allows port 6379
  4. Test with password: redis-cli -h host -p port -a password ping
Players not matching across servers

Checklist:

  1. All servers use same database (MySQL/MongoDB)
  2. crossServer.enabled: true on all servers
  3. Redis connected on all servers
  4. Each server has unique serverId
  5. One server has empty battleServer (handles battles)
Players not teleported back after battle

This issue was fixed in v2.0.21. Players are now correctly teleported back to their original position after ranked battles (single-server mode).

If still experiencing issues:

  1. Verify exitPosition is set in your arena config
  2. Run /rankedadmin arena status to check arena configuration
  3. Ensure no other plugins are interfering with teleportation
  4. Check server logs for teleport-related errors

Getting Help

If your issue isn’t listed above:

  1. Collect logs/latest.log
  2. Export relevant config files
  3. Note exact steps to reproduce
  4. Ask in Discord #feedback