This guide focuses on practical setup and safe operation of FairPerks in production-like environments.
FairPerks uses one main runtime file:
plugins/FairPerks/config.ymlplugins/FairPerks/messages.yml(default English messages)plugins/FairPerks/messages_NL.yml(Dutch translation)
On startup, FairPerks synchronizes config.yml and messages.yml with the bundled defaults:
- missing keys are added
- keys that no longer exist in the bundled defaults are removed
- existing values for known keys are preserved
This keeps server files current across plugin updates while retaining your configured values.
Set language in config.yml:
default: usemessages.ymlNL: usemessages_NL.yml- any custom code (for example
DE): attemptsmessages_DE.yml
If the selected language file does not exist, FairPerks automatically falls back to messages.yml.
Most behavior is controlled by the enabled section:
anchor: respawn-anchor interaction protection.bed: bed explosion interaction protection.blockignite: ignition-near-mobs protection by cause list.spawnermobs: marks eligible spawner mobs with persistent data. Keep this disabled unless your server already nerfs AI on player-spawned spawner mobs; otherwise those mobs are treated as normal hostile mobs by FairPerks.creeperignite: flint/fire-charge creeper ignite protection.endcrystal: end crystal damage protection.godmacro: double-shift god command macro.godrestorefix: restores pre-toggle health/hunger after enabling Essentials god, preventing heal/refill abuse from toggling.lava: lava bucket placement protection.melee: melee combat restriction logic.perktoggleguard: blocks enabling Essentials god/fly while in combat or near hostile mobs.pvp: prevents damaging other players while in god mode or flying.projectile: projectile combat restriction logic.target: hostile targeting suppression logic.tntignite: TNT ignite protection.tntprime: blocks TNT priming while in god mode or flying.
ignite_entityrange: search range forblockignite.lava_entityrange: search range forlava.perktoggle_entityrange: hostile-mob proximity radius used byperktoggleguard.tnt_entityrange: search range fortntignite.godmacrointerval: max milliseconds between two shift presses.
- Start with all non-essential features disabled.
- Enable one feature (or one related group) at a time.
- Restart and validate expected behavior in-game.
- Move to the next feature only after validation.
This keeps incidents small and rollback simple.
- If protections do not trigger, verify the related
enabledtoggle first. - If a range-based rule seems inactive, validate numeric range values and nearby hostile mobs.
- If god macro behavior is inconsistent, validate permissions and
godmacrointerval. - Ensure EssentialsX is present and loaded before FairPerks.
- CombatLogX is optional. If installed, god macro combat checks will be enabled automatically.