Integrations
VoxelBench integrates with popular plugins to extend its functionality. All integrations are optional - they activate automatically when the corresponding plugin is detected.
PlaceholderAPI
PlaceholderAPI provides custom placeholders that can be used in scoreboards, tab lists, holograms, and other plugins.
Available Placeholders
| Placeholder | Description |
|---|---|
%voxelbench_tps% | Current TPS |
%voxelbench_mspt% | Current MSPT |
%voxelbench_score% | Latest VoxelScore |
%voxelbench_rank% | Latest rank tier |
Spark Placeholders
When both VoxelBench and Spark are installed:
| Placeholder | Description |
|---|---|
%voxelbench_spark_available% | Whether Spark is available (true/false) |
%voxelbench_spark_tps% | Spark TPS (10 seconds) |
%voxelbench_spark_tps_1m% | Spark TPS (1 minute) |
%voxelbench_spark_tps_5m% | Spark TPS (5 minutes) |
%voxelbench_spark_tps_15m% | Spark TPS (15 minutes) |
%voxelbench_spark_mspt% | Spark MSPT mean (10 seconds) |
%voxelbench_spark_mspt_1m% | Spark MSPT mean (1 minute) |
%voxelbench_spark_mspt_95% | Spark MSPT 95th percentile |
%voxelbench_spark_mspt_median% | Spark MSPT median |
%voxelbench_spark_cpu_system% | System CPU usage |
%voxelbench_spark_cpu_process% | JVM process CPU usage |
%voxelbench_spark_gc% | GC summary |
DiscordSRV Placeholder
| Placeholder | Description |
|---|---|
%voxelbench_discordsrv_available% | Whether DiscordSRV is available (true/false) |
Dynmap
Dynmap integration adds visual layers to your live map.
Configuration
integrations:
dynmap:
enabled: true
update-interval-seconds: 30
layers:
entity-heatmap:
enabled: true
thresholds:
low: 50 # Green → Yellow
medium: 150 # Yellow → Orange
high: 300 # Orange → Red
performance-markers:
enabled: true
entity-threshold: 200
test-zones:
enabled: true
Layers
Entity Density Heatmap
Displays entity density per chunk on the map with color-coded markers:
- Green: Below
lowthreshold (normal) - Yellow: Between
lowandmedium(moderate) - Orange: Between
mediumandhigh(high) - Red: Above
highthreshold (critical)
Performance Alert Markers
Places alert markers on the map where entity density exceeds the configured threshold. Useful for identifying lag-causing areas.
Test Zone Markers
Shows active benchmark test zones on the map during test execution.
Permissions
To restrict access to Dynmap layers, edit plugins/dynmap/markers.yml and add permissions:
sets:
voxelbench.heatmap:
perm: voxelbench.dynmap.heatmap
voxelbench.performance:
perm: voxelbench.dynmap.alerts
voxelbench.testzones:
perm: voxelbench.dynmap.testzones
| Permission | Layer |
|---|---|
voxelbench.dynmap.view | Global access to all layers |
voxelbench.dynmap.heatmap | Entity density heatmap |
voxelbench.dynmap.alerts | Performance alert markers |
voxelbench.dynmap.testzones | Active test zones |
Players must be logged into Dynmap AND have the appropriate permission.
Spark
Spark integration provides advanced CPU profiling metrics accessible through PlaceholderAPI.
Configuration
integrations:
spark:
enabled: true
When Spark is installed and enabled, VoxelBench exposes Spark's metrics as PlaceholderAPI placeholders (see table above). This allows you to display Spark-quality metrics in any plugin that supports PlaceholderAPI.
DiscordSRV
DiscordSRV integration sends benchmark results and performance alerts to a Discord channel.
Configuration
integrations:
discordsrv:
enabled: true
channel-id: "" # Discord channel ID (empty = main DiscordSRV channel)
notifications:
benchmark-results: true # Send benchmark completion results
test-results: false # Send individual test results
tps-alerts: true # Send TPS drop alerts
tps-alert-threshold: 18.0 # TPS threshold for alerts
Getting a Channel ID
- Enable Developer Mode in Discord settings (User Settings → Advanced → Developer Mode)
- Right-click the desired channel
- Click Copy Channel ID
- Paste it in
channel-id
If channel-id is empty, VoxelBench uses DiscordSRV's main configured channel.
Notification Types
Benchmark Results
Sent when a full benchmark completes. Includes:
- Final VoxelScore and rank tier
- Category scores (Hardware, Single-Core, Gameplay)
- Performance summary
Test Results
Sent after each individual test completes. Useful for monitoring test progress in real-time. Disabled by default to prevent spam.
TPS Alerts
Sent when server TPS drops below the configured threshold. Rate-limited to one alert per 5 minutes to prevent spam.
Adding More Integrations
VoxelBench's hook system is designed for graceful degradation:
- Hooks are loaded only when the corresponding plugin is present
- If an integration fails, VoxelBench continues working normally
- No additional configuration is needed to enable detected plugins (they're enabled by default)