Shulkr
A companion plugin for Shulkr/Mclo.gs that enables seamless log management and uploading directly from your Minecraft server.
Shulkr
Shulkr Companion
A companion plugin for Shulkr that enables seamless log management and uploading directly from your Minecraft server. This plugin integrates with Shulkr's secure log hosting service to help server administrators easily share and analyze their server logs. It's also compatible with mclo.gs!
Features
- 🚀 Quick Log Upload - Upload logs directly from in-game or console - Instant shareable links - Supports multiple log files - Automatic error detection and analysis
- 📂 In-Game Log Management - Browse available log files through GUI - Interactive menu interface - Quick access to recent logs - Direct upload functionality
- 🔄 Service Compatibility - Works with Service Compatibility - Compatible with %%MD1%% - Easy service switching via config
- 🎮 User-Friendly Commands - Simple command structure - Tab completion support - Intuitive GUI interface - Click-to-copy links
Requirements
- Java 14 or higher - Minecraft Server 1.16+ - Paper, Purpur, or compatible fork
Installation
1. Download the latest release from the releases page 2. Place the `.jar` file in your server's `plugins` folder 3. Restart your server 4. (Optional) Configure the instance URL in the config file
Commands
| Command | Permission | Description | |---------|------------|-------------| | `/logs` | `shulkr.upload` | Upload latest.log to configured service | | `/logs list` | `shulkr.upload` | Open the log management GUI | | `/logs upload [file]` | `shulkr.upload` | Upload a specific log file |
Permissions
- `shulkr.upload` - Allows users to upload and manage logs - `shulkr.*` - Grants all plugin permissions
Configuration
Default `config.yml`: ```yaml
The URL of the log hosting service
Use https://shulkr.notri1.fr/api for Shulkr
Use https://api.mclo.gs for mclo.gs
instance-url: https://shulkr.notri1.fr/api ```
Usage Examples
1. Quick Upload ```bash /logs ``` Uploads the latest log file and provides a shareable link.
2. Specific File Upload ```bash /logs upload crash-2024-01-01-1.log ``` Uploads a specific log file from the logs directory.
3. Browse Logs ```bash /logs list ``` Opens an interactive GUI to browse and manage log files.
Service Configuration
Using with Shulkr
The default configuration uses Shulkr. No changes needed!
Using with mclo.gs
To use mclo.gs instead of Shulkr: 1. Open `config.yml` 2. Change the `instance-url` to `https://api.mclo.gs` 3. Reload the plugin or restart your server
Building from Source
1. Clone the repository: ```bash git clone https://github.com/Paylicier/ShulkrCompanion.git cd ShulkrCompanion ```
2. Build using Gradle: ```bash ./gradlew shadowJar ```
The compiled jar will be in the `build/libs` directory.
Contributing
We welcome contributions! Please feel free to: - Report bugs - Suggest features - Submit pull requests - Improve documentation
1. Fork the repository 2. Create your feature branch: `git checkout -b feature/AmazingFeature` 3. Commit your changes: `git commit -m 'Add AmazingFeature'` 4. Push to the branch: `git push origin feature/AmazingFeature` 5. Open a Pull Request
Support
- For bug reports and feature requests, use GitHub Issues
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Compatible with mclo.gs - Built for integration with Shulkr - Community contributions and feedback
--- Made with ❤️ by Paylicier