Installation Guide
Complete guide to install CobbleRanked on your Minecraft server.
Required Mods
Place all of these in your mods/ folder:
| Mod | Version | Download |
|---|---|---|
| Fabric Loader | 0.17.2+ | fabricmc.net |
| Fabric API | Latest | Modrinth |
| Fabric Language Kotlin | 1.13.0+ | Modrinth |
| Cobblemon | 1.7.1+ | Modrinth |
| GashiLibs | 1.0.7+ | GashiStudios Discord |
| MailLib | 1.0.5+ | GashiStudios Discord |
| CobbleRanked | Latest | GashiStudios Discord |
Target: Minecraft 1.21.1 (Fabric server)
Optional Mods
These mods are NOT required but add extra features:
| Mod | Version | Purpose | When to Install |
|---|---|---|---|
| LuckPerms | Latest | Permissions | Only if you want granular permission control |
| Text Placeholder API | Latest | Placeholders | For using placeholders in reward commands and other mods |
Minimal Setup Example
For a basic server, you need:
mods/
├── fabric-api-x.x.x+1.21.1.jar
├── fabric-language-kotlin-x.x.x+kotlin.x.x.x.jar
├── Cobblemon-fabric-x.x.x+1.21.1.jar
├── gashilibs-1.0.7.jar
├── maillib-1.0.5.jar
└── CobbleRanked-x.x.x.jar
Installation Steps
1. Place Mods
Copy all JARs to server/mods/ folder
2. Start Server
On first launch, config files auto-generate:
server/
├── config/
│ └── cobbleranked/
│ ├── config.yaml ← Main config (language, database, cross-server)
│ ├── elo.yaml ← ELO/rating settings
│ ├── battle.yaml ← Battle formats, timers, sounds
│ ├── matchmaking.yaml ← Queue matching rules
│ ├── season.yaml ← Season schedule and reset
│ ├── arenas.yaml ← Battle coordinates
│ ├── blacklist.yaml ← Pokemon/move restrictions
│ ├── restrictions.yaml ← Queue/arena restrictions
│ ├── rewards.yaml ← Season rewards
│ ├── missions.yaml ← Daily/weekly missions
│ ├── api.yaml ← Web API settings
│ ├── sounds.yaml ← Sound effect settings
│ ├── season_presets/ ← Season rule presets
│ ├── integrations/ ← Integration configs
│ │ └── luckperms.yaml ← LuckPerms settings
│ ├── data.db ← SQLite database
│ ├── gui/ ← GUI layouts
│ └── language/ ← Language files
3. Verify Installation
Console output:
[CobbleRanked] Mod initialized successfully
[CobbleRanked] Configuration loaded
[CobbleRanked] Database initialized (SQLite)
[CobbleRanked] Season manager initialized
In-game test:
/ranked
If GUI opens → Installation successful!
Initial Setup (Optional)
Language Configuration
Default: English (en-us)
Edit config/cobbleranked/config.yaml:
# config.yaml
language: "ja-jp" # en-us, ja-jp, fr-fr, pt-br, ru-ru
Supported languages:
en-us- Englishja-jp- Japanesefr-fr- Frenchpt-br- Portuguese (Brazil)ru-ru- Russian
Reload: /rankedadmin reload
Arena Setup (Recommended)
Teleport players to battle coordinates when battles start.
Step 1: Stand at the position where you want Player 1 to teleport
Step 2: Run command:
/rankedadmin setArena main_arena pos1
Step 3: Move to Player 2’s position and run:
/rankedadmin setArena main_arena pos2
Saved: Position (x, y, z), facing (yaw, pitch), dimension
Details: Arena Configuration
Basic Rules (Recommended)
Ban legendaries and OHKO moves.
See Blacklist Configuration for full setup.
Cross-Server Setup (Advanced)
Required for: Multi-server networks sharing rankings
Requirements:
- MySQL 8.0+
- Redis 6.0+
- Velocity 3.4.0+
Full Guide: Cross-Server Setup
File Structure Reference
config/cobbleranked/
├── config.yaml # Main settings (language, database, cross-server)
├── elo.yaml # ELO/rating system settings
├── battle.yaml # Battle formats, timers, sounds
├── matchmaking.yaml # Queue matching rules
├── season.yaml # Season schedule and reset behavior
├── arenas.yaml # Battle coordinates
├── blacklist.yaml # Pokemon/move restrictions (per format)
├── restrictions.yaml # Queue/arena restriction levels
├── rewards.yaml # Season-end rewards
├── missions.yaml # Daily/weekly missions
├── api.yaml # Web API settings
├── sounds.yaml # Sound effect settings
├── integrations/ # Integration configs
│ └── luckperms.yaml # LuckPerms integration
├── season_presets/ # Season rule presets
│ ├── default.yml
│ ├── smogon.yml
│ ├── vgc.yml
│ └── ...
├── data.db # SQLite database (auto-created)
├── gui/
│ ├── ranked_gui.json5 # Ranked menu layout
│ ├── casual_gui.json5 # Casual menu layout
│ └── ...
└── language/
├── en-Us.json5 # English messages
├── ja-Jp.json5 # Japanese messages
├── fr-Fr.json5 # French messages
├── pt-Br.json5 # Portuguese (Brazil) messages
└── ru-Ru.json5 # Russian messages
Next Steps
For Casual Servers
- Set arenas - Battle locations
- Configure rewards - Season prizes
- Customize GUI - Interface tweaks
For Competitive Servers
- Configure blacklist - Smogon/VGC rules
- Adjust ELO system - Fine-tune ratings
- Set battle settings - Turn timers, team selection
For Cross-Server Networks
- Complete cross-server setup - Full guide
- Configure database - MySQL setup
See Also
- Getting Started - Requirements & setup
- Quick Start - First battle setup
- FAQ - Common questions