Troubleshooting
Solutions to common problems and issues with AnnouncementGUI.
🔍 Quick Diagnosis
Is the plugin loaded?
Check:
/pluginsLook for: AnnouncementGUI in green
If red or missing:
Can you access the GUI?
Try:
/announceguiIf permission error:
Grant
announcegui.adminpermissionCheck if you have OP status
If command not found:
Plugin not loaded (see above)
Check
plugin.ymlis intact
Are announcements running?
Check:
🚫 Installation Issues
Plugin doesn't load
Symptom: Plugin not in /plugins list or shows red
Possible Causes:
1. Incompatible Server Version
Error: Could not load plugin 'AnnouncementGUI'... Unsupported API version
Solution:
Fix:
Update to Paper 1.21 or newer
OR download compatible plugin version
2. Wrong Java Version
Error: Unsupported class file major version
Solution:
Fix:
Install Java 17 or newer
Update server startup script to use Java 17+
3. Corrupted JAR File
Error: Error loading plugin... invalid JAR
Solution:
Re-download plugin JAR
Verify download completed successfully
Check file size matches expected size
4. Missing Dependencies
Error: NoClassDefFoundError or similar
Solution:
Ensure Paper/Folia server (not Spigot/Bukkit)
Paper auto-downloads libraries; ensure internet access
Check
librariessection in plugin.yml
Configuration file errors
Symptom: Plugin loads but doesn't work correctly
Causes:
Invalid YAML Syntax
Error: Could not load config.yml
Solution:
Validate YAML:
Use YAML Validator
Check for tabs (use spaces instead)
Check indentation
Reset config:
Wrong Configuration Values
Error: Plugin loads but behaves incorrectly
Check:
localServerIdmatches intended serverserverslist contains valid IDsStorage credentials are correct
Boolean values are
trueorfalse(lowercase, no quotes)
🗄️ Database Issues
SQLite Issues
Cannot create database file
Symptom: Failed to initialize SQLite database
Solutions:
Database locked error
Symptom: Database is locked
Causes:
Multiple server instances accessing same database
File permission issues
Corrupted database
Solutions:
Stop all servers using the database
Check for locked files:
If corrupted, restore from backup:
MySQL Issues
Connection refused
Symptom: Connection refused or Cannot connect to MySQL
Solutions:
Test MySQL connection:
Check MySQL is running:
Check firewall:
Check MySQL listening:
If only shows 127.0.0.1: Edit
/etc/mysql/mysql.conf.d/mysqld.cnf:Restart MySQL:
Access denied
Symptom: Access denied for user 'announcegui'@'host'
Solutions:
Verify credentials in config.yml
Check user exists:
Recreate user:
Check host wildcard:
'announcegui'@'%'allows from any host'announcegui'@'localhost'only allows local'announcegui'@'192.168.1.%'allows from subnet
Unknown database
Symptom: Unknown database 'minecraft_announcements'
Solutions:
Create database:
Grant permissions:
🎮 GUI Issues
GUI doesn't open
Symptom: /announcegui does nothing or shows permission error
Solutions:
Check permission:
Grant permission:
Check console for errors
Verify player (not console):
Command requires player
Cannot be run from console
Items not clickable
Symptom: Clicking items does nothing
Solutions:
Close and reopen GUI:
Press ESC
Run
/announceguiagain
Check for conflicting plugins:
Inventory protection plugins
Anti-cheat plugins
Other GUI plugins
Check console for errors when clicking
Try on different client:
Test with vanilla client
Disable client-side mods
Chat input not working
Symptom: After clicking item, can't type in chat
Solutions:
Close all GUIs:
Press ESC multiple times
Wait a moment
Relog:
Disconnect and reconnect
Clears any stuck states
Check for chat plugins:
Chat formatting plugins
Chat filter plugins
May interfere with input
📢 Announcement Issues
Announcements not broadcasting
Symptom: Created announcement but no messages appear
Diagnosis Steps:
Common Causes:
Wrong Target Server
Example:
Announcement targets "survival"
Current server ID is "lobby"
Solution: Edit announcement, change target to "lobby" or "ALL"
ALL Announcements Disabled
Example:
Announcement targets "ALL"
Config has
enableAllServersAnnouncements: falseSolution: Change config to
trueand restart
Announcement Disabled
Solution:
GUI → Edit → Select announcement
Click "Toggle Status"
Click "Save"
Interval Too Long
Solution:
Edit announcement
Set shorter interval for testing (e.g., 60 seconds)
Save and wait
Announcements broadcasting to wrong servers
Symptom: Announcement shows on wrong server(s)
Solutions:
Verify localServerId:
Check announcement target:
GUI → Edit → Select announcement
Verify target matches intended server
Check database:
Announcements not syncing (Multi-Server)
Symptom: Create on Server A, doesn't appear on Server B
Solutions:
Wait for polling interval:
Verify MySQL connection:
Check same database:
All servers must use same MySQL database
Verify config.yml on all servers
Check console for errors:
Look for "Failed to poll changes"
Look for MySQL connection errors
Restart all servers:
Sometimes helps clear sync issues
Formatting not working
Symptom: Color codes or MiniMessage tags show as text
MiniMessage Issues:
Shows: <green>Hello</green>
Expected: Green "Hello"
Solutions:
Use MiniMessage format:
<green>text</green>not&atext<bold>text</bold>not<ext
Check Paper version:
MiniMessage requires Paper 1.16.5+
Run
/versionto verify
Legacy Color Code Issues:
Shows: &aHello
Expected: Green "Hello"
Solutions:
Use correct format:
&afor green&cfor redetc.
Check if disabled:
Some servers disable legacy codes
Use MiniMessage instead
PlaceholderAPI not working
Symptom: Placeholders show as %player_name% instead of values
Solutions:
Install PlaceholderAPI:
If not found, install PlaceholderAPI plugin
Install expansions:
Test placeholder:
Verify expansion:
Restart server:
PlaceholderAPI requires restart after installation
See: PlaceholderAPI Integration Guide for details
⚡ Performance Issues
Server lag with announcements
Symptom: TPS drops when announcements broadcast
Solutions:
Check placeholder usage:
Placeholders require per-player parsing
Use sparingly
Increase intervals for placeholder announcements
Reduce announcement frequency:
Increase intervals
Combine multiple announcements into one
Optimize messages:
Shorter messages
Fewer lines
Less complex formatting
Check database performance:
Optimize MySQL tables
Increase connection pool
Use local MySQL server
High database query count
Symptom: Many MySQL queries in logs
Solutions:
Increase polling interval:
Optimize MySQL:
Add indexes:
🔧 Command Issues
Export fails
Symptom: /announcegui export shows error
Solutions:
Check plugin folder writeable:
Check disk space:
Check console for detailed error
Import fails
Symptom: /announcegui import file.json shows error
Solutions:
Verify file exists:
Validate JSON:
Use JSONLint
Check for syntax errors
Ensure valid structure
Check file permissions:
Test with small file:
Create simple test file
Import to verify functionality
🔄 Update Issues
Plugin won't update
Symptom: New version not working
Solutions:
Complete update process:
Clear old JAR:
Check for config changes:
Compare old and new config.yml
Update any changed options
Keep your customizations
Config resets after update
Symptom: Configuration lost after update
Solutions:
Before updating:
After updating:
Merge configs:
Compare old and new config.yml
Add new options from new config
Keep your customizations
📊 Diagnostic Commands
Check Plugin Status
Check Database Connection
Check Announcements
Check Changelog (Multi-Server)
🆘 Getting Help
Before Asking for Help
Where to Get Help
Check this guide first
Check FAQ
Search GitHub Issues
Create new issue with gathered information
Creating a Good Bug Report
Include:
Plugin version and server version
Description of the problem
Steps to reproduce
Expected behavior
Actual behavior
Config files (remove passwords!)
Console errors
Screenshots if relevant
🔧 Advanced Troubleshooting
Enable Debug Logging
Edit: config.yml (if debug option exists)
Restart server and check logs for detailed information.
Database Diagnostics
SQLite:
MySQL:
Thread Dumps
If server freezes during announcements:
Related Documentation:
FAQ - Frequently asked questions
Configuration Guide - Configuration options
Installation Guide - Installation steps
Multi-Server Setup - Multi-server issues