Configuration - Rumsfield/konquest GitHub Wiki

Updated for version 1.9.0

Konquest Configuration and Data Files

The Konquest plugin creates several files within the "plugins/Konquest" folder. Some are used for plugin configuration settings, and others are used to store data like Kingdom land or player stats. The files include:

  • data folder
    • camps.yml - Data storage for camp info. DO NOT MODIFY
    • kingdoms.yml - Data storage for kingdom info. DO NOT MODIFY
    • ruins.yml - Data storage for ruin info. DO NOT MODIFY
    • sanctuaries.yml - Data storage for sanctuary and monument template info. DO NOT MODIFY
    • KonquestDatabase.db - Data storage for player info, including stats, directives and other player data. Used when core.database.connection is set to "sqlite". DO NOT MODIFY
  • commands.yml - Custom commands to run for in-game events.
  • core.yml - Main plugin configuration settings.
  • loot.yml - Monument loot table.
  • prefix.yml - Custom prefix list.
  • properties.yml - Default property flag values for new territories and kingdoms.
  • shields.yml - Supplemental plugin configuration settings for town shields and armors.
  • upgrades.yml - Supplemental plugin configuration settings for town upgrades.

Do not modify files in the data folder. When the server is running, you can modify most settings and then use the /k admin reload command to have the changes take effect. Some config settings require a server restart. For details on the settings within the configuration YML files, refer to the comment header in each file. Copies of those comments are included below for convenience.

SQL Database Options

Konquest supports the following SQL options:

  • SQLite
  • MySQL

The core.yml configuration contains options for SQL database type. By default, Konquest uses SQLite:

core:
  database:
    connection: sqlite
    mysql:
      hostname: localhost
      port: 3306
      database: example_database
      username: example_user
      password: example_password
      properties: []

If MySQL is desired, then it is your responsibility to create a database within a MySQL server (e.g. $ mysql> CREATE DATABASE Konquest;) and set the appropriate options in core.yml. Optional properties may be specified, such as SSL settings:

core:
  database:
    connection: mysql
    mysql:
      hostname: localhost
      port: 3306
      database: Konquest
      username: admin
      password: password
      properties:
      - autoReconnect=true
      - useSSL=false

If you switch database types, data will not be transferred from one database to the other. For example, if a server running Konquest with SQLite already had players join and increased their stats, and then the database type switched to MySQL, all of the player data would be reset. Players would have to re-join kingdoms and all stats/directives would be cleared to 0. If you wish to transfer data between SQL database types (e.g. SQLite to MySQL) then you are responsible for figuring out how to do that.

core.yml

See the Core wiki page for details on all core options.

upgrades.yml

# Town Upgrades
# Instructions: Change costs and populations values for each upgrade level.
#   Set a costs line to -1 to disable that upgrade's level. DO NOT add or remove lines.
#   For example: Loot upgrade level 1 costs 100, level 2 costs 200, level 3 is disabled.
#      loot:
#        costs:
#        - 100
#        - 200
#        - -1
# Upgrades:
#   loot:         Monument Loot
#     Level 1:    Adds 1 more loot item per chest
#     Level 2:    Adds 2 more loot items per chest
#     Level 3:    Adds 3 more loot items per chest
#   drops:        Animal Drops
#     Level 1:    Animal mobs drop 1 more item
#   fatigue:      Enemy Fatigue
#     Level 1:    Enemies get mining fatigue 2
#   counter:      Counter-Intelligence
#     Level 1:    Prevent spy maps from locating this town
#     Level 2:    Prevent compasses from pointing to this town
#   health:       Health Buff
#     Level 1:    Adds 1 heart to friendly health bars
#     Level 2:    Adds 2 hearts to friendly health bars
#     Level 3:    Adds 3 hearts to friendly health bars
#   damage:       Prevent Damage
#     Level 1:    Prevents all fire spread
#     Level 2:    Prevents all explosions
#   watch:        Town Watch
#     Level 1:    Prevents enemy raids unless at least 1 resident is online
#     Level 2:    Prevents enemy raids unless at least 2 residents are online
#     Level 3:    Prevents enemy raids unless at least 3 residents are online
#   enchant:      Better Enchantments
#     Level 1:    Raises enchantment offers by 1 level
# 
# /!\ DO NOT MODIFY VERSION /!\

shields.yml

# Town Shields & Armor
# Instructions: Set up each town shield and armor option in this file.
# Each option has a name, charge and costs.
# You may add more options, or remove the default ones. The format is below. Replace text in <> with your own values.
# 
# shields:
#   <name>:
#     charge: <shield duration in seconds>
#     cost: <fixed favor cost>
#     cost_per_resident: <favor cost per town resident>
#     cost_per_land: <favor cost per claimed land chunk>
# armors:
#   <name>:
#     charge: <armor amount in blocks>
#     cost: <fixed favor cost>
#     cost_per_resident: <favor cost per town resident>
#     cost_per_land: <favor cost per claimed land chunk>
# 
# You can change existing names (Short, Light, etc), charges and costs, and add more options under shields and armors.
# Names can have spaces. Costs must be greater than or equal to zero.
# Lines that begin with "#" (like this one) are comments, and do not change any settings.
# Use a YAML parser to make sure this file is correctly formatted with no errors, like https://yaml-online-parser.appspot.com/
#
# /!\ DO NOT MODIFY VERSION /!\

loot.yml

# Loot Table
# Instructions: There are 3 categories of loot: items, potions and enchanted_books. Modify, add or remove entries
#    from each category. You may remove all entries from a category. The format is:
# 
#   loot:
#     name: <display name>          # The name that players see for this loot table
#     items:
#       <MATERIAL>:                 # Must be from this list: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
#         amount: <integer>         # The number of items in the stack
#         weight: <integer>         # The relative probability weight, 0 to disable
#     potions:
#       <POTION>:                   # Must be from this list: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionType.html
#         upgraded: <boolean>       # true/false, is this potion level 2?
#         extended: <boolean>       # true/false, is this potion extended in time?
#         weight: <integer>         # The relative probability weight, 0 to disable
#     enchanted_books:
#       <ENCHANTMENT>:              # Must be from this list: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
#         level: <integer>          # The enchantment level, 0 to randomly choose any level
#         weight: <integer>         # The relative probability weight, 0 to disable
# 
# The relative probability weight is the chance that the entry is chosen as loot. This percent probability is
# calculated by the weight of the individual entry divided by the sum of all weights. For example, in this default
# table, GOLD_INGOT has a weight of 4, and the sum of all weights is 150, so the percent probability of GOLD_INGOT
# is (4/150) * 100 = 2.67%. Entries with larger weights are more likely to be chosen as loot.
#
# The total weight for the loot section's items/potions/enchanted_books is independent from the ruins section's total weight.
#
# Here are the loot table sections. Each section defines items, potions, and enchanted_books.
#   loot:             The default town monument loot.
#   loot_special:
#     <Profession>:   Town monument loot for every villager profession.
#     ...
#   loot_custom:
#     <Custom Name>:  Town monument loot for your own custom named sections.
#     ...
#   ruins:            The default ruin loot.
#   ruins_custom:
#     <Custom Name>:  Ruin loot for your own custom named sections.
#     ...
#
# /!\ DO NOT MODIFY VERSION /!\

prefix.yml

# Custom Prefix List
# Instructions: Set up all custom prefixes in this list. Each prefix requires a permission to use, konquest.prefix.<LABEL>. The list format
#   is below. Each prefix has a label, name and cost.
# 
#   prefix:
#     <LABEL>:                  # A unique identifier for the prefix.
#       name: <string>          # The name that appears in chat, allows color codes. https://minecraft.fandom.com/wiki/Formatting_codes
#       cost: <integer>         # The cost in favor to apply, can be 0.
# 
# WARNING! If you change a LABEL after players have already purchased it, then they will lose it! You may change names and costs.
#
# /!\ DO NOT MODIFY VERSION /!\

properties.yml

# Default Properties
# 
# Kingdoms, Sanctuaries, Ruins and Towns/Capitals each have unique properties per instance.
# When players make new ones, these default properties are applied.
# Admins can change the values of these properties in-game.
# 
# Properties for territories
#	TRAVEL			Allow travel to this territory
#	PVP			Allow player damage
#	PVE			Allow entity damage
#	BUILD			Allow block edits
#	USE			Allow using blocks
#       CHEST			Allow using containers
#	MOBS			Allow mobs to spawn
#	PORTALS			Allow players to use portals
#	ENTER			Allow players to enter
#	EXIT			Allow players to exit
#       SHOP                    Allow players to create shops
# 
# Properties specifically for towns/capitals
#	CAPTURE			Allow this town to be captured
#	CLAIM			Allow players to claim land
#	UNCLAIM			Allow players to unclaim land
#	UPGRADE			Allow players to upgrade this town
#	PLOTS			Allow players to set town plots
# 
# Properties for kingdoms
#	PEACEFUL		Make this kingdom only peaceful
#	GOLEMS			Enable iron golems to attack enemies
#
# Properties for membership
#       JOIN			Allow players to join
#       LEAVE			Allow players to leave
#       PROMOTE			Allow promotion of players
#       DEMOTE			Allow demotion of players
#       TRANSFER		Allow ownership transfer
#
# Remember to use the "/k admin reload" command after modifying this file if the server is running.
# 
# /!\ DO NOT MODIFY VERSION /!\

commands.yml

# Custom Commands
# Instructions: Put your own custom commands to be executed during specific events.
# Do not include a slash "/" in the command string.
# Use these tags in the commands:
#   %PLAYER% - the player's name
#
# For example, for a command that gives the player 5 gold ingots when they kill a Ruin golem:
# ruin_golem_kill: 'give %PLAYER% gold_ingot 5'
#
# /!\ DO NOT MODIFY VERSION /!\
⚠️ **GitHub.com Fallback** ⚠️