NamlessCheck
Spigot/Paper plugin to log sensitive build/combat actions: monitored block placements, fire ignitions, and End Crystal placements, with output to console, file, or both.
V3 Updates
- Added fire interaction logging for ignitions caused by
FLINT_AND_STEEL and FIRE_CHARGE.
- Added End Crystal placement logging from player interaction (right-click on
OBSIDIAN/BEDROCK).
- Kept whitelist behavior for block placements via
monitored-blocks.
Features
- Monitored player block-place logging (whitelist-based).
- Fire ignition logging (
FLINT_AND_STEEL / FIRE_CHARGE interactions).
- End Crystal placement logging from interaction.
- Configurable block whitelist (
monitored-blocks).
- Configurable output:
CONSOLE, FILE, BOTH.
- Live config reload command (no restart required).
- Bypass permission for specific players/staff.
- Startup log rotation with
.gz compression.
- Multi-language support with separate files (
it_it / us_en).
- Async log queue to reduce main-thread I/O impact.
Installation
- Copy the jar into
plugins/.
- Start the server once to generate default files.
- Edit
plugins/NamlessCheck/config.yml.
- (Optional) edit language files in
plugins/NamlessCheck/lang/.
- Run
/namlesscheck reload to apply changes.
Configuration (config.yml)
Main keys:
log-mode: FILE, CONSOLE, BOTH
log-file: path relative to plugin folder (example logs/blocks.log)
async-log-interval-ticks: async flush interval (default 20)
archive-on-startup: if true, archives the previous log on startup
archive-directory: destination folder for compressed archives
language: active language (it_it or us_en)
monitored-blocks: list of Material values to monitor for block placements
Example:
log-mode: BOTH
log-file: "logs/blocks.log"
async-log-interval-ticks: 20
archive-on-startup: true
archive-directory: "logs/old"
language: "it_it"
monitored-blocks:
- CHEST
- HOPPER
Note: monitored-blocks only filters BlockPlaceEvent logs. Fire ignite and End Crystal logs are tracked independently (unless player has namlesscheck.bypass).
Languages (lang/)
Available files:
plugins/NamlessCheck/lang/it_it.yml
plugins/NamlessCheck/lang/us_en.yml
Main keys:
messages.reload-success
messages.no-permission
messages.usage
logs.block-place
logs.fire-ignite
logs.end-crystal-place
You can customize messages directly in these files.
Commands
/namlesscheck reload
- Aliases:
/nc reload, /check reload
Permissions
namlesscheck.reload (default: op)
namlesscheck.bypass (default: false)
Log Format
Example line:
[2026-02-12 21:10:00] Steve placed CHEST in world [120, 64, -44]
Log Rotation
- If
archive-on-startup: true, on startup the current log is:
- compressed to
.gz
- moved to
archive-directory
- replaced with a new fresh log file
Notes
- Whitelist is handled case-insensitively.
- If
log-mode is invalid, the plugin falls back to BOTH.
- File writer does not flush every event to reduce I/O; flush is guaranteed on close/reload.
🔗 Links

Portfolio
--------------------------------------

LinkedIn
--------------------------------------

Email
--------------------------------------

Buy me a beer
--------------------------------------

Ko-fi