Welcome to the ElasticBuffer Velocity documentation! This directory contains comprehensive guides for developers who want to integrate their plugins with ElasticBuffer to send logs to Elasticsearch.
Start here! A 5-minute guide to get your plugin sending logs to Elasticsearch.
- Quick integration steps
- Common use cases with examples
- Basic configuration
- Troubleshooting tips
Complete reference for developers integrating with ElasticBuffer.
- Detailed API reference
- All configuration options
- Core components documentation
- Integration examples
- Elasticsearch setup guide
- Troubleshooting guide
ElasticBuffer Velocity is a Minecraft Velocity proxy plugin that:
- Buffers logs from multiple sources (console, SLF4J, JUL)
- Batches logs for efficient network usage
- Sends logs to Elasticsearch for centralized logging
- Backs up logs locally if Elasticsearch is unavailable
- Provides an API for other plugins to report custom logs
logBuffer.add(
"Player completed quest", // message
"INFO", // level
"QuestPlugin", // plugin name
System.currentTimeMillis(), // timestamp
"QUEST-001", // transaction ID
"Steve", // player name
"069a79f4-44e9-4726-a5be-fca90e38aaf5", // player UUID
100.0 // reward amount
);docs/
βββ README.md # This file - documentation index
βββ QUICK_START.md # 5-minute integration guide
βββ API.md # Complete API reference
ElasticBuffer automatically captures:
- β Console output (System.out, System.err)
- β SLF4J logs
- β Java Util Logging (JUL)
- β Velocity plugin logs
Your plugin can also submit custom structured logs:
- Player events (join, leave, actions)
- Transaction logs
- Performance metrics
- Error reports
- Custom business events
- Configurable buffer size
- Multiple log levels
- SSL/TLS support
- API key authentication
- Automatic retry and backup
- Simple method calls
- Type-safe parameters
- Optional fields with sensible defaults
- Manual flush capability
For New Users:
- Start with QUICK_START.md
- Copy one of the examples
- Test with a simple log message
- Gradually add more context (player info, metrics)
For Advanced Integration:
- Read the complete API.md
- Review all integration examples
- Set up proper Elasticsearch mappings
- Configure SSL/TLS for production
- Implement custom transaction tracking
// Player achievements, quests, milestones
logBuffer.add("Quest completed: Dragon Slayer", "INFO", "QuestPlugin",
System.currentTimeMillis(), "QUEST-" + questId,
playerName, uuid, questReward);// Track all financial transactions
logBuffer.add("Purchase: Diamond Sword", "INFO", "EconomyPlugin",
System.currentTimeMillis(), transactionId,
playerName, uuid, purchaseAmount);// Track server performance metrics
logBuffer.add("Server TPS: " + tps, "WARNING", "Monitor",
System.currentTimeMillis(), "PERF-TPS",
"N/A", "N/A", tps);// Log security-related events
logBuffer.add("Failed login attempt", "WARNING", "Security",
System.currentTimeMillis(), "SEC-" + attemptId,
attemptedUsername, "N/A", attemptCount);// Centralized error logging
logBuffer.add("Database connection failed: " + error, "ERROR", "Database",
System.currentTimeMillis(), "ERR-" + errorId,
"N/A", "N/A", 0.0);- β‘ 5-minute integration guide
- π Code examples for common scenarios
- βοΈ Basic configuration
- π― Minimal code to get started
- π Complete API reference
- π§ All configuration options explained
- ποΈ Architecture and components
- πΌ Advanced integration patterns
- π Elasticsearch setup instructions
- π Comprehensive troubleshooting
- Minecraft Velocity 3.4.0 or higher
- Java 17 or higher
- Elasticsearch 7.x or 8.x
- Network connectivity to Elasticsearch
Logs are sent to Elasticsearch in the following format:
{
"timestamp": "1706918400000",
"plugin": "YourPlugin",
"transactionID": "TXN-12345",
"level": "INFO",
"message": "Your log message",
"playerName": "PlayerName",
"uuid": "player-uuid",
"serverName": "YourServer",
"keyValue": "123.45"
}This structure allows for:
- Time-series analysis
- Player behavior tracking
- Performance monitoring
- Transaction tracing
- Error rate monitoring
- Issues: Report bugs or request features on GitHub
- Discussions: Ask questions in GitHub Discussions
- Contributing: Pull requests welcome!
ElasticBuffer Velocity is part of the BetterBox project.
- Elasticsearch Documentation
- Velocity Plugin Development
- Kibana for Log Visualization
- SLF4J Documentation
Ready to get started? Head over to QUICK_START.md!
Need detailed info? Check out API.md!
Version: 1.0-SNAPSHOT
Last Updated: 2026-02-03