FrostGuard is a powerful moderation tool that lets staff freeze players, preventing them from moving, executing commands, interacting with blocks, or using their inventory.
❄️ Key Features Freeze players completely: Blocks movement, commands, interactions, and inventory access
Custom messages: Show messages to frozen players on freeze/unfreeze
Timed freeze: Automatically unfreezes after a set duration
Mass control: Freeze players in a radius or unfreeze all at once
Status monitoring: View frozen players and check their status
Fully configurable: All messages and behaviors can be set via config.yml
Action logging: Logs all actions to console and/or file
Live reload: Update config without restarting the server
❄️ How Freezing Works Players are locked in place and unable to act
Visual effects show the frozen state
Optional timed freezing — auto-unfreezes after a duration
Optional command execution when freeze ends (e.g. /ban)
Fully customizable behavior through the config
❄️ Commands /fg freeze <player> [time] Freeze a player (unlimited or timed: 30s/5m/1h)
/fg unfreeze <player> Unfreeze a player
/fg unfreezeall Unfreeze all players
/fg radius <radius> Freeze all players near the moderator
/fg list View list of frozen players
/fg check <player> Check a player’s freeze status
/fg reload Reload plugin config
❄️ Permissions frostguard.freeze Allows freezing players Operators only
frostguard.unfreeze Allows unfreezing players Operators only
frostguard.unfreezeall Allows unfreezing all players Operators only
frostguard.radius Allows freezing in radius Operators only
frostguard.list View frozen player list Operators only
frostguard.check Check player status Operators only
frostguard.reload Reload plugin config Operators only
Code (YAML):
# Main restrictions during freezing blocked-actions:
commands: true
block-break: true
block-place: true
interaction: true
inventory: true
# Log to console (true/false) log-to-console: true
# Commands executed after freeze duration ends end-freeze-commands: -
"ban %player% Reason: freeze period ended." -
"kick %player% Freeze has expired!" messages: # Main messages usageMain: "&e FG ▶ &fUse /fg <command> ..." noPermission: "&c FG ▶ &fYou do not have permission to use this command." unknownCommand: "&e FG ▶ &fUnknown command. Use /fg <freeze|radius|reload|unfreeze|unfreezeall|list|check> ..." reloadConfig: "&a FG ▶ &fPlugin configuration reloaded!" playerNotFound: "&c FG ▶ &fPlayer not found or not online." onlyInGame: "&c FG ▶ &fThis command can only be used by an in-game player."
# Freeze usageFreeze: "&e FG ▶ &fUsage: /fg freeze <player> [time in seconds]" incorrectFreezeTime: "&c FG ▶ &fInvalid time format. Use /fg freeze <player> [time in seconds]" freezeCaster: "&a FG ▶ &fYou have frozen player %player% for %time% seconds." freezeCasterUnlimited: "&a FG ▶ &fYou have frozen player %player% indefinitely." freezeTarget: "&b FG ▶ &fYou have been frozen by an Administrator! Do not leave the game, time: %time% seconds." freezeTargetUnlimited: "&b FG ▶ &fYou have been frozen by an Administrator! Do not leave the game." notifyFreeze: "&e FG ▶ &f%sender% has frozen player %extra%." freezeEnded: "&aYour freeze has ended! Thank you for your patience."
# Radius usageRadius: "&e FG ▶ &fUsage: /fg radius <radius>" incorrectNumber: "&c FG ▶ &fInvalid number format. Please enter a valid radius." freezeTargetRadius: "&b FG ▶ &fYou have been frozen by an Administrator within a radius!" freezeRadiusResult: "&a FG ▶ &f%count% players have been frozen within a radius of %radius%." notifyFreezeRadius: "&e FG ▶ &f%sender% has frozen players within a radius of %extra%."
# Unfreeze usageUnfreeze: "&e FG ▶ &fUsage: /fg unfreeze <player>" notFrozen: "&e FG ▶ &fPlayer %player% is not frozen." unfreezeCaster: "&a FG ▶ &fYou have unfrozen player %player%." unfreezeTarget: "&a FG ▶ &fYou have been unfrozen!" unfreezeAllCaster: "&a FG ▶ &fYou have unfrozen all players." notifyUnfreeze: "&e FG ▶ &f%sender% has unfrozen player %extra%." notifyUnfreezeAll: "&e FG ▶ &f%sender% has unfrozen all players."
# List noFrozenPlayers: "&e FG ▶ &fThere are no frozen players." frozenPlayersHeader: "&a FG ▶ &fList of frozen players:"