KothWars
Complete Wiki

Everything you need to know about configuring, managing, and mastering your KOTH plugin. From basic setup to advanced customization.

100
Active Servers
1.16-1.21
MC Versions
24/7
Support
KOTH Events Live
CONNECTING
[00:00:00] Conectando al servidor de eventos KOTH...

How to Start

Beginner

Create your first KOTH!

Run the following command in the chat:

/Koth
Important: For now, we're only interested in creating the KOTH, which would be "the End Star"
1

Click on "End Star"

Once you click on it, it will ask you for a name; in this example, we'll use "test."

2

Define the KOTH Area

It will give you a stick—hit your favorite KOTH area:

  • Pos1: Left click
  • Pos2: Right click
3

Confirm or Cancel

Then click CONFIRM or CANCEL to complete the setup.

Manage your KOTHs

Essential

Once your KOTH is created, it's time for the item "View existing KOTHs." Click it, and you'll see all the KOTHs created by you or by trusted people to whom you've given the kothwars.admin permission.

▶️

Start KOTH

Click the green button (green wool) to automatically start the KOTH at the selected Pos1 and Pos2.

⏱️

Capture Time

Set the capture time in seconds. Use default values or set your own custom time!

🌍

Time Zone

Set your time zone, and the best part is that it can be different for each of your KOTHs!

📊

Progress Bar

Use any type of progress bar: boss bar, action bar, etc.

Glow Effect

Give a glow effect to players capturing the KOTH to make them stand out and be easily noticeable.

🎁

Rewards

Configure rewards for winners with full customization options.

Explanation of Rewards

Advanced

Adding a reward is easier than it seems; just move the item by Shift + Left Click and that's it.

The plugin takes care of saving: lores, enchantments, everything!

Once added, check this path: plugins\KothWars\Reward\(name).yml

Honestly, this is one of the most customizable aspects of the add-on, so pay attention to this.

Real Reward Structure from KothWars

YAML Reward.yml

reward:
  id: test
  give_item: true
  items:
  - type: POLISHED_DEEPSLATE_STAIRS
    amount: 1
  - type: PINK_WOOL
    amount: 1
  commands:
  - give %player% diamond_sword 1
  - give %player% netherite_ingot 2
  - eco give %player% 5000
  - lp user %player% parent set admin
  sounds:
  - 'ENTITY_PLAYER_LEVELUP'
  - 'UI_TOAST_CHALLENGE_COMPLETE'
  message:
  - '&6&l✦ KOTH CAPTURED ✦'
  title:
    main: '&6&l⚔ VICTORY ⚔'
    subtitle: '&eYou captured &6%koth_name%'
    fade-in: 20
    stay: 80
    fade-out: 20
  actions:
    broadcast:
      enabled: true
      message:
      - '&6&l✦ KOTH CAPTURED ✦'
    random-command:
      enabled: false
      list: []
    chance-reward:
      enabled: false
      chance: 10.0
      command: ''

Configuration Options

give_item Boolean

Function: Determines if physical items should be given to players

Values:

  • true → Player receives items in inventory
  • false → Only executes commands and effects
give_item: false # Useful for virtual rewards
items List

Function: List of items to give as rewards

Features: Automatically saves enchantments, lore, display names, and item flags

items: type: DIAMOND_SWORD meta: display-name: "§6Legendary Sword" enchants: sharpness: 3
commands List

Function: Commands executed when player wins

Placeholders:

  • %player% → Winner's name
  • %koth_name% → KOTH name
commands: - "eco give %player% 1000" - "give %player% diamond 5" - "bc &6%player% won the KOTH!"
title Object

Function: Title displayed to winner

Properties: main, subtitle, fade-in, stay, fade-out

title: main: "&6&lVICTORY!" subtitle: "&7You captured %koth_name%" fade-in: 10 stay: 60 fade-out: 10

Advanced Actions System

broadcast Object

Function: Broadcast messages to entire server

Features: Customizable messages with placeholders

broadcast: enabled: true message: - "&6&lKOTH ALERT!" - "&e%player% &7has captured &6%koth_name%&7!"
chance-reward Object

Function: Random chance-based rewards

Usage: Perfect for rare or special rewards

chance-reward: enabled: true chance: 5.0 # 5% chance command: "give %player% netherite_ingot 1"

Complete Real-World Example

YAML Complete Reward Configuration
reward:
reward:
  id: "castle"
  give_item: true
  items:
    - type: NETHERITE_SWORD
      amount: 1
      meta:
        meta-type: UNSPECIFIC
        enchants:
          sharpness: 5
          fire_aspect: 2
          unbreaking: 3
    - type: DIAMOND
      amount: 16
    - type: POLISHED_DEEPSLATE_STAIRS
      amount: 1
    - type: PINK_WOOL
      amount: 1
  commands:
    - "eco give %player% 5000"
    - "lp user %player% permission set kothwars.vip true"
    - "give %player% diamond_sword 1"
    - "give %player% netherite_ingot 2"
    - "lp user %player% parent set admin"
  sounds:
    - "ENTITY_ENDER_DRAGON_DEATH"
    - "ENTITY_PLAYER_LEVELUP"
    - "UI_TOAST_CHALLENGE_COMPLETE"
  message:
    - "&6&l✦ KOTH CAPTURED ✦"
    - "&6&lCONGRATULATIONS!"
    - "&7You have successfully captured &6Castle&7!"
    - "&7Check your inventory for rewards!"
  title:
    main: "§6§l⚔ CASTLE CAPTURED! ⚔"
    subtitle: "§e%player% is the new ruler of &6%koth_name%!"
    fade-in: 20
    stay: 80
    fade-out: 20
  actions:
    broadcast:
      enabled: true
      message:
        - "&6&lKING OF THE HILL!"
        - "&e%player% &7has conquered &6Castle&7!"
        - "&7They are now the ruler of the hill!"
    random-command:
      enabled: true
      list:
        - "give %player% firework_rocket 16"
        - "effect give %player% strength 30 1"
    chance-reward:
      enabled: true
      chance: 15.0
      command: "give %player% netherite_ingot 2"
PRO TIP: The reward system automatically handles item serialization - you don't need to manually configure item properties in the YAML file. Just add items via the GUI and the plugin saves everything!

Config.yml

Configuration
IMPORTANT: After modifying this file, use /koth reload to apply changes or restart your server for changes to take effect.

Database Configuration

Database type determines where your KOTH data is stored

YAML config.yml - Database
database:
  type: sqlite
  
  mysql:
    host: localhost
    port: 3306
    database: kothwars
    username: root
    password: ''
    ssl: false

General Plugin Settings

YAML config.yml - Settings
settings:
  default-capture-time: 120
  
  update-interval: 20
  
  broadcast-messages: true
  
  actionbar-progress: true

Rewards System Settings

YAML config.yml - Rewards
rewards:
  enabled: true
  
  broadcast-rewards: true

Permission Nodes

kothwars.admin

Full administrative access to all KOTH management commands

  • Create, delete, and configure KOTHs
  • Start and stop KOTHs manually
  • Reload plugin configuration
  • Use all administrative features
kothwars.user

Basic KOTH information commands access

  • View list of all KOTHs
  • Check specific KOTH information
  • See KOTH status and progress

Time Schedules

Configuration

Automatic KOTH Scheduling

Configure your KOTHs to start automatically at specific times using the schedule system.

Note: Schedules are configured per KOTH in the management interface.

Schedule Format

YAML Schedule Configuration
schedule:
  enabled: true
  times:
    - "14:30"
    - "18:00"
    - "21:45"
  days:
    - "MONDAY"
    - "WEDNESDAY"
    - "FRIDAY"
    - "SUNDAY"

Available Days

Monday
MONDAY
Tuesday
TUESDAY
Wednesday
WEDNESDAY
Thursday
THURSDAY
Friday
FRIDAY
Saturday
SATURDAY
Sunday
SUNDAY
All Days
ALL

Time Format

Times use 24-hour format (HH:MM). Example: "14:30" for 2:30 PM
enabled Boolean

Function: Enable or disable automatic scheduling

Values:

  • true → KOTH will start automatically
  • false → Manual start required
times List

Function: List of start times for the KOTH

Format: "HH:MM" in 24-hour format

times:
- "14:30"
- "18:00"
- "21:45"

PlaceholderAPI

Integration

You can use these placeholders in the tab, bookmark, chat, hologram...

Requirement: PlaceholderAPI must be installed on your server.

General Placeholders

%kothwars_active_koths%

Returns the number of active KOTHs on the server

Example output: 3
%kothwars_total_koths%

Returns the total number of KOTHs configured on the server

Example output: 12

Player-Specific Placeholders

These placeholders require a player context to work properly.
%kothwars_player_in_koth%

Returns the name of the KOTH the player is currently in

In KOTH: Castle
Not in KOTH: None
%kothwars_player_capturing%

Indicates if the player is capturing any KOTH

Capturing: true
Not capturing: false

KOTH-Specific Placeholders

Replace [KOTH_NAME] with your actual KOTH name. Example: %kothwars_castle_capturer%
Placeholder Description Example
%kothwars_[name]_capturer% Name of player capturing this KOTH %kothwars_castle_capturer%
%kothwars_[name]_remaining% Remaining time in seconds %kothwars_castle_remaining%
%kothwars_[name]_progress% Capture progress percentage %kothwars_castle_progress%
%kothwars_[name]_day_schedule_[lang]% Schedule for specific KOTH in specified language %kothwars_castle_day_schedule_en%

Top Player Placeholders

NEW: Global ranking system! Tops now combine captures from ALL KOTHs on your server.
Format: %kothwars_top_[POSITION]_[TYPE]%
Replace [POSITION] (1-10) and [TYPE] (name/captures/clan)
Placeholder Description Example Output Example
%kothwars_top_[pos]_name% Player name at specified global position %kothwars_top_1_name% Player123
%kothwars_top_[pos]_player% Alternative for player name %kothwars_top_2_player% Steve
%kothwars_top_[pos]_captures% Total captures at global position %kothwars_top_1_captures% 42
%kothwars_top_[pos]_count% Alternative for capture count %kothwars_top_3_count% 28
%kothwars_top_[pos]_clan% Clan tag of player at global position %kothwars_top_1_clan% LEGENDS

Player Global Statistics

These placeholders require a player context and show combined statistics from ALL KOTHs.
%kothwars_player_captures_global%

Returns the total number of times the current player has captured ANY KOTH

Example: %kothwars_player_captures_global%
Output: 15
Usage Example

Perfect for showing total player dominance across all KOTHs

# Tablist example player-list: - "&6%player% &7| &fTotal Captures: %kothwars_player_captures_global%"

Complete Usage Examples

YAML Scoreboard - Global Top Players
# Global Top 3 Players (All KOTHs Combined)
scoreboard:
  lines:
    - "&6🏆 Global KOTH Leaders"
    - "1. %kothwars_top_1_name%"
    - "   Captures: %kothwars_top_1_captures%"
    - "2. %kothwars_top_2_name%"
    - "   Captures: %kothwars_top_2_captures%"
    - "3. %kothwars_top_3_name%"
    - "   Captures: %kothwars_top_3_captures%"
YAML Hologram - Clan Leaderboard
# Global Clan-based Leaderboard
hologram:
  lines:
    - "&c⚔️ &6Global KOTH Leaders &c⚔️"
    - "&7Top Clan Players:"
    - "%kothwars_top_1_clan% - %kothwars_top_1_name%"
    - "&7Total Captures: &e%kothwars_top_1_captures%"
    - "%kothwars_top_2_clan% - %kothwars_top_2_name%"
    - "&7Total Captures: &e%kothwars_top_2_captures%"
NEW FEATURE: The ranking system now combines captures from ALL KOTHs on your server, giving you a true global leaderboard of the most dominant players across all territories!

Multilingual Schedule Placeholders

Format: %kothwars_[KOTH_NAME]_day_schedule_[LANGUAGE_CODE]%

🌎 Spanish
es mx arg co
🇬🇧 English
en us uk
🇫🇷 French
fr ca
🇩🇪 German
de

Usage Examples

YAML Scoreboard Example
scoreboard:
  lines:
    - "Active KOTHs: %kothwars_active_koths%"
    - "Capturing: %kothwars_clan_capturer%"
    - "My Progress: %kothwars_player_koth_progress%%"
Copied to clipboard!