Repository navigation
Configuration
WieszczY edited this page Dec 13, 2025
·
2 revisions
This page explains every configurable option in config.yml, how to tune it, and why it matters for your server setup.
- PunisherX tracks a
config-versionin your file. On startup and/punisherx reload, the plugin compares it to the built-in template and automatically merges new keys while keeping your values intact. - When migrating from older versions, PunisherX also creates a backup named
config.yml.<oldVersion>.bakbefore touching your file, so you can always roll back. - No manual resets are needed—drop in a new JAR and your configuration is upgraded to the latest schema with your custom settings preserved.
Note: Applies only to versions 1.6 and higher
-
server— logical server name used to scope punishments across a network; keep"network"to apply everywhere, or set per-server names (e.g.,"survival","skyblock") to isolate punishments.
-
database.type— choosemariadb,mysql,mssql,postgresql,sqlite, orh2. -
database.sql.*— host/port/dbname/username/password for SQL engines (ignored for SQLite/H2). -
playerCache.storage— store encrypted player IP data infile(per-server) ordatabase(shared across networked servers).
-
kick.history— iftrue, kicks are written into the player’s history. -
actions.kicked/actions.mute— commands run when the player is kicked or muted (e.g., economy deductions). -
actions.warn.count— map warning counts to commands;{player}and{warn_no}placeholders are available in the examples.
-
mute.pm— block private messages while muted. -
mute.cmd— command whitelist/blacklist for muted players whenmute.pmis enabled.
-
notifications.punishment_bar.enabled— show an action bar countdown for activejail/mute. -
notifications.punishment_bar.period_ticks— refresh rate (20 ticks = 1 second).
-
placeholders.punishment_list_limit— max rows returned by list placeholders. -
placeholders.message_format— format for placeholder output:MINI_MESSAGE,LEGACY_AMPERSAND,LEGACY_SECTION, orPLAIN_TEXT.
-
jail.location/jail.radius— jail center and allowed radius. -
jail.allowed_commands— commands permitted while jailed (*allows everything). -
unjail.unjail_location— default spawn after release (used whenspawn_type_select.setisunjail). -
unjail.spawn_type_select.set— choose respawn logic:unjail,last_location,bed,essx(EssentialsX/FoliEssentials), orworld.
-
gui.punish.times— time buttons shown in the GUI. -
gui.punish.reasons— default reasons shown in the GUI. -
gui.punish.use_force— append--forceto GUI-issued commands to bypass standard bypass permissions.
-
language— built-in options: EN, PL, NL, ES, FR, DE, RU, UK, IT, PT, AR. -
aliases.*— custom command aliases for every main command (ban, history, jail, etc.).
-
geoDatabase.licenseKey— MaxMind key for GeoIP lookups. -
webhook.discord.enabled/url— toggle Discord webhook notifications. -
update.check-for-updates/auto-download— control update checking and auto-downloads;hangar,github,modrinthflags choose sources.
-
debug— enable verbose logging. -
stats.enabled— toggle anonymous stats collection.
Warning! Features and settings marked as experimental may function incorrectly or not at all, and the author advises against using them on production servers.