Corestone

Configuration

plugins/AdminControl/config.yml. Missing keys are added on start without touching your values. /ac reload applies most changes; the table says which need a restart. Most day-to-day settings (security, retention, Discord, LuckPerms, reports) live in the panel under Settings → Server instead.

General

Key Default Meaning
config-version 1 Version of the file layout; leave it.
language en Language of in-game and console messages: en or pl. Only the starting value: once Settings → General is saved in the panel, the panel's default language is used.
server-name "" This server's name in a network of servers on one MySQL database (a-z, 0-9, _, -, at most 32 characters), best the same as in velocity.toml (or in the servers section of BungeeCord's config.yml). Empty: the name of the server's folder (with the start of the server id after it for a folder like container or data that every server of a host shares). Restart to change.

Panel (web)

All web.* keys need a restart.

Key Default Meaning
web.enabled true Turn the panel off to run AdminControl without it.
web.host 0.0.0.0 Address the panel listens on. Use 127.0.0.1 behind a reverse proxy on the same machine.
web.port 8080 Port of the panel.
web.base-path / Path the panel is served under, e.g. /panel on a shared domain.
web.public-url "" Public address of the panel (https://panel.example.com), used for links shown in game and in the console.
web.hsts false When the panel is reached over https (an https public-url, or a trusted proxy that says so): browsers use only https on this host for a year. It covers every port of the host, so leave it off when something else there runs on plain http (a Dynmap or BlueMap on another port).

Database (database)

All database.* keys need a restart. See Database.

Key Default Meaning
database.type sqlite sqlite (a file in the plugin folder) or mysql (MySQL or MariaDB; mariadb works too, in any case). A server that used MySQL never falls back to a new SQLite file when this value cannot be read: it stays without a database until config.yml is fixed.
database.sqlite.file data.db The SQLite file name.
database.mysql.host localhost MySQL/MariaDB host.
database.mysql.port 3306 Port.
database.mysql.database admincontrol Database name.
database.mysql.user admincontrol User.
database.mysql.password "" Password.
database.mysql.pool-size 6 Connections kept open.
database.mysql.use-ssl true Encrypt the connection; the certificate is not checked, so self-signed ones work.
database.mysql.ssl-ca "" The database server's CA certificate (.pem, full path). When set, the certificate and the host name are checked, so nobody between this server and the database can pose as it. Recommended for a database on another machine.

Modules (modules)

Turn whole features off. Turning console, announcements, reports or import on or off needs a restart; the others apply with /ac reload.

Key Default Meaning
modules.stats true Dashboard statistics and history.
modules.punishments true Punishments, templates and warning rules.
modules.chat true Chat log, filters, chat controls.
modules.announcements true Announcements and the rotation.
modules.console true The console in the panel.
modules.reports true Player reports.
modules.import true Importing punishments from other plugins.

Punishments (punishments)

Key Default Meaning
punishments.shortcuts true Short commands (/ban, /mute, ...). Turn off when another plugin owns them; /ac ban always works. Needs a restart.
essentials.take-over-commands true With EssentialsX: its punishment commands (/ban, /tempban, /mute, /kick, ... also /essentials:ban, /eban) run as AdminControl's (see Integrations). false: Essentials keeps them.
bedrock.geysermc-skins true Heads of Bedrock players (Geyser and Floodgate) from GeyserMC's API, which gets the player's Xbox user id (see Privacy). false: the default head, nothing sent.
placeholders.sensitive false Give other plugins %admincontrol_mute_reason%, %admincontrol_punishments% and %admincontrol_open_reports% (see Integrations). Takes effect on /ac reload.
punishments.mute-blocked-commands [msg, tell, w, r, me, whisper, reply, pm, m, t, emsg, etell, ewhisper, er, ereply, teammsg, tm, mail] Commands a muted player cannot use (without the slash; also blocked with a plugin prefix, e.g. minecraft:msg).

Chat (chat)

Key Default Meaning
chat.retention-days 30 Days the chat log keeps messages, 7–365. Only the starting value: once Settings → Retention is saved in the panel, the panel's values are used.
chat.private-commands [msg, tell, w, whisper, pm, emsg, etell, ewhisper] Commands logged as private messages: /<command> <player> <text>. Add the aliases of your messaging plugin.
chat.reply-commands [r, reply, er, ereply] Replies to the last private conversation partner: /<command> <text>.

Messages

messages_en.yml and messages_pl.yml hold every in-game message in MiniMessage format (<green>, <bold>, <white><player></white>). Edit them freely; /ac reload applies the changes. Keep the <placeholders> a message already uses.

Panel settings

Settings → Server in the panel (needs settings.manage):

  • General: server name, default language, time zone, whether private messages are logged.
  • Security: idle sign-out (5–240 minutes), session limit (1–72 hours), IP whitelist, trusted proxies.
  • Data retention: audit log (30–1095 days), chat (7–365), private messages (1–365), raw stats (1–30), hourly stats (30–1095).
  • Player reports: cooldown between reports (10–3600 seconds), reminder of open reports on join.
  • Integrations: Discord webhook and events, LuckPerms group sync. See Features.