Configuration Guide
Configuration Guide
Section titled โConfiguration GuideโThis guide explains how to configure Zenith-Mod and its modules.
๐ Configuration Files
Section titled โ๐ Configuration FilesโZenith-Mod uses a modular configuration system with separate files for each module:
plugins/Zenith-Mod/โโโ config.yml # Main configurationโโโ messages.yml # All messages and translationsโโโ modules/ โโโ ban.yml # Ban module configuration โโโ mutes.yml # Mute module configuration โโโ warn.yml # Warn module configuration โโโ freeze.yml # Freeze module configuration โโโ essentials.yml # Essentials module configuration โโโ notes.yml # Notes module configuration โโโ web-api.yml # Web API configurationโ๏ธ Main Configuration
Section titled โโ๏ธ Main Configurationโconfig.yml
Section titled โconfig.ymlโ# Zenith-Mod Configuration# Version: 1.1.4
# Debug settingsdebug: enabled: true console: true file: true
# Console settingsconsole: name: "Console"
# Database configurationdatabase: type: "sqlite" # or "h2" file: "zenith" # Database filename (without extension)
# H2 Database Security Settings (only for H2) h2_password: "zenith123" h2_user: "zenith"
table_prefix: "zn_" suppress_hikari_logs: true# Zenith-Mod Configuration# Version: 1.1.4
# Debug settingsdebug: enabled: true console: true file: true
# Console settingsconsole: name: "Console"
# Database configurationdatabase: type: "mysql" # or "mariadb" host: "localhost" port: 3306 database: "zenith" username: "zenith" password: "password" ssl: false table_prefix: "zn_" suppress_hikari_logs: true๐ Logging Configuration
Section titled โ๐ Logging Configurationโconfig.yml - Logging Settings
Section titled โconfig.yml - Logging Settingsโ# Logging settings for different log levelslogging: # Console output settings for each log level console: debug: true # Show DEBUG messages in console info: true # Show INFO messages in console (always enabled) warning: true # Show WARNING messages in console (always enabled) error: true # Show ERROR messages in console (always enabled) critical: true # Show CRITICAL messages in console (always enabled) database: true # Show DATABASE messages in console command: true # Show COMMAND messages in console config: false # Show CONFIG messages in console (default: false) reload: true # Show RELOAD messages in console
# File output settings for each log level file: debug: true # Write DEBUG messages to file info: true # Write INFO messages to file warning: true # Write WARNING messages to file error: true # Write ERROR messages to file critical: true # Write CRITICAL messages to file database: true # Write DATABASE messages to file command: true # Write COMMAND messages to file config: true # Write CONFIG messages to file reload: true # Write RELOAD messages to file๐จ๏ธ Messages Configuration
Section titled โ๐จ๏ธ Messages Configurationโmessages.yml
Section titled โmessages.ymlโ# Zenith-Mod Messages Configuration# All messages support color codes and placeholders
# Global Messagesprefix: "�FFAA[Zenith-Mod] "no-permission: "{prefix}&cYou don't have permission to use this command!"player-not-found: "{prefix}&cPlayer not found!"invalid-arguments: "{prefix}&cInvalid arguments!"command-disabled: "{prefix}&cThis command is disabled!"
# Ban Messagesban: success: "{prefix}&aPlayer {player} has been banned for {duration}!" success-permanent: "{prefix}&aPlayer {player} has been permanently banned!" success-template: "{prefix}&aPlayer {player} has been banned using template {template}!" already-banned: "{prefix}&cPlayer {player} is already banned!" not-banned: "{prefix}&cPlayer {player} is not banned!" unban-success: "{prefix}&aPlayer {player} has been unbanned!" ip-ban-success: "{prefix}&aPlayer {player} and their IP have been banned!"
# Mute Messagesmute: success: "{prefix}&aPlayer {player} has been muted for {duration}!" success-permanent: "{prefix}&aPlayer {player} has been permanently muted!" success-template: "{prefix}&aPlayer {player} has been muted using template {template}!" already-muted: "{prefix}&cPlayer {player} is already muted!" not-muted: "{prefix}&cPlayer {player} is not muted!" unmute-success: "{prefix}&aPlayer {player} has been unmuted!" chat-blocked: "{prefix}&cYou are muted! Reason: {reason} | Expires: {expires}"
# Warn Messageswarn: success: "{prefix}&aPlayer {player} has been warned!" success-template: "{prefix}&aPlayer {player} has been warned using template {template}!" escalation: "{prefix}&cPlayer {player} has reached {count} warnings! Escalating to {action}!"
# Freeze Messagesfreeze: success: "{prefix}&aPlayer {player} has been frozen!" unfreeze-success: "{prefix}&aPlayer {player} has been unfrozen!" frozen-message: "{prefix}&cYou are frozen! Reason: {reason}"
# Essentials Messagesessentials: god-enabled: "{prefix}&aGod mode enabled!" god-disabled: "{prefix}&cGod mode disabled!" fly-enabled: "{prefix}&aFly mode enabled!" fly-disabled: "{prefix}&cFly mode disabled!" healed: "{prefix}&aYou have been healed!" fed: "{prefix}&aYou have been fed!" cleared: "{prefix}&aYour inventory has been cleared!"
# Notes Messagesnotes: added: "{prefix}&aNote added to {player}!" not-found: "{prefix}&cNo notes found for {player}!" cleared: "{prefix}&aNotes cleared for {player}!"
# Error Messageserrors: database-connection: "{prefix}&cDatabase connection failed!" invalid-duration: "{prefix}&cInvalid duration format!" template-not-found: "{prefix}&cTemplate not found!" case-not-found: "{prefix}&cCase not found!" appeal-not-found: "{prefix}&cAppeal not found!"๐ง Module Configurations
Section titled โ๐ง Module ConfigurationsโBan Module (modules/ban.yml)
Section titled โBan Module (modules/ban.yml)โ# Ban Module Configurationenabled: true
# Ban Settingssettings: auto-unban: true ip-ban-support: true case-id-prefix: "BAN" max-duration: "365d" default-duration: "7d"
# Templatestemplates: cheating: duration: "30d" reason: "Cheating detected" escalation: - duration: "7d" reason: "First offense - Cheating" - duration: "30d" reason: "Second offense - Cheating" - duration: "permanent" reason: "Third offense - Cheating"
griefing: duration: "14d" reason: "Griefing" escalation: - duration: "3d" reason: "First offense - Griefing" - duration: "14d" reason: "Second offense - Griefing" - duration: "permanent" reason: "Third offense - Griefing"
spam: duration: "1d" reason: "Spam" escalation: - duration: "1h" reason: "First offense - Spam" - duration: "1d" reason: "Second offense - Spam" - duration: "7d" reason: "Third offense - Spam"
# Messagesmessages: staff: usage_ban: "&#FF5555Usage: /ban <player> <duration> <reason> OR /ban <player> <template> [reason]" usage_unban: "&#FF5555Usage: /unban <player> [reason]" usage_ipban: "&#FF5555Usage: /ipban <player> <duration> <reason>"
player: banned: "&#FF5555You have been banned! Reason: {reason} | Expires: {expires}" banned_permanent: "&#FF5555You have been permanently banned! Reason: {reason}" unbanned: "&#FF5555You have been unbanned! Reason: {reason}"Mute Module (modules/mutes.yml)
Section titled โMute Module (modules/mutes.yml)โ# Mute Module Configurationenabled: true
# Mute Settingssettings: auto-unmute: true chat-blocking: true command-blocking: true case-id-prefix: "MUTE" max-duration: "365d" default-duration: "1h"
# Templatestemplates: spam: duration: "1h" reason: "Chat spam" escalation: - duration: "15m" reason: "First offense - Spam" - duration: "1h" reason: "Second offense - Spam" - duration: "1d" reason: "Third offense - Spam"
harassment: duration: "2h" reason: "Harassment" escalation: - duration: "30m" reason: "First offense - Harassment" - duration: "2h" reason: "Second offense - Harassment" - duration: "1d" reason: "Third offense - Harassment"
# Messagesmessages: staff: usage_mute: "&#FF5555Usage: /mute <player> <duration> <reason> OR /mute <player> <template> [reason]" usage_unmute: "&#FF5555Usage: /unmute <player> [reason]"
player: muted: "&#FF5555You have been muted! Reason: {reason} | Expires: {expires}" muted_permanent: "&#FF5555You have been permanently muted! Reason: {reason}" unmuted: "&#FF5555You have been unmuted! Reason: {reason}" chat_blocked: "&#FF5555You are muted! Reason: {reason} | Expires: {expires}"Web API Module (modules/web-api.yml)
Section titled โWeb API Module (modules/web-api.yml)โ# Web API Module Configurationenabled: true
# API Settingssettings: port: 8080 host: "0.0.0.0" rate-limit: 100 rate-limit-window: 60 cors-enabled: true cors-origins: - "http://localhost:3000" - "https://yourdomain.com"
# Authenticationauth: token-length: 32 token-expiry: 30d require-permission: "zenith.api.access"
# Endpointsendpoints: player-info: true player-history: true case-lookup: true ip-analysis: true alt-detection: true moderation-actions: true statistics: true appeals: true
# Rate Limitingrate-limiting: enabled: true requests-per-minute: 100 burst-limit: 20 whitelist: - "127.0.0.1" - "::1"
# Logginglogging: enabled: true log-requests: true log-responses: false log-errors: true๐จ Color Codes
Section titled โ๐จ Color CodesโZenith-Mod supports both traditional Minecraft color codes and hex colors:
Traditional Color Codes
Section titled โTraditional Color Codesโ&0- Black&1- Dark Blue&2- Dark Green&3- Dark Aqua&4- Dark Red&5- Dark Purple&6- Gold&7- Gray&8- Dark Gray&9- Blue&a- Green&b- Aqua&c- Red&d- Light Purple&e- Yellow&f- White
Hex Color Codes
Section titled โHex Color Codesโ&#FF0000- Red�FF00- Green�FF- Blue&#FFFF00- Yellow&#FF00FF- Magenta�FFFF- Cyan&#FFFFFF- White�- Black
Formatting Codes
Section titled โFormatting Codesโ&l- Bold&m- Strikethrough&n- Underline&o- Italic&k- Obfuscated&r- Reset
๐ญ Vanish Module Configuration
Section titled โ๐ญ Vanish Module Configurationโmodules/vanish.yml
Section titled โmodules/vanish.ymlโ# Vanish Module Configurationenabled: true
# Vanish settingsvanish: # Custom messages for vanish actions messages: enabled: "{prefix}�FF00You are now vanished!" disabled: "{prefix}&#FF0000You are no longer vanished!" already_vanished: "{prefix}&#FFAA00You are already vanished!" not_vanished: "{prefix}&#FFAA00You are not vanished!" join_vanished: "{prefix}&#FFAA00You joined while vanished!"
# Disconnect/Connect messages for vanished players disconnect_message: "&#FFAA00{player} left the game" connect_message: "&#FFAA00{player} joined the game"
# ActionBar settings actionbar: enabled: true vanished_message: "{prefix}�FF00%smcaps%VANISH: ON%smreset%" not_vanished_message: "{prefix}&#FF0000%smcaps%VANISH: OFF%smreset%" not_vanished_duration: 60
# Vanish effects effects: hide_from_tab: true hide_from_list: true make_invisible: true hide_name_tag: true prevent_item_pickup: true prevent_block_interaction: true prevent_block_breaking: true auto_god_mode: true prevent_damage: true prevent_mob_targeting: true prevent_dealing_damage: true allow_flying: true flying_speed: 0.1๐ Client Detection Module Configuration
Section titled โ๐ Client Detection Module Configurationโmodules/client-detector.yml
Section titled โmodules/client-detector.ymlโ# Client Detector Module Configurationenabled: true
# Notification settingsnotifications: enabled: true message_format: "{prefix}&#FFFFFF{player} F7F7Fjoined using &#FFFF00{client}"
# Hover event settings hover: enabled: true text: - "&#FFAA00Player Information" - "&#FFFFFFName: &#FFFF00{player} &#FFFFFF| &#FFFF00{uuid}" - "&#FFFFFFIP: &#FFFF00{ip} &#FFFFFF| Ping: &#FFFF00{ping}ms" - "&#FFFFFFClient: &#FFFF00{client} &#FFFFFF| Version: &#FFFF00{version}" - "&#FFFFFFWorld: &#FFFF00{world} &#FFFFFF| Mode: &#FFFF00{gamemode}" - "&#FFFFFFHealth: &#FFFF00{health}/20 &#FFFFFF| Food: &#FFFF00{food}/20" - "&#FFFFFFLocation: &#FFFF00{x}, {y}, {z}"๐ History Module Configuration
Section titled โ๐ History Module Configurationโmodules/history.yml
Section titled โmodules/history.ymlโ# History Module Configurationenabled: true
# History settingshistory: entries_per_page: 8
# Messages messages: header: "{prefix}&#FFAA00History for &#FFFF00{player} &#FFAA00(Page {current_page}/{total_pages})" footer: "{prefix}F7F7FUse &#FFFF00/history {player} <page> F7F7Fto view other pages"
# Spacing settings spacing: # Add empty line above header above_header: true # Add empty line below footer below_footer: true
# Navigation messages (clickable) navigation: previous_page: "&#FFAA00[โ Previous]" next_page: "&#FFAA00[Next โ]" page_separator: "F7F7F | " no_previous: "򇨣[โ Previous]" no_next: "򇨣[Next โ]"
# Entry format configuration entry_format: message: "&#FFAA00[{case_id}] &#FFFFFF{type} F7F7F- {reason}"
# Hover text hover: enabled: true text: - "&#FFAA00Case #{case_id}" - "&#FFFFFFType: &#FFFF00{type}" - "&#FFFFFFReason: &#FFFF00{reason}" - "&#FFFFFFStaff: &#FFFF00{staff}" - "&#FFFFFFDate: &#FFFF00{date}" - "&#FFFFFFDuration: &#FFFF00{duration}" - "&#FFFFFFStatus: &#FFFF00{active}" - "&#FFFFFFIP: &#FFFF00{ip}"
# Separator lines between entries separators: enabled: true lines: - "" # Empty line between entries - "򇨣โโโโโโโโโโโโโโโโโโโโโโโโโ" # Separator line - "" # Another empty line
# Date formatting date: format: "dd.MM.yyyy HH:mm:ss" timezone: "Europe/Berlin"๐ Check Module Configuration
Section titled โ๐ Check Module Configurationโmodules/check.yml
Section titled โmodules/check.ymlโ# Check Module Configurationenabled: true
# Check settingscheck: # Main message format messages: header: "{prefix}&#FFAA00Alt Check for &#FFFF00{player}" footer: "{prefix}F7F7FClick on usernames for more information" no_alts: "{prefix}&#FFAA00No alt accounts found for &#FFFF00{player}" player_not_found: "{prefix}&#FF0000Player &#FFFF00{player} &#FF0000not found!" no_permission: "{prefix}&#FF0000You don't have permission to use this command!" error: "{prefix}&#FF0000An error occurred while checking alt accounts!"
# Player information display player_info: enabled: true format: - "&#FFAA00Player Status:" - "&#FFFFFFBanned: &#FFFF00{banned}" - "&#FFFFFFMuted: &#FFFF00{muted}" - "&#FFFFFFTotal Warns: &#FFFF00{total_warns}" - "&#FFFFFFTotal History Entries: &#FFFF00{total_history}" position: "top"
# Alt account display settings alt_display: format: "{status_color}{username}F7F7F ({status_text})" status_colors: online: "�FF00" # Green muted: "&#FFAA00" # Orange banned: "&#FF0000" # Red offline: "F7F7F" # Gray separator: "F7F7F, " max_display: 10
# Hover information hover: enabled: true text: - "&#FFAA00Player Information" - "&#FFFFFFName: &#FFFF00{username}" - "&#FFFFFFUUID: &#FFFF00{uuid}" - "&#FFFFFFIP: &#FFFF00{ip}" - "&#FFFFFFStatus: &#FFFF00{status}" - "&#FFFFFFLast Seen: &#FFFF00{last_seen}" - "&#FFFFFFShared IPs: &#FFFF00{shared_ips}" - "" - "&#FFAA00Actions" - "&#FFFFFFClick for History: &#FFFF00/history {username}" - "&#FFFFFFClick for Notes: &#FFFF00/notes {username}"
# Legend and accuracy legend: enabled: true format: "F7F7FLegend: {online_color}Online F7F7F| {muted_color}Muted F7F7F| {banned_color}Banned F7F7F| {offline_color}Offline" position: "bottom"
accuracy: enabled: true format: "F7F7FAccuracy: &#FFFF00{accuracy}% F7F7F({method})" position: "top" display_accuracy: 95 detection_method: "IP Analysis"
# Spacing settings spacing: above_header: true below_footer: true between_legend_alts: true between_alts_accuracy: true๐ Hot Reload
Section titled โ๐ Hot ReloadโZenith-Mod supports hot reloading of configuration files without server restart:
/zenith reloadThis command reloads:
- All configuration files
- All message files
- All module configurations
- Template configurations
- Database connections
๐ Performance Tuning
Section titled โ๐ Performance TuningโDatabase Optimization
Section titled โDatabase OptimizationโFor high-traffic servers, consider these database optimizations:
database: # Use MySQL/MariaDB for better performance on high-traffic servers type: "mysql" # or "mariadb"
# Optimize connection settings suppress_hikari_logs: true # Reduces log spam
# For MySQL/MariaDB, ensure your database server has: # - Adequate connection pool size # - Proper indexing on frequently queried tables # - Regular maintenance and optimizationDebug Optimization
Section titled โDebug OptimizationโFor production servers, disable debug logging:
debug: enabled: false # Disable debug logging for better performance console: false # Don't log debug to console file: false # Don't log debug to filesConsole Optimization
Section titled โConsole Optimizationโconsole: # Use a shorter name to reduce log file size name: "SYS" # Instead of "Console"๐ ๏ธ Troubleshooting
Section titled โ๐ ๏ธ TroubleshootingโCommon Issues
Section titled โCommon Issuesโ-
Database Connection Failed
- Check database credentials
- Ensure database server is running
- Verify network connectivity
-
Permission Denied
- Check permission plugin configuration
- Verify user has correct permissions
- Check console for permission errors
-
Template Not Found
- Verify template exists in configuration
- Check template name spelling
- Ensure module is enabled
-
API Not Working
- Check if Web API module is enabled
- Verify port is not in use
- Check firewall settings
Debug Mode
Section titled โDebug ModeโEnable debug mode for detailed logging:
debug: enabled: true console: true # Show debug messages in console file: true # Write debug messages to log filesNeed help with configuration? Join our Discord: https://discord.gg/2qCMn6KHj4