CocoLogger
A plugin designed for the Cocoworld server, logging all blocs/signs actions into a database.
CocoLogger
CocoLogger
French
Scroll down for english version
CocoLogger est un plugin de logging avancé pour serveurs Minecraft Spigot/Paper 1.21.4. Il permet de tracer toutes les actions des joueurs sur le serveur avec une interface web moderne pour consulter et analyser les données.
Présentation
Ce plugin a été développé pour répondre aux besoins de surveillance et d'investigation sur les serveurs Minecraft. Il enregistre automatiquement toutes les actions importantes des joueurs et fournit une interface web intuitive pour consulter ces informations.
Principales fonctionnalités
Système de logging complet - Enregistrement des blocs placés et détruits avec coordonnées exactes - Suivi des interactions avec les items (utilisation, clics) - Logging des panneaux avec contenu complet (écriture et modifications) - Horodatage précis de toutes les actions - Identification des joueurs par nom et UUID
Interface web moderne - Dashboard avec statistiques en temps réel - Système d'authentification sécurisé par JWT - Filtres avancés par joueur, type d'action, période - Recherche libre dans les logs - Affichage des textures des items et têtes de joueurs - Design responsive adapté mobile et desktop - Pagination intelligente pour les gros volumes de données
Base de données flexible - Base H2 intégrée par défaut (aucune configuration requise) - Support MySQL optionnel avec basculement automatique - Optimisations de performance avec traitement par lots - Sauvegarde automatique configurable
Installation
Prérequis
- Serveur Spigot ou Paper version 1.21.4 - Java 17 ou supérieur
Étapes d'installation
1. Téléchargez le fichier `CocoLogger.jar` depuis le dossier `target/` 2. Placez le fichier dans le dossier `plugins/` de votre serveur 3. Démarrez ou redémarrez votre serveur 4. Le plugin créera automatiquement sa configuration dans `plugins/CocoLogger/`
Au premier démarrage, CocoLogger génère automatiquement : - Le fichier de configuration `config.yml` - La base de données H2 locale - Les dossiers nécessaires au fonctionnement
Configuration
Configuration de base
Le fichier `config.yml` contient toutes les options de configuration :
```yaml
Configuration de la base de données
database: type: "H2" # H2 ou MYSQL h2: file: "plugins/CocoLogger/database.db" mysql: host: "localhost" port: 3306 database: "cocologger" username: "root" password: "password" useSSL: false
Interface web
web: port: 8767 auth: username: "admin" password: "ChangeMoi123!" jwt_secret: "CocoLogger_Secret_Key_Change_Me_In_Production" jwt_expiry_hours: 24 ```
Configuration du logging
Vous pouvez activer ou désactiver chaque type de logging :
```yaml logging: blocks: enabled: true place: true # Blocs placés break: true # Blocs détruits items: enabled: true use: true # Utilisation d'items interact: true # Interactions left_click: false right_click: false signs: enabled: true write: true # Écriture sur panneaux edit: true # Modification de panneaux ```
Optimisation des performances
```yaml performance: batch_size: 100 # Taille des lots pour l'insertion save_interval: 30 # Intervalle de sauvegarde (secondes) max_memory_entries: 1000 # Entrées max en mémoire ```
Utilisation
Commandes disponibles
Toutes les commandes nécessitent la permission `cocologger.admin` :
- `/cocologger reload` - Recharge la configuration - `/cocologger status` - Affiche le statut du plugin - `/cocologger web` - Informations sur l'interface web - `/clog` ou `/cl` - Alias pour les commandes
Permissions
| Permission | Description | Par défaut | |------------|-------------|------------| | `cocologger.admin` | Accès aux commandes administrateur | Opérateurs | | `cocologger.exempt` | Exemption du logging | Aucun |
Interface web
L'interface web est accessible à l'adresse `http://ipduserveur:8767`
Connexion par défaut : - Nom d'utilisateur : `admin` - Mot de passe : `ChangeMoi123!`
Fonctionnalités de l'interface : - Vue d'ensemble avec statistiques globales - Filtrage par joueur, type d'action, période - Recherche textuelle dans tous les champs - Affichage des coordonnées et mondes - Navigation par pages pour les gros volumes
Base de données
Mode H2 (par défaut)
Le mode H2 ne nécessite aucune configuration. La base de données est créée automatiquement dans le dossier du plugin. Ce mode convient parfaitement pour la plupart des serveurs.
Mode MySQL
Pour utiliser MySQL, modifiez la configuration :
```yaml database: type: "MYSQL" mysql: host: "votre-serveur-mysql" port: 3306 database: "cocologger" username: "votre-utilisateur" password: "votre-mot-de-passe" ```
Le plugin créera automatiquement les tables nécessaires. En cas d'échec de connexion MySQL, il basculera automatiquement vers H2.
Dépannage
Le plugin ne démarre pas
1. Vérifiez que vous utilisez Java 17 ou supérieur 2. Assurez-vous d'avoir Spigot/Paper 1.21.4 3. Consultez les logs du serveur pour les erreurs détaillées 4. Vérifiez les permissions du dossier plugins
L'interface web n'est pas accessible
1. Vérifiez que le port configuré (8767 par défaut) n'est pas utilisé 2. Contrôlez les règles de firewall de votre serveur 3. Testez l'accès local avec `http://localhost:8767` 4. Vérifiez les logs du plugin pour les erreurs de démarrage web
Problèmes de base de données
1. En mode H2, vérifiez les permissions d'écriture dans le dossier plugins 2. En mode MySQL, testez la connexion avec les paramètres configurés 3. Le plugin bascule automatiquement vers H2 en cas d'échec MySQL 4. Consultez les logs pour les détails des erreurs de connexion
Performances
Si vous constatez des ralentissements :
1. Augmentez la valeur `batch_size` dans la configuration 2. Réduisez `save_interval` pour des sauvegardes plus fréquentes 3. Désactivez le logging des actions moins importantes (clics gauche/droit) 4. Utilisez MySQL pour de meilleures performances sur gros volumes
Sécurité
Recommandations importantes
1. Sauvegardez régulièrement le mot de passe par défaut de l'interface web 2. Sauvegardez régulièrement `jwt_secret` en production 3. Sauvegardez régulièrement au port de l'interface web via firewall 4. Sauvegardez régulièrement avec un reverse proxy pour l'accès externe 5. Sauvegardez régulièrement la base de données
Configuration sécurisée
```yaml web: auth: username: "admin" password: "MotDePasseComplexe123!" jwt_secret: "CleSecreteTresLongueEtComplexePourProduction" jwt_expiry_hours: 8 # Réduire la durée de validité ```
Historique des versions
Version 1.0.0
- Système de logging complet pour blocs, items et panneaux - Interface web avec authentification JWT - Support bases de données H2 et MySQL - Dashboard avec statistiques temps réel - API REST complète - Filtres et recherche avancés - Affichage des textures Minecraft - Configuration flexible et optimisations de performance
Support
Contactez moi sur Discord ! Je répondrais le plus rapidement possible.
---
CocoLogger par Lechat_ (@lechat_v2 sur discord pour toute demande)
English
CocoLogger is an advanced logging plugin for Minecraft Spigot/Paper 1.21.4 servers. It allows tracking all player actions on the server with a modern web interface for viewing and analyzing data.
Introduction
This plugin was developed to meet the needs of monitoring and investigation on Minecraft servers. It automatically records all important player actions and provides an intuitive web interface to view this information.
Main Features
Complete logging system - Recording of placed and broken blocks with exact coordinates - Tracking of item interactions (use, clicks) - Logging of signs with full content (writing and modifications) - Precise timestamp for all actions - Player identification by name and UUID
Modern web interface - Dashboard with real-time statistics - Secure authentication system with JWT - Advanced filters by player, action type, period - Free search in logs - Display of item textures and player heads - Responsive design for mobile and desktop - Smart pagination for large data volumes
Flexible database - Integrated H2 database by default (no configuration required) - Optional MySQL support with automatic failover - Performance optimizations with batch processing - Automatic backup configurable
Installation
Prerequisites
- Spigot or Paper server version 1.21.4 - Java 17 or higher
Installation Steps
1. Download the `CocoLogger.jar` file from the `target/` folder 2. Place the file in the `plugins/` folder of your server 3. Start or restart your server 4. The plugin will automatically create its configuration in `plugins/CocoLogger/`
On first launch, CocoLogger automatically generates: - The configuration file `config.yml` - The local H2 database - Necessary folders for operation
Configuration
Basic Configuration
The `config.yml` file contains all configuration options:
```yaml
Database configuration
database: type: "H2" # H2 or MYSQL h2: file: "plugins/CocoLogger/database.db" mysql: host: "localhost" port: 3306 database: "cocologger" username: "root" password: "password" useSSL: false
Web interface
web: port: 8767 auth: username: "admin" password: "ChangeMoi123!" jwt_secret: "CocoLogger_Secret_Key_Change_Me_In_Production" jwt_expiry_hours: 24 ```
Logging Configuration
You can enable or disable each type of logging:
```yaml logging: blocks: enabled: true place: true # Blocks placed break: true # Blocks broken items: enabled: true use: true # Item use interact: true # Interactions left_click: false right_click: false signs: enabled: true write: true # Sign writing edit: true # Sign editing ```
Performance Optimization
```yaml performance: batch_size: 100 # Batch size for insertion save_interval: 30 # Save interval (seconds) max_memory_entries: 1000 # Max entries in memory ```
Usage
Available Commands
All commands require the `cocologger.admin` permission:
- `/cocologger reload` - Reloads the configuration - `/cocologger status` - Displays the plugin status - `/cocologger web` - Web interface information - `/clog` or `/cl` - Alias for commands
Permissions
| Permission | Description | Default | |------------|-------------|---------| | `cocologger.admin` | Access to admin commands | Operators | | `cocologger.exempt` | Exemption from logging | None |
Web Interface
The web interface is accessible at `http://ipduserveur:8767`
Default login: - Username: `admin` - Password: `ChangeMoi123!`
Interface features: - Overview with global statistics - Filtering by player, action type, period - Text search in all fields - Display of coordinates and worlds - Pagination for large volumes
Database
H2 Mode (default)
The H2 mode requires no configuration. The database is created automatically in the plugin folder. This mode is perfect for most servers.
MySQL Mode
To use MySQL, modify the configuration:
```yaml database: type: "MYSQL" mysql: host: "votre-serveur-mysql" port: 3306 database: "cocologger" username: "votre-utilisateur" password: "votre-mot-de-passe" ```
The plugin will automatically create the necessary tables. In case of MySQL connection failure, it will automatically switch to H2.
Troubleshooting
The plugin does not start
1. Verify that you are using Java 17 or higher 2. Make sure you have Spigot/Paper 1.21.4 3. Check the server logs for detailed error messages 4. Verify the permissions of the plugins folder
The web interface is not accessible
1. Verify that the configured port (8767 by default) is not in use 2. Check the server's firewall rules 3. Test local access with `http://localhost:8767` 4. Check the plugin logs for startup errors
Database issues
1. In H2 mode, verify write permissions in the plugins folder 2. In MySQL mode, test the connection with the configured parameters 3. The plugin automatically switches to H2 in case of MySQL connection failure 4. Check the logs for connection error details
Performance
If you notice slowdowns:
1. Increase the `batch_size` value in the configuration 2. Reduce `save_interval` for more frequent backups 3. Disable less important logging actions (left/right clicks) 4. Use MySQL for better performance on large volumes
Security
Important Recommendations
1. Regularly backup the default password for the web interface 2. Regularly backup `jwt_secret` in production 3. Regularly backup to the web interface port via firewall 4. Regularly backup with a reverse proxy for external access 5. Regularly backup the database
Secure Configuration
```yaml web: auth: username: "admin" password: "MotDePasseComplexe123!" jwt_secret: "CleSecreteTresLongueEtComplexePourProduction" jwt_expiry_hours: 8 # Reduce validity period ```
Version History
Version 1.0.0
- Complete logging system for blocks, items, and signs - Web interface with JWT authentication - Support for H2 and MySQL databases - Dashboard with real-time statistics - Complete REST API - Advanced filtering and search - Display of Minecraft textures - Flexible configuration and performance optimizations
Support
Contact me on Discord! I will respond as quickly as possible.
---
CocoLogger by Lechat_ (@lechat_v2 on discord for any requests)