Config File (config.yml) | Mantic-Dev
Author: Jordan & Dejavu Support: https://discord.mantic.dev
Notes:
All changes require a plugin reload or restart.
Use placeholders (e.g., {player}, {uuid}, {realm}) where specified.
Leave fields empty where indicated to use plugin defaults.
When enabled, debugMode prints detailed logs for troubleshooting. Disable in production to reduce console spam.
# ===========================================
#
# Mantic Protector Configuration
#
# -------------------------------------------
#
# Author: Jordan & Dejavu
# Support: https://discord.mantic.dev
#
# Notes:
# - All changes require a plugin reload or restart.
# - Use placeholders (e.g., {player}, {uuid}, {realm}) where specified.
# - Leave fields empty where indicated to use plugin defaults.
#
# ===========================================
# === License Key ===
# Plugin license key for authentication.
# You can obtain or manage your key at: https://discord.mantic.dev
license: "XXXX-XXXX-XXXX-XXXX"
# === Debug Mode ===
# When enabled, prints detailed logs for debugging.
# Useful for troubleshooting issues.
# ⚠ Disable in production to reduce console spam.
debugMode: false
# === Protected Users ===
# Players exempt from operator and permission checks.
# Useful for developers or trusted administrators.
# Format: username, UUID, allowed operator status, optional groups, IP, and geo history.
users:
- username: "KingpinJordan"
unique: "abed4eb2-02ba-4dfd-b33f-bf1e5f9137d0"
allowedOp: true
whitelistedGroups:
- "Developer"
addressHistory: []
geoHistory: []
- username: "TheDeejayV1"
unique: "1a85be2f-e65b-4a05-a3f4-6f2ffd3696da"
allowedOp: true
whitelistedGroups:
- "Developer"
addressHistory: []
geoHistory: []
# === Realm Name ===
# Represents the name of your server or network.
# Appears in Discord webhooks and plugin logs.
# If using LuckPerms, this value updates automatically.
realmName: "???"
# === General Plugin Settings ===
# Display name shown in plugin messages and logs.
# Keep it short and clean (avoid special characters).
#
# Leave this empty to use the plugin’s default internal name.
#
# ⚠ Changes require reload.
#
# ⚠ On Minecraft 1.17+ (Java 17+), name reflection may not update fully due to API restrictions.
pluginName: ""
# === Operator Checker ===
# Automatically checks for unauthorized operators.
opCheckerEveryXSeconds: 5
# Enable or disable the background operator check task.
opCheckerTask: false
# Commands executed when an unauthorized operator is detected.
# Use {player} as a placeholder for the player name.
notInListOpChecker:
- "ban {player} Not Authorized to be opped! -s"
# === Console OP Protection ===
# Prevents the console from opping players not listed in the 'users' allowedOp list.
# Set to false to allow the console to op anyone.
canConsoleOpUnauthorizedUsers: true
# === Command Listener ===
# Monitors player commands for blocked words or unauthorized usage.
commandListener: true
# Permissions that trigger the blocked word scanner.
# Players using commands with these permissions will be checked for restricted terms.
commandWordWatcherPermissions:
- "essentials.broadcast"
- "worldedit.*"
# Commands executed when a player uses a blocked word.
# Use {player} as a placeholder.
commandsForBlockedWord:
- "ban {player} Not Authorized to use this!"
# List of forbidden words in command usage.
# Players using these will trigger punishment commands.
blockedWords:
- "hacked"
- "griefed"
# === IP Protection ===
# Handles IP history and geolocation checks to detect suspicious logins.
ipHistory: true
# Enables IP geolocation lookups using the configured API.
ipGeolocation: true
# API endpoint or key for the IP geolocation service.
# Default: https://app.ipgeolocation.io/dashboard
apiKey: "https://app.ipgeolocation.io/dashboard"
# Algorithm used to hash and anonymize stored IP addresses.
# Recommended: SHA-256
hashAlgorithm: "SHA-256"
# === Unauthorized Operator Punishments ===
# Defines how staff and players are handled when unauthorized operator actions occur.
punishStaffWhoGaveOp: true
# Commands executed on staff who give operator to unauthorized players.
# Use {player} as a placeholder for the staff member.
staffPunishmentWhoGaveOp:
- "deop {player}"
- "ban {player} Not Authorized to give players op!"
# Commands executed on players who are opped without authorization.
# Use {player} as a placeholder.
unauthorizedOpUserPunishmentCmds:
- "deop {player}"
# === Blocked Commands ===
# Commands players are not permitted to use.
blockedCommands:
- "pl"
- "plugins"
- "version"
- "op"
# === Blacklisted Groups ===
# Permission groups that are forbidden from being assigned.
blacklistedGroups:
- "dev"
- "owner"
# Commands executed when a player is found in a blacklisted group.
# Use {player} as a placeholder.
punishmentForBlacklistedGroups:
- "lp user {player} clear"
# === Blacklisted Permissions ===
# Permissions that should never be assigned to players.
blacklistedPerms:
- "essentials.*"
- "*"
- "bukkit.*"
- "minecraft.*"
- "worldedit.*"
- "worldguard.*"
- "luckperms.*"
- "lp.*"
- "luckperms.truseditor"
- "luckperms.editor"
- "luckperms.user.permission.set"
- "excellentcrates.*"
- "minecraft.admin"
# Enable permission blacklist checks on player join.
blacklistedPermsCheckJoin: true
# Commands executed on players with blacklisted permissions.
# Use {player} as a placeholder.
punishmentHasBlacklistedPerms:
- "deop {player}"
- "lp user {player} clear"
# === Punishment Listener ===
# Monitors mass punishment actions such as bans or kicks.
punishmentListener: false
# Types of punishments to track for mass punishment detection.
watchPunishmentTypes:
- "ban"
- "kick"
# Duration (in minutes) defining the tracking window for punishments.
storePunishmentWindowMinutes: 5
# If true, ignores silent punishments (e.g., with '-s' flag).
ignorePunishmentIfSilent: false
# Maximum number of punishments allowed within the defined time window.
maxPunishmentWithinWindow: 15
# Commands executed when the maximum punishment limit is exceeded.
# Use {player} as the punisher's name.
punishmentForMassPunishments:
- "tempban {player} 6hr You have punished too many players within 5 minutes! -s"
# === Webhook Settings ===
# Discord webhook configuration for alerts and logging.
# Each webhook can be enabled or disabled individually.
# Use placeholders like {player}, {uuid}, {realm}, {ip}, {reason}.
opTaskAlertWebhook:
enabled: false
webhookUrl: "https://discord.com/api/webhooks/XXXX/XXXX"
webhookName: "Mantic Protector"
webhookAvatar: "https://mantic.dev/logo.png"
colour: "#1e90ff"
title: ""
description:
- "**Player:** `{player}`"
- "**UUID:** `{uuid}`"
- ""
- "**Reason:** `OP (TASK CHECKER)`"
- ""
- "**Realm:** `{realm}`"
footer: "Made with ❤ by Jordan & Dejavu"
mentionAll: false
joinBlacklistedPermWebhook:
enabled: false
webhookUrl: "https://discord.com/api/webhooks/XXXX/XXXX"
webhookName: "Mantic Protector"
webhookAvatar: "https://mantic.dev/logo.png"
colour: "#1e90ff"
title: ""
description:
- "**Player:** `{player}`"
- "**UUID:** `{uuid}`"
- ""
- "**Reason:** `Joined with blacklisted Permission {perm}`"
- ""
- "**Realm:** `{realm}`"
- ""
- "**IP:** `{ip}`"
footer: "Made with ❤ by Jordan & Dejavu"
mentionAll: false
blockedPlayerCommandOpWebhook:
enabled: false
webhookUrl: "https://discord.com/api/webhooks/XXXX/XXXX"
webhookName: "Mantic Protector"
webhookAvatar: "https://mantic.dev/logo.png"
colour: "#1e90ff"
title: ""
description:
- "Player tried to op another player in-game!"
- ""
- "**Opper:** `{player}` (`{uuid}`)"
- "**Victim:** `{victim}` (`{victim_uuid}`)"
- ""
- "**Realm:** `{realm}`"
- "**Opper IP:** `{ip}`"
footer: "Made with ❤ by Jordan & Dejavu"
mentionAll: false
luckPermsWebhook:
enabled: false
webhookUrl: "https://discord.com/api/webhooks/XXXX/XXXX"
webhookName: "Mantic Protector"
webhookAvatar: "https://mantic.dev/logo.png"
colour: "#1e90ff"
title: ""
description:
- "**Player:** `{player}`"
- "**UUID:** `{uuid}`"
- ""
- "**Reason:** `{reason}`"
- ""
- "**Realm:** `{realm}`"
footer: "Made with ❤ by Jordan & Dejavu"
mentionAll: false
punishmentWatcherWebhook:
enabled: false
webhookUrl: "https://discord.com/api/webhooks/XXXX/XXXX"
webhookName: "Mantic Protector"
webhookAvatar: "https://mantic.dev/logo.png"
colour: "#1e90ff"
title: ""
description:
- "**Player:** `{player}`"
- "**UUID:** `{uuid}`"
- ""
- "**Punishments:** `{punishments}`"
- ""
- "**Realm:** `{realm}`"
footer: "Made with ❤ by Jordan & Dejavu"
mentionAll: false
ipMisMatchWebhook:
enabled: false
webhookUrl: "https://discord.com/api/webhooks/XXXX/XXXX"
webhookName: "Mantic Protector"
webhookAvatar: "https://mantic.dev/logo.png"
colour: "#1e90ff"
title: ""
description:
- "**Player:** `{player}`"
- "**UUID:** `{uuid}`"
- ""
- "**IP Hash:** `{ip-hash}`"
- ""
- "**Realm:** `{realm}`"
footer: "Made with ❤ by Jordan & Dejavu"
mentionAll: false
geoMisMatchWebhook:
enabled: false
webhookUrl: "https://discord.com/api/webhooks/XXXX/XXXX"
webhookName: "Mantic Protector"
webhookAvatar: "https://mantic.dev/logo.png"
colour: "#1e90ff"
title: ""
description:
- "**Player:** `{player}`"
- "**UUID:** `{uuid}`"
- ""
- "**Geo Hash:** `{geo-hash}`"
- ""
- "**Realm:** `{realm}`"
footer: "Made with ❤ by Jordan & Dejavu"
mentionAll: falseRelated:
PreviousSetup Guide: https://cozy-1.gitbook.io/cozy/setup-guide
Last updated 3 days ago