v1.0.5 - Comprehensive Code Audit & Stability Fixes
This release addresses all bugs and potential issues discovered during a full codebase audit.
Bug Fixes
- [CRITICAL] Config.yml Rewritten — The config file was missing most sections (violations, cache, bypass, logging, auto-learning). All settings were falling back to hardcoded defaults and couldn't be customized. Now fully documented and complete.
- [CRITICAL] WebServer Duplicate Startup — WebServer was being created and started twice, causing potential port binding conflicts. Removed the duplicate initialization.
- [HIGH] Appeal Command (/itiraz) Never Registered — The appeal command was never registered because the manager was null during synchronous command registration (async DB init timing issue). Now registers after DB is ready.
- [HIGH] Thread-Safety Fix — Static message counter had a race condition when accessed from multiple async threads. Replaced with AtomicInteger.
- [HIGH] DB Ready Check — Violation processing could crash with NPE if the database wasn't initialized yet. Added null-safety guards.
- [MEDIUM] Batch Transaction Safety — Batch DB operations now properly rollback on failure and restore autoCommit in a finally block.
Performance Improvements
- Player Name Cache — removePlayerNames() was calling Bukkit.getOfflinePlayers() on every single chat message. Now cached with a 5-minute TTL. Significant performance improvement on large servers (1000+ players).
Infrastructure
- Added SpigotMC Hub repository to pom.xml (fixed build resolution)
- Cleaned up duplicate JavaDoc blocks
Upgrade: Drop the new JAR into your plugins/ folder and restart. Backup your config.yml first — it has been completely rewritten with all available settings.
We've updated the AI prompts ([prompts.yml]
to better understand gaming context.
- Fixed: "at", "atıyo", "tpa at" are now correctly identified as game commands/actions.
- Fixed: "vulcan dan atıldın" (kicked) is no longer flagged as an insult.
- Fixed: Trading terms like "satılık", "satan" are now 100% safe.
Cleaner Console Logs
- Log Spam Fixed: If the AI service goes offline (503 error), the plugin will no longer spam your console with "[PRE-CHECK]" warnings. These warnings are now only visible if
debug: trueis enabled in config.
Technical Improvements
- Updated
mysql-connectordriver to the latest version.- Optimized build dependencies for better stability.
Note: We recommend all users to update for a cleaner and smarter experience!
