CCLogger
What is CCLogger?
CCLogger logs player activity on Paper servers. Chat messages, commands, joins, quits, kicks - it all gets recorded to your storage backend of choice.
You can use flat files for simplicity, SQLite if you want queries without external dependencies, or connect to MySQL, MongoDB, or Redis for larger setups. All writes happen async so your server tick rate stays clean.
Features
Logging
Chat - Messages with timestamp, world, and coordinates
Commands - All commands (blacklist supported for /login, /register, etc.)
Connections - Join, quit, kick events
Output options:
- Global log files (chat.log, commands.log)
- Per-player files (players/Steve.log)
- Custom format with placeholders:
%date,%name,%content,%world,%x,%y,%z
Storage
File - Text files, human-readable (no setup)
SQLite - Local database, no config needed (no setup)
MySQL - Shared database for networks (requires MySQL server)
MongoDB - Document store, scales horizontally (requires MongoDB)
Redis - Fast, in-memory, good for high volume (requires Redis)
All backends use async writes and connection pooling.
Privacy
IP logging modes for GDPR compliance:
- disabled - IPs not stored
- truncated - Last octet zeroed (192.168.1.x becomes 192.168.1.0)
- hashed - bcrypt hash with daily rotating salt
- full - Complete IP stored
Commands can be blacklisted with regex patterns. Players with cclogger.exempt permission are excluded from logging.
Alerts
Monitor keywords and commands in real-time:
- Define trigger words (e.g., "hack", "cheat", "exploit")
- Define trigger commands (e.g., "/op", "/gamemode")
- Ops with
cclogger.notifyget in-game alerts - All triggers logged to file
Web Dashboard
CCLogger includes a modern React-based web dashboard (disabled by default):
Dashboard
- Stats overview with log type breakdown
- Log distribution pie chart
- Activity timeline showing recent activity
- Top active players at a glance
Live Timeline
- Real-time activity feed that auto-refreshes
- Pause/resume with keyboard shortcuts
- Filter by log type (Chat, Command, Login, Logout)
- Jump to live button when scrolled
Log Browser
- Full-text search across all logs
- Filter by type, player, date range
- Pagination for large result sets
- Export to JSON or CSV
Player Profiles
- Minecraft avatar display (via Crafatar)
- Activity statistics per player
- Recent activity history
- Click any player name to view profile
REST API
POST /api/auth/token- Get JWT tokenGET /api/logs- Query logs with filtersGET /api/logs/player/{name}- Logs for one playerGET /api/logs/search?q=term- Search log contentGET /api/stats- Statistics
JWT auth with rate limiting.
Requirements
- Paper 1.21+ or Folia
- Java 21+
Commands
/cclogger- Shows help/cclogger reload- Reload config (requirescclogger.reload)/cclogger count <word> [player]- Count word occurrences (requirescclogger.statistics)/cclogger clear- Archive and clear logs (requirescclogger.admin)
Permissions
cclogger.*- Everything (default: OP)cclogger.notify- Receive alerts (default: OP)cclogger.exempt- Not logged (default: false)cclogger.reload- Reload config (default: OP)cclogger.statistics- Count command (default: OP)cclogger.admin- Clear/archive (default: OP)cclogger.web- Web API access (default: OP)
Setup
- Drop JAR in
plugins/ - Restart server
- Edit
plugins/CCLogger/config.yml /cclogger reload
Default config works immediately. Change storage.type if you want something other than SQLite.
Config Example
storage:
type: sqlite # file, sqlite, mysql, mongodb, redis
privacy:
ip-logging: disabled
notifications:
enabled: true
chat-keywords:
- "hack"
- "cheat"
web:
enabled: false
port: 8080
-
View User Profile
-
Send Message
Posted Feb 26, 2013Hello, i've got this error, just before a crash, i don't know what is it
20:15:04 [WARNING] [CCLogger] CCLogger[SQLite] SQL exception in retry(): query does not return ResultSet
-
View User Profile
-
Send Message
Posted Feb 16, 2013@Alrik94
3.2.2 :)
-
View User Profile
-
Send Message
Posted Feb 14, 2013Hey there. Having an issue with another plugin throwing errors when CCLogger is installed. I made a ticket on the other mod, but I thought maybe you could help too. The BookShelf plugin never throws any errors until I install CCL. Here's the error log: http://pastebin.com/CnsmTjMz. Thanks!
-
View User Profile
-
Send Message
Posted Feb 13, 2013@StanoMalek
Which version are you using?
-
View User Profile
-
Send Message
Posted Feb 12, 2013Sorry, this is my problem with CClogger, combat log is delete :D
-
View User Profile
-
Send Message
Posted Feb 5, 2013@StanoMalek
CombatLog is not my plugin... That error has nothing to do with CCLogger...
-
View User Profile
-
Send Message
Posted Feb 2, 2013Okay I will test this later.
Something else I noticed after I removed cclogger yesterday cause of the lag: chat is much less "laggy" compared to before (compared to a working version in the past, not compared to the massive lag of course). Now as I saw how fast the chat can be without cclogger ..
Would it be possible to optimize the logging/writing/saving task? maybe by putting the write stuff in a seperated thread and chache the log a bit ?
-
View User Profile
-
Send Message
Posted Feb 1, 2013@blablubbabc
Ok, try the newest version for a little bit. v3.2.2. I just uploaded it.
-
View User Profile
-
Send Message
Posted Feb 1, 2013cclogger version 3.2.1 :
And
And massive lag :( what am I doing wrong? I will check the exmines I made..
Edit: exmine shows, that playercommandpreprocess and quit event from cclogger produce that massive lag I experience . (I made multiple examines, one even said join event (140 ms / 500 ticks -> was the highst plugin in that exmine, but with 140 ms/500 ticks lower than the examine below shoing the massive lag)
only 2 -3 players were online
-
View User Profile
-
Send Message
Posted Jan 31, 2013@Alrik94
Erm, not that I know of
-
View User Profile
-
Send Message
Posted Jan 31, 2013@FourDowning
Anyone like to spam kittycannon with the Essentials powertool? Or anything for that matter.
-
View User Profile
-
Send Message
Posted Jan 31, 2013@Alrik94
No. We have average about 60-80 players if that helps.
-
View User Profile
-
Send Message
Posted Jan 31, 2013@Alrik94
Those are taken from my most recent timings. I'm not exactly sure what it checks, I think it's CPU, but I do know that that's not a good amount of CPU for it to be using :P
-
View User Profile
-
Send Message
Posted Jan 31, 2013@FourDowning
Are there any plugins that emulate players sending commands?
-
View User Profile
-
Send Message
Posted Jan 31, 2013@FourDowning
19% of what?
-
View User Profile
-
Send Message
Posted Jan 31, 2013CClogger is taking up a lot of my servers resources:
http://paste.thezomg.com/7367/13596770/
-
View User Profile
-
Send Message
Posted Jan 30, 2013@FourDowning
I don't have a link, because my website isn't up. It's waiting for approval on BukkitDev.
-
View User Profile
-
Send Message
Posted Jan 30, 2013@Alrik94
Could you give us the link to the file please.
-
View User Profile
-
Send Message
Posted Jan 30, 2013@blablubbabc
Thank you for this error report! The problem has been fixed and the upload should be available whenever it is approved.
(I'm working on a website for all of my plugin projects. It will be easier to download the plugin from there once it's done.)
-
View User Profile
-
Send Message
Posted Jan 30, 2013Can it be that you don't quote the chat-logs before using it in your sql statement? Cause I get something like this depending on what the people write:
I guess because of the " ' "
Something else hear: Dont wonder about duplicates.. that was during a spam attack ;)
Aaand something else hear:
Hope these logs help you to optimize stuff :)