⚰️ DeathBan
Die, and you're out — for a little while. DeathBan temporarily bans players every time they die, with the ban getting longer each time. No more death spiral of grief chat and instant respawns — every death actually costs something.
✨ Features
- Automatic death bans — die, and you're banned for a set amount of time. No staff action required.
- Scaling ban durations — each death increases the ban length, up to a configurable cap:
Death 1 → 5 minutes
Death 2 → 10 minutes
Death 3 → 15 minutes
Death 10 → 50 minutes
- Fully automatic unban — bans expire on their own. Players can just log back in once their time is up.
- Persistent death tracking — death counts and ban expiry are saved to disk and survive restarts, using clean, human-readable timestamps (
2026-08-13 14:23:45, not a wall of numbers). - Readable countdowns — "4 days 3 hours", "12 minutes", "37 seconds" — banned players (and admins) always know exactly how long is left.
- Configurable everything — starting ban, increase per death, maximum ban, death/join/broadcast messages, and full color code support.
- Admin toolkit — check any player's info, reset their record, adjust their death count, or lift a ban early.
- Exemption permission — give trusted players
deathban.exemptto skip the death ban entirely. - Built clean — modern Paper API only, no deprecated methods, async file I/O so saves never lag the server.
🛠️ Commands
| Command | Description |
|---|---|
/deathban info [player] |
Death count, current ban length, and time remaining |
/deathban reload |
Reload the config without restarting |
/deathban reset <player> |
Wipe a player's deaths and lift any active ban |
/deathban setdeaths <player> <amount> |
Manually set a player's death count |
/deathban unban <player> |
Lift an active ban without touching their death count |
🔑 Permissions
| Permission | Default | Description |
|---|---|---|
deathban.use |
true |
Check your own death/ban info |
deathban.admin |
op |
Access to all admin subcommands |
deathban.exempt |
false |
Never receive a death ban |
⚙️ Configuration
starting-ban: "5m"
increase-per-death: "5m"
maximum-ban: "7d"
death-message: "&cYou have been death banned for &e%time%&c."
join-ban-message:
- "&cYou are currently death banned."
- "&7Remaining: &e%remaining%"
broadcast-deathban: true
broadcast-message: "&c%player% has been death banned for &e%time%&c."
Time values accept s, m, h, d, w, and can even be combined (1d12h).
📋 Requirements
- Paper (or a Paper fork) 1.21.1 – 1.21.x
- Java 21
💡 Why DeathBan?
Great for hardcore-adjacent survival servers, permadeath-lite challenges, or any community that wants dying to actually sting without going full permadeath. The scaling penalty means one unlucky death is a slap on the wrist — but a careless streak gets progressively more expensive.
Found a bug or have a feature request? Open an issue on the source repository linked above!

