Troubleshooting Guide
This guide covers common issues and their solutions. If you don’t find your issue here, check the FAQ or open an issue.
Table of Contents
- Players Not Transferring to Limbo
- Revivals Not Working
- Players Lose Lives During Grace Period
- Admin Commands Not Working on Limbo Server
- Version Mismatch Warnings
- Database Connection Errors
- Players Reconnecting Go Straight to Limbo
- Extra Life Items Not Working
- Hardcore Hearts Not Showing
- Revival Ritual Structure Not Triggering
- Revive Skull Recipe Not Working
- Players Can’t Visit Limbo
- Plugin Not Loading
Players Not Transferring to Limbo
Symptoms
-
Players lose all lives but stay on Main server
-
No automatic transfer to Limbo occurs
-
Console shows no errors
Solutions
- Check Server Role Configuration
On Main server:
is-limbo-server: false
On Limbo server:
is-limbo-server: true
- Verify Server Names Match Proxy
In your config.yml (both servers):
main-server-name: "main"
limbo-server-name: "limbo"
In your velocity.toml:
[servers]
main = "localhost:25566"
limbo = "localhost:25567"
The names must exactly match (case-sensitive).
- Check Database Connection
Both servers must connect to the same database:
- Check console logs for “Database connection established”
- Verify both servers have identical database credentials
- Test database connectivity from each server
- Verify Player Information Forwarding
For Velocity:
player-info-forwarding-mode = "modern"
For BungeeCord:
# config.yml
ip_forward: true
# spigot.yml on both servers
bungeecord: true
- Check Death Mode Configuration
In Main server config:
main:
death-mode: "hybrid" # or "limbo" for immediate transfer
If using spectator mode, players won’t transfer to Limbo automatically.
- Look for Plugin Messaging Errors
Check console logs for:
-
“Failed to send player to server”
-
“PluginMessageException”
-
BungeeCord channel errors
Revivals Not Working
Symptoms
-
Using
/reviveor ritual structure doesn’t work -
Player stays dead in database
-
No automatic return to Main server
Solutions
- Ensure HRM is Enabled
hrm:
enabled: true
structure-revive: true # For ritual structures
- Verify Ritual Structure is Correct
Structure Requirements:
-
Bottom layer (3x3):
-
4 Soul Sand blocks at corners
-
4 Stair blocks at edges
-
1 Ore block in center (Gold/Diamond/Emerald/etc.)
-
-
Middle layer:
-
4 Wither Roses on Soul Sand corners
-
1 Fence on center ore block
-
-
Top layer:
- Dead player’s head on fence
- Enable Structure Detection
In Main server config:
main:
detect-hrm-revive: true
- Check Database Connectivity
Try manual revival to test database:
/psadmin revive <player>
If this works but structures don’t, the issue is with structure detection.
- Verify Both Servers Access Same Database
- Check that both servers show “Database connection established”
- Confirm identical database credentials on both servers
- Test database access from both server hosts
- Check Limbo Server is Running
The Limbo server must be running to process revivals:
-
Verify Limbo server is online
-
Check Limbo console for revival check messages
-
Default check interval: 3 seconds
Players Lose Lives During Grace Period
Symptoms
-
New players lose lives even with grace period configured
-
Grace period doesn’t seem to be working
-
Status shows grace period but lives still decrease
Solutions
- Check Grace Period Configuration
lives:
grace-period: "24h" # NOT "0" which disables it
Formats:
-
"24h"= 24 hours -
"2h30m"= 2 hours 30 minutes -
"90m"= 90 minutes -
"0"= Disabled
- Verify Grace Period Status
/pstatus <player>
Should show grace period remaining time.
- Set Grace Period Manually
For players who joined before enabling grace period:
/psadmin grace <player> 24
- Remember: Online Time Only
Grace period only counts while player is online:
-
Playing 3 hours → 21 hours remaining
-
Logging off → timer pauses
-
Logging back in → timer resumes
Admin Commands Not Working on Limbo Server
Symptoms
-
/reviveor/psadmincommands don’t work on Limbo server -
“Security Error: On the Limbo server, OP status cannot be used…” message
-
Commands work on Main server but not Limbo
Solution
This is normal security behavior! By default, OP users are blocked from using admin commands on the Limbo server to prevent abuse.
- Use Whitelist (Easiest - No permissions plugin required)
Edit config.yml:
limbo-trusted-admins:
- "069a79f4-44e9-4726-a5be-fca90e38aaf5" # UUID (recommended)
- "PlayerName" # or username
Then reload from console (or from an already whitelisted/bypass-enabled admin):
/psadmin reload
Or simply restart the server to apply the changes.
- Grant Bypass Permission (Requires LuckPerms)
Use a permissions plugin like LuckPerms:
/lp user <player> permission set ssoggysouls.bypass-limbo-op-security true
This allows the OP to use admin commands on Limbo.
- Alternative: Remove OP and Use Explicit Permissions
/deop <player>
/lp user <player> permission set ssoggysouls.admin true
/lp user <player> permission set ssoggysouls.revive true
- Disable Security Check (Not Recommended)
In config.yml:
limbo-op-security-check: false
Warning: This removes the security protection and allows any OP on Limbo to revive/modify player data.
- Use Console
Console commands always work on both servers:
/psadmin revive <player>
/revive <player>
Version Mismatch Warnings
Symptoms
-
Console shows “Version mismatch detected”
-
Plugin might not work correctly
-
Strange behavior between servers
Solutions
- Update Both Servers to Same Version
- Download the latest SSoggySouls JAR
- Stop both servers
-
Replace the JAR on both servers
- Start both servers
- Verify Versions Match
Check console logs on both servers:
[SSoggySouls] Version 3.2.6 enabled
Both must show the same version number.
- Clear Old Database Records (If Needed)
If switching from old version, you may need to:
DELETE FROM hardcore_players WHERE plugin_version IS NOT NULL;
Warning: This will reset all player data!
Database Connection Errors
(Note: This largely applies to type: "mysql". If you are using type: "sqlite", make sure your server has write permissions to the plugins/SSoggySouls/ folder to generate the database.)
Symptoms
-
“Failed to connect to database”
-
“Communications link failure”
-
“Access denied for user”
-
“Unknown database”
Solutions
- Verify MySQL/MariaDB is Running
# Linux
sudo systemctl status mysql
# or
sudo systemctl status mariadb
# Windows
Check Services for MySQL
- Test Database Credentials
Use MySQL client to test:
mysql -h localhost -P 3306 -u ssoggysouls_user -p
Enter password when prompted. If this fails, your credentials are wrong.
- Check Firewall Rules
Ensure backend servers can reach database:
# Test connection
telnet database_host 3306
# or
nc -zv database_host 3306
- For Pterodactyl: Use Panel Host
Don’t use “localhost” - use the host provided by your panel:
database:
host: "mysql.example.com" # From panel, not "localhost"
port: 3306
- Ensure Database Exists
CREATE DATABASE IF NOT EXISTS ssoggysouls;
- Check User Permissions
-- Restrict to the host your backend uses (e.g. 127.0.0.1 or your server IP)
GRANT SELECT, INSERT, UPDATE, DELETE ON ssoggysouls.* TO 'ssoggysouls_user'@'127.0.0.1';
FLUSH PRIVILEGES;
- Verify Connection Pool Size
For high-traffic servers, increase pool size:
database:
pool-size: 10 # Default is 5
Players Reconnecting Go Straight to Limbo
Symptoms
-
Player dies and enters spectator mode
-
Player disconnects
-
Upon reconnecting, player is in Limbo (skipped spectator)
Solution
This is intended behavior for hybrid mode!
In hybrid mode:
-
Dying → Spectator mode for timeout period
-
Disconnecting while dead → Skip spectator on reconnect
-
Reconnecting → Go straight to Limbo
If you want different behavior:
Use spectator mode instead:
main:
death-mode: "spectator" # Dead players stay in spectator indefinitely
Extra Life Items Not Working
Symptoms
-
Crafting Extra Life item doesn’t work
-
Using Extra Life item does nothing
-
No lives gained
Solutions
- Confirm Extra Life is Enabled
extra-life:
enabled: true
- Check Recipe Configuration
Verify all materials are valid Minecraft material names:
extra-life:
recipe:
row1: "DED"
row2: "INI"
row3: "GEG"
ingredients:
G: "GOLD_BLOCK" # Must be valid material
E: "EMERALD_BLOCK"
N: "NETHER_STAR"
D: "DIAMOND_BLOCK"
I: "NETHERITE_INGOT"
- Verify Player is Not at Max Lives
Extra Life cannot exceed max lives:
lives:
max-lives: 5 # Player can't gain lives beyond this
Check with:
/pstatus
- Ensure Player is Alive
Can’t use Extra Life while dead.
- Test Recipe
Try crafting with exact materials in the exact pattern defined.
Hardcore Hearts Not Showing
Symptoms
-
Hearts appear normal, not hardcore style
-
Expected hardcore (half-heart) appearance
Solutions
- Enable in Configuration
hardcore-hearts: true
- Understand It’s Cosmetic Only
Hardcore hearts:
-
Are purely visual
-
Don’t affect gameplay
-
Lives system works regardless
-
May require client support or resource pack
- Restart Server
After enabling, restart the server:
/psadmin reload
- Note: Client-Side Feature
This feature may require:
-
Specific client mods
-
Resource pack support
-
May not work for all clients
Revival Ritual Structure Not Triggering
Symptoms
-
Built correct structure
-
Placed head on top
-
Nothing happens
Solutions
- Verify Structure is Exactly Correct
Common mistakes:
-
Using wrong blocks (must be Soul Sand at corners)
-
Fence not placed directly on ore block
-
Wither Roses not on Soul Sand corners
-
Structure size wrong (must be exactly 3x3x3)
- Check Player Head is Correct
-
Must be the actual dead player’s head
-
Use Revive Skull to get correct head
-
Or use
/give @s player_head{SkullOwner:"PlayerName"}
- Ensure Detection is Enabled
main:
detect-hrm-revive: true
- Verify HRM is Enabled
hrm:
enabled: true
structure-revive: true
- Check Plugin is Listening for Block Places
Restart server if needed:
/psadmin reload
Revive Skull Recipe Not Working
Symptoms
-
Can’t craft Revive Skull
-
Recipe doesn’t appear
-
Items don’t combine
Solutions
- Enable Recipe
hrm:
revive-skull-recipe: true
- Use Correct Recipe (Shapeless)
Place anywhere in crafting grid:
-
4 Obsidian
-
2 Ghast Tear
-
2 Totem of Undying
-
1 Any Skull/Head
Note: Order doesn’t matter (shapeless recipe).
- Restart Server
After enabling:
/psadmin reload
Players Can’t Visit Limbo
Symptoms
-
/limbocommand doesn’t work -
“You don’t have permission” error
-
Nothing happens
Solutions
- Check Permission
permissions:
ssoggysouls.visit: true # Should default to true
Grant permission:
/lp user <player> permission set ssoggysouls.visit true
- Verify Limbo Server is Online
Limbo server must be running for visits.
- Check Server Name Configuration
limbo-server-name: "limbo" # Must match proxy config
- Ensure Player is Alive
Dead players can’t use /limbo - they’re already there!
Plugin Not Loading
Symptoms
-
Plugin doesn’t show in
/plugins -
No console messages from SSoggySouls
-
Commands don’t work
Solutions
- Check Java Version
Requires Java 21 or higher:
java -version
- Verify Minecraft Version
Plugin supports 1.21.X only. Check server version:
/version
- Check Console for Errors
Look for:
-
“UnsupportedClassVersionError” → Java version too old
-
“NoClassDefFoundError” → Missing dependency
-
Other error messages
- Verify Plugin File is Not Corrupted
- Re-download the JAR
- Check file size matches
- Replace old JAR with new one
- Check Plugins Folder
Ensure JAR is in plugins/ folder, not a subfolder.
Getting Additional Help
If your issue isn’t covered here:
-
Enable Debug Mode
```yaml debug: true
```text
Restart both servers and reproduce the issue.
-
Collect Information
-
SSoggySouls version
-
Minecraft version
-
Proxy type (Velocity/BungeeCord)
-
Relevant config sections
-
Console errors/logs
-
Steps to reproduce
-
-
Search Existing Issues Check GitHub Issues for similar problems.
-
Open a New Issue Create an issue with all collected information.
Related Resources
| ← Back to Home | FAQ → |