Skip to content

Freeze Module

The Freeze Module provides player freezing functionality to temporarily restrict player movement and actions.

  • Player Freezing - Block player movement
  • Chat Freeze - Block player chat
  • Visual Feedback - Show freeze status to player
  • Staff Notifications - Notify staff of freeze actions
  • Freeze History - Track freeze actions
  • Selective Freezing - Freeze specific players
  • Global Chat Freeze - Freeze all player chat
  • Freeze Messages - Customizable freeze notifications
  • Staff Tracking - Who froze/unfroze players

Freeze a player (block movement).

Permission: zenith.freeze

Parameters:

  • player - Player name to freeze

Examples:

Terminal window
/freeze Player123
/freeze Player456

Unfreeze a player.

Permission: zenith.freeze

Parameters:

  • player - Player name to unfreeze

Examples:

Terminal window
/unfreeze Player123
/unfreeze Player456

Toggle global chat freeze.

Permission: zenith.chatfreeze

Examples:

Terminal window
/chatfreeze # Toggle chat freeze on/off
modules/freeze.yml
enabled: true
settings:
chat-freeze: true
visual-feedback: true
freeze-message: "&#FF5555You are frozen! Reason: {reason}"
unfreeze-message: "&#00FF00You have been unfrozen!"
staff-notifications: true
messages:
staff:
freeze_success: "&#00FF00Player {player} has been frozen!"
unfreeze_success: "&#00FF00Player {player} has been unfrozen!"
chat_freeze_enabled: "&#FF5555Chat freeze has been enabled!"
chat_freeze_disabled: "&#00FF00Chat freeze has been disabled!"
player:
frozen: "&#FF5555You are frozen! Reason: {reason}"
unfrozen: "&#00FF00You have been unfrozen!"
chat_frozen: "&#FF5555Chat is currently frozen!"
PermissionDescription
zenith.freezeFreeze/unfreeze players
zenith.chatfreezeToggle global chat freeze
zenith.freeze.notificationsReceive freeze notifications
permissions:
- zenith.freeze: true
- zenith.chatfreeze: true
- zenith.freeze.notifications: true

What they can do:

  • ✅ Freeze/unfreeze players
  • ✅ Toggle global chat freeze
  • ✅ Receive notifications
CREATE TABLE zn_freezes (
id INT PRIMARY KEY AUTO_INCREMENT,
player_uuid VARCHAR(36) NOT NULL,
player_name VARCHAR(16) NOT NULL,
staff_uuid VARCHAR(36) NOT NULL,
staff_name VARCHAR(16) NOT NULL,
reason TEXT,
frozen_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
unfrozen_at TIMESTAMP NULL,
active BOOLEAN DEFAULT TRUE
);
POST /zenith/api/freeze
Authorization: Bearer your-token-here
{
"player": "Player123",
"reason": "Investigation"
}
POST /zenith/api/unfreeze
Authorization: Bearer your-token-here
{
"player": "Player123",
"reason": "Investigation complete"
}

When frozen, players will see:

  • Movement blocked - Cannot move, jump, or fly
  • Visual feedback - Freeze message displayed
  • Command restrictions - Most commands disabled
  • Chat access - Can still chat (unless chat freeze active)

Staff will see:

  • Success messages - Confirmation of freeze actions
  • Player status - Who is currently frozen
  • Notifications - Real-time freeze updates
  • History - Complete freeze log

Issue: Freeze not working

  • Check if module is enabled
  • Verify permissions
  • Check player online status
  • Restart server if needed

Issue: Player can still move

  • Check freeze status in database
  • Verify player permissions
  • Check for permission bypasses
  • Ensure freeze handler is active

Issue: Chat freeze not working

  • Check chat freeze permission
  • Verify chat event handler
  • Check for conflicting plugins
  • Restart server if needed

Enable debug mode for detailed logging:

debug:
enabled: true
console: true
file: true
  • Use MySQL/MariaDB for large servers
  • Regular database maintenance
  • Monitor freeze table size
  • Limit concurrent freezes
  • Track freeze frequency
  • Monitor freeze duration
  • Check staff activity
  • Review freeze reasons

Need help with the Freeze Module? Join our Discord: https://discord.gg/2qCMn6KHj4