CloudLogs - Comprehensive Minecraft Logging Plugin
Overview
CloudLogs is a powerful and flexible logging plugin for Minecraft servers that records and manages various player and server activities. It provides server administrators with detailed information about block changes, player interactions, and server events, enabling effective monitoring, rollback capabilities, and server management.
Features
- Comprehensive Activity Logging: Track block placements, block breaks, container interactions, explosions, fire spread, and liquid flow
- SQLite Database: Efficient and reliable data storage with optimized performance
- Rollback System: Revert unwanted changes by players or natural events
- Inspection Tools: Investigate block history and player actions
- Performance Optimization: Configurable caching and data compression
- Customizable Messages: Fully customizable messages for all plugin interactions
Installation
- Download the CloudLogs.jar file
- Place it in your server's plugins folder
- Restart your server
- The plugin will generate default configuration files
Configuration
Main Configuration (config.yml)
Code (YAML):
CloudLogs Configuration
Database settings
database
:
Database type
: sqlite
(default
) or mysql
type
: sqlite
SQLite configuration
sqlite
:
# Path to the SQLite database file (relative to plugin folder) file: "database.db"
MySQL configuration
(if you switch to MySQL
)
mysql
: host
:
"localhost" port
: 3306 database
:
"cloudlogs" username
:
"root" password
:
"password" useSSL
: false
Logging settings
logging
:
Enable/disable specific logging features
blocks
: true
# Log block placements and breaks containers: true # Log container interactions (chests, furnaces, etc.) explosions: true # Log explosions (TNT, creepers, etc.) fire: true # Log fire spread liquids: true # Log liquid flow (water, lava)
Log purge settings
purge
: enabled
: true
# Automatically purge old logs days: 30 # Keep logs for this many days
Tools settings
tools
:
Inspection tool item
(used to check block history
)
inspector
: enabled
: true item
:
"STICK" name
:
"&bInspector Tool" lore
: -
"&7Left-click to check block history" -
"&7Right-click to toggle inspection mode"
Rollback settings
rollback
: max-blocks
: 10000
# Maximum blocks per rollback operation max-radius: 50 # Maximum radius for area rollbacks max-time: 30 # Maximum days to look back for rollbacks
Performance settings
performance
:
Cache settings
cache
: enabled
: true max-size
: 1000
# Maximum number of cached entries expiry: 300 # Cache expiry time in seconds
Data compression
compression
: enabled
: true
# Compress data to reduce storage size
Async operations
async
: enabled
: true
# Run operations asynchronously when possible threads: 2 # Number of threads for async operations
Debug settings
debug
: enabled
: false
# Enable debug logging verbose: false # Enable verbose debug logging
Messages Configuration (messages.yml)
The
messages.yml file contains all customizable messages displayed by the plugin. You can modify these messages to match your server's style or translate them to different languages.
Commands
General Commands
- /cloudlogs or /cl - Main plugin command
- /cl help - Display help information
- /cl reload - Reload the plugin configuration
- /cl version - Display plugin version information
Logging Commands
- /cl logs - Access the logging system
- /cl logs player [time] - View logs for a specific player
- /cl logs area [time] - View logs in the surrounding area
- /cl logs block - View logs for the targeted block
Rollback Commands
- /cl rollback player [time] [reason] - Rollback a player's actions
- /cl rollback area [time] [reason] - Rollback changes in an area
- /cl restore - Restore a previous rollback
Inspection Commands
- /cl inspect - Toggle inspection mode
- /cl inspect player - Inspect a player's recent actions
- /cl inspect area - Inspect recent actions in an area
Performance Commands
- /cl performance - View performance statistics
- /cl cache clear - Clear the plugin's cache
- /cl purge [days] - Manually purge old logs
Permissions
General Permissions
- cloudlogs.use - Access to basic plugin commands
- cloudlogs.reload - Permission to reload the plugin
- cloudlogs.admin - Full administrative access
Logging Permissions
- cloudlogs.logs.view - View logs
- cloudlogs.logs.player - View player logs
- cloudlogs.logs.area - View area logs
Rollback Permissions
- [] cloudlogs.rollback.player - Rollback player actions [] cloudlogs.rollback.area - Rollback area changes
- cloudlogs.restore - Restore rollbacks
Inspection Permissions
- cloudlogs.inspect - Use inspection tools
- cloudlogs.inspect.player - Inspect player actions
- cloudlogs.inspect.area - Inspect area actions
Performance Permissions
- cloudlogs.performance - View performance statistics
- cloudlogs.cache - Manage cache
- cloudlogs.purge - Purge old logs
Database Management
CloudLogs now uses SQLite as its default database system, which offers several advantages:
- No External Dependencies: SQLite is embedded within the plugin, requiring no external database setup
- Performance: Optimized for read/write operations with proper indexing
- Reliability: Transaction-based operations prevent data corruption
- Portability: The database is stored as a single file in the plugin directory
Database Tables
- logs: Stores main action logs (block changes, player actions)
- container_logs: Stores container interaction logs (items taken/placed)
- rollbacks: Stores information about rollback operations
- server_logs: Stores server-related logs for analysis
Switching to MySQL
If you need to handle larger servers with high activity, you can switch to MySQL by changing the
database.type setting in the configuration file and providing valid MySQL connection details.
Performance Optimization
CloudLogs includes several features to optimize performance:
- Caching System: Frequently accessed data is cached to reduce database queries
- Asynchronous Operations: Most database operations run asynchronously to prevent server lag
- Data Compression: Log data can be compressed to reduce storage requirements
- Configurable Purging: Automatically remove old logs to keep the database size manageable
Troubleshooting
Common Issues
- Plugin doesn't load
- Check server console for error messages
- Verify that your server version is compatible
- Ensure you have the required dependencies
- Check that the database configuration is correct
- Verify that the database file is not corrupted
- Ensure the plugin has write permissions to the database file
- Adjust cache settings to optimize memory usage
- Enable asynchronous operations
- Consider switching to MySQL for very large servers
- Reduce the log retention period
Getting Support
If you encounter issues not covered in this documentation:
- Check the plugin's GitHub repository for known issues
- Join the support Discord server
- Create a detailed bug report with server logs and configuration files
Best Practices
- Regular Maintenance
- Periodically purge old logs to maintain performance
- Monitor database size and adjust purge settings as needed
- Carefully assign permissions to staff members
- Use permission groups to manage access levels
- Regularly backup the database file
- Consider using a backup plugin that includes the CloudLogs database
- Adjust cache settings based on server activity
- Monitor performance statistics to identify bottlenecks
Conclusion
CloudLogs provides a comprehensive solution for tracking and managing server activity. With its powerful logging, rollback capabilities, and performance optimizations, it's an essential tool for server administrators who want to maintain control and security on their Minecraft servers.
The migration to SQLite as the default database system offers improved reliability and performance without requiring external database setup, making CloudLogs easier to use while providing robust data management capabilities.