Kick Module
Kick Module
Section titled “Kick Module”The Kick Module provides enhanced player kicking with custom disconnect screens and comprehensive staff notifications.
🚀 Features
Section titled “🚀 Features”Core Functionality
Section titled “Core Functionality”- Enhanced Kicking - Custom disconnect screen for kicked players
- Case Tracking - Automatic case ID generation for appeals
- Staff Notifications - Real-time alerts to staff members
- Custom Messages - Configurable disconnect screen
- Bypass Protection - Prevents kicking staff members
Advanced Features
Section titled “Advanced Features”- Reason Tracking - Complete audit trail of kick reasons
- Staff Logging - Who kicked whom and why
- Time Stamping - Automatic timestamp for all kicks
- Appeal System - Case IDs for easy appeal tracking
- IP Support - Tracks IP addresses for kicked players
📋 Commands
Section titled “📋 Commands”/kick <player> [reason]
Section titled “/kick <player> [reason]”Kick a player from the server.
Permission: zenith.kick
Parameters:
player- Player name to kickreason- Reason for kick (optional)
Examples:
/kick Player123 Inappropriate behavior/kick Player123🔔 Disconnect Screen
Section titled “🔔 Disconnect Screen”Configuration
Section titled “Configuration”disconnect_screen: lines: - "&#FF5555You have been kicked!" - "&#FFAAAAReason: {reason}" - "&#AAAAAAKicked by: {staff}" - "&#AAAAAATime: {time}" - "&#AAAAAACase ID: {caseid}" - "&#AAAAAAAppeal at: your-server.com/appeal"Message Variables
Section titled “Message Variables”| Variable | Description | Example |
|---|---|---|
{reason} | Reason for kick | Inappropriate behavior |
{staff} | Staff member who kicked | Admin123 |
{time} | Kick timestamp | 2025-01-14 15:30 |
{caseid} | Case ID for appeal | KICK-123 |
💬 Messages
Section titled “💬 Messages”Staff Messages
Section titled “Staff Messages”messages: staff: kick_success: "7FF55Successfully kicked {player}! &#AAFFAAReason: {reason} &#AAAAAACase ID: {caseid}" kick_failed: "&#FF5555Failed to kick {player}!" player_not_found: "&#FF5555Player '{player}' not found or not online!" cannot_kick_self: "&#FF5555You cannot kick yourself!" cannot_kick_bypass: "&#FF5555You cannot kick {player}! They have kick bypass permission!" player_already_kicked: "&#FFAA55Player {player} is already being kicked!"Player Messages
Section titled “Player Messages”messages: kick: player_kicked: "&#FF5555You have been kicked by {staff}! &#FFAAAAReason: {reason} &#AAAAAACase ID: {caseid}"Notification Messages
Section titled “Notification Messages”messages: notifications: kick_notification: "&#FFFF55{staff} kicked {player} &#AAAAAA({reason}) &#AAAAAACase ID: {caseid}"⚙️ Configuration
Section titled “⚙️ Configuration”Module Settings
Section titled “Module Settings”enabled: true
default_reason: "No reason provided"Custom Disconnect Screen
Section titled “Custom Disconnect Screen”Customize the disconnect screen to match your server’s style:
disconnect_screen: lines: - "&#FF5555You have been kicked!" - "&#AAAAAAReason: {reason}"disconnect_screen: lines: - "&#FF5555&lYou have been kicked!" - "" - "&#AAAAAAReason: &#FFFFFF{reason}" - "&#AAAAAAKicked by: &#FFFFFF{staff}" - "&#AAAAAATime: &#FFFFFF{time}" - "&#AAAAAACase ID: &#FFFF00{caseid}" - "" - "&#FFFF00Appeal at: &#FFFFFFyour-server.com/appeal"disconnect_screen: lines: - "&#FF5555You have been kicked!" - "" - "&#FFFF00Case ID: &#FFFFFF{caseid}" - "F7F7FAppeal at: your-server.com/appeal"🔐 Permissions
Section titled “🔐 Permissions”Required Permissions
Section titled “Required Permissions”| Permission | Description |
|---|---|
zenith.kick | Kick players |
zenith.kick.bypass | Bypass kick protection |
zenith.kick.notifications | Receive kick notifications |
Permission Examples
Section titled “Permission Examples”permissions: - zenith.kick: true - zenith.kick.notifications: trueWhat they can do:
- ✅ Kick any player
- ✅ Receive notifications
- ❌ Kick staff with bypass permission
permissions: - zenith.kick: trueWhat they can do:
- ✅ Kick players
- ❌ Receive notifications
🎯 Use Cases
Section titled “🎯 Use Cases”Common Kick Reasons
Section titled “Common Kick Reasons”/kick Player123 Chat spamDisconnect screen shows:
Reason: Chat spamCase ID: KICK-123/kick Player123 Inappropriate behavior/kick Player123 Rule violationAutomatic Kicking
Section titled “Automatic Kicking”The module can automatically kick players under certain conditions:
- Duplicate accounts (Limiter Module)
- Suspicious activity (Client Detector Module)
- Banned player attempts (Ban Module)
📊 Database Schema
Section titled “📊 Database Schema”Kick Records
Section titled “Kick Records”CREATE TABLE zn_history ( id INT PRIMARY KEY AUTO_INCREMENT, case_id VARCHAR(50) UNIQUE NOT NULL, player_uuid VARCHAR(36) NOT NULL, player_name VARCHAR(16) NOT NULL, staff_uuid VARCHAR(36) NOT NULL, staff_name VARCHAR(16) NOT NULL, punishment_type VARCHAR(20) NOT NULL, reason TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, ip_address VARCHAR(45));Query Example
Section titled “Query Example”-- Get all kicks for a playerSELECT * FROM zn_historyWHERE player_uuid = ?AND punishment_type = 'KICK'ORDER BY created_at DESC;🔔 Staff Notifications
Section titled “🔔 Staff Notifications”Kick Notifications
Section titled “Kick Notifications”Staff members receive real-time notifications when someone is kicked.
Configuration:
messages: notifications: kick_notification: "&#FFFF55{staff} kicked {player} &#AAAAAA({reason}) &#AAAAAACase ID: {caseid}"Permissions:
zenith.kick.notifications- Receive kick notifications
Notification Variables
Section titled “Notification Variables”| Variable | Description | Example |
|---|---|---|
{staff} | Staff member who kicked | Admin123 |
{player} | Player who was kicked | Player123 |
{reason} | Kick reason | Inappropriate behavior |
{caseid} | Case ID | KICK-123 |
🛠️ Troubleshooting
Section titled “🛠️ Troubleshooting”Common Issues
Section titled “Common Issues”Issue: Player not kicked
- Check if player is online
- Verify permissions
- Check if player has bypass permission
Issue: Disconnect screen not showing
- Verify configuration syntax
- Check for color code errors
- Ensure module is enabled
Issue: Case ID not generated
- Check database connection
- Verify history module is enabled
- Check table structure
Issue: No notifications received
- Check
zenith.kick.notificationspermission - Verify notification message is not empty
- Check staff notification settings
Debug Mode
Section titled “Debug Mode”Enable debug mode for detailed logging:
debug: enabled: true console: true file: true📈 Performance
Section titled “📈 Performance”Optimization Tips
Section titled “Optimization Tips”- Async Operations - All kicks are async
- Minimal Queries - Single database query per kick
- Caching - Player data cached to reduce lookups
- Batch Notifications - Efficient notification system
Monitoring
Section titled “Monitoring”- Track kick frequency
- Monitor staff activity
- Review common kick reasons
- Analyze kick patterns
Need help with the Kick Module? Join our Discord: https://discord.gg/2qCMn6KHj4