Hardcore SMP Server Setup: One Life, Perma-Death Guide 2026
Hardcore SMP is the format where every player has exactly one life. You die, you're out of the season, banned for 24 hours, a week, or forever. This guide walks through setting up the server, picking the right plugins, structuring seasons, and not torching the community with one cheater.
The Concept: How Hardcore SMP Differs From Regular SMP
A regular SMP is about long coexistence, shared world, trading, and builds. Hardcore SMP adds one rule that changes everything: death is not reversible. No /back, no respawn points, no "the creeper got me, give my inventory back". Player dies, player is out.
This produces two things. First, real tension. Every cave dive, every stronghold raid, every PvP fight is a potential season-ending moment for you personally. Second, short and dense seasons. The server runs for one to three months, then full world reset and a fresh seed. Great for content, streamers, and keeping attention.
In practice 80% of Hardcore SMP projects die not because the gameplay is bad, but because the admin neglected three things: anti-cheat, whitelist, and clear rules about what counts as a death. We'll cover all three.
Vanilla hardcore=true vs Plugin: What to Pick
Minecraft ships with a hardcore mode out of the box. Set hardcore=true in server.properties and dead players go into spectator mode with no respawn. Sounds clean, but on a server with 20+ players it creates two issues immediately.
First: spectator mode lets dead players fly through walls and watch surviving bases. This invites metagaming, leaking coordinates to Discord, and discussing strategies with people who are still alive. Second: you can't tune ban duration, custom messages, or exceptions for lag or server crashes. All-or-nothing.
That's why most public Hardcore SMPs leave hardcore=false and control death via plugin. Player dies, PlayerDeathEvent fires, plugin issues a ban for the configured duration and posts a Discord notification. Flexible, configurable, exceptions allowed.
# server.properties for plugin-based Hardcore SMP
gamemode=survival
difficulty=hard
hardcore=false
pvp=true
white-list=true
enforce-whitelist=true
spawn-protection=0
view-distance=10
simulation-distance=8
max-players=30
online-mode=true
If you want pure vanilla without plugins and without going public, leave hardcore=true. For everything else, set it to false and use a plugin.
Ban-on-Death Plugins
Plenty of ready-made options exist, and they all hook into the same event: PlayerDeathEvent from the Bukkit/Paper API. The most common picks:
- HardcoreSMP - simple plugin, supports temporary and permanent bans, custom messages, death-cause exceptions
- OneLifeSMP - similar with season management commands and manual reset
- DeathBan on Modrinth - minimal, zero dependencies
- LiteBans or AdvancedBan combo + a 30-line custom trigger plugin in Kotlin or Java
If no off-the-shelf plugin fits your needs, writing your own trigger is the easiest path. Listen to PlayerDeathEvent, fire the ban command via Bukkit.dispatchCommand(), send a Discord webhook. Half an hour of work.
# config.yml for a typical Hardcore SMP plugin
ban:
duration: 7d # 24h, 7d, 30d, permanent
reason: "You died in Season 03. See you next season!"
kick-message: "&cOne life. You spent it."
exemptions:
# death causes that do NOT trigger a ban (optional)
- VOID # void fall caused by lag
- SUFFOCATION # stuck in a block after teleport
death-message:
broadcast: true
format: "&4[ELIMINATED] &f%player% &7- %cause% &7(day %day%)"
discord:
webhook: "https://discord.com/api/webhooks/..."
channel-mention: "<@&123456789>" # role to ping on death
season:
number: 3
start-date: "2026-03-01"
total-days: 90
The exemptions field is there so players don't get banned for situations that aren't their fault. Server lagged, void fall, spawn point landed in a block - those are debate territory. Most projects keep only VOID and SUFFOCATION in exceptions, everything else counts as a fair death.
Whitelist and Anti-Cheat: Without Them The Season Dies Early
A Hardcore SMP without whitelist is a short season. A random player joins, kills someone day one or grief-builds a base, and the project falls apart. Set white-list=true and enforce-whitelist=true from the start. Take applications via Discord form or manual review.
Anti-cheat is the second critical piece. One player with kill-aura or fly cheat turns the entire season into drama and complaints. As of 2026 the best Paper picks are:
- GrimAC - free, accurate, supports 1.21.x, actively maintained. Default choice.
- Vulcan - paid, strong against kill-aura and reach cheats
- Matrix - older but still works
Don't run multiple anti-cheats at once, they conflict on flag logic and kick innocents. One solid pick beats two janky ones. After install, test it yourself on a clean read-only client to make sure normal behavior doesn't false-positive.
Hourly Backups: Insurance Against Accidental Deaths
Server crashes mid-death, plugin doesn't issue the ban, player rejoins alive. That's fine. Worse case: server crashes right after the death event, plugin recorded the ban, but the Player file didn't save. Now the player is banned but on unban respawns with a full inventory. The elimination is already public in Discord.
To handle this you need backups. Minimum: hourly rsync of world/ to a separate disk. Better: AutoBackup or Backuper plugin set to 60-minute intervals, retaining the last 24 snapshots. On a small world (5-10 GB) the disk cost is trivial.
# simple hourly backup via cron
0 * * * * rsync -a --delete /opt/minecraft/world/ /backup/world-$(date +\%H)/
When the "I died because of server lag" complaint comes in, the admin can restore the inventory NBT for that player only or rule against it per season rules. Don't do it often, the value of death erodes fast.
Seasons: Length, Reset, Archive
Standard season length is one to three months. Less than a month doesn't let economy and builds breathe, more than three burns the players out. Hermitcraft Hardcore showed that 30-60 days is the sweet spot for community projects.
End-of-season looks like this:
- Two-week heads-up announcement
- Final stream with surviving players, recap, farm challenge
- Full backup of
world/,world_nether/,world_the_end/to archive - Whitelist clear (or reapplication for next season)
- New seed, wipe PlayerData, plugin data, banned-players.json
- Day one of the new season is a synchronized start at a single spawn
A lot of projects host past-season archives as download links on the project site or Patreon. Decent content hook for returning old players.
Discord Integration and Content Hooks
Hardcore SMP runs on narrative. Every death is a story, and the story needs to be visible. Minimum kit:
- DiscordSRV plus a
#deathschannel that captures every death event with cause and season day - #leaderboard with auto-updated list of living players and their survival days
- Webhook into
#announcementsfor major events: first death of season, last death, first Ender Dragon kill
Streamers and content creators show up when there's narrative to feed an audience. Give them a reason to come: periodic event days, temporary boss mobs, team challenges. QSMP became famous specifically because of its built-in narrative events.
Twitter/X posting works too: a bot that tweets "Day 47: Player_X eliminated by Wither at Y:64" with a screenshot of the death location. A 50-line Python script, but the awareness bump is real.
PvP, Spawn, and Balance
PvP is the eternal debate. Turn it on, teams obliterate solo players. Turn it off, tension dies and it feels like a regular SMP. Most projects pick one of three paths:
- PvP off, peaceful season - deaths only from mobs and environment. Fits community servers, not content projects.
- PvP on with rules - combat only by mutual consent or in designated PvP zones. Implemented via CombatTagPlus plus WorldGuard region flags.
- PvP on free-for-all - anarchy, anyone can attack anyone. Most intense format, demands strong anti-cheat.
Spawn point also shapes dynamics. Single spawn (everyone on one island) drives early contact and quick alliances. Random spawn via EssentialsX RandomTeleport or RandomSpawn scatters players across the map and forces them to search for each other for days. For 30-60 day seasons, random within 3000-5000 blocks of the map center works well.
FAQ
How do I restore a player who died from server lag?
Use /pardon <nickname> in console or /unban with LiteBans. After unbanning, decide separately whether to restore the inventory via NBT backup or leave them empty-handed. Most admins allow one such exception per season and stick to the rules afterward. Doing it more often hollows out the meaning of death and the project becomes a regular SMP with fake stakes.
Does Hardcore SMP work on Bedrock Edition?
Yes, since 1.20 Bedrock has a full hardcore mode. Plugin ecosystem is thinner though, and custom ban-on-death logic has to be written via Nukkit or GeyserMC plus Paper. Easier to run a Java server with GeyserMC bridge and accept Bedrock clients that way.
Can I combine Hardcore with Lifesteal?
Yes, this is a popular combo called Lifesteal Hardcore. Player kills another, takes a heart. When a player hits zero hearts and dies, the perma-ban kicks in. You get a two-tier system: weakened first, eliminated second. Implementations: LifeStealZ or LifestealSMP plus a ban-on-death plugin with max-health check.
How long do typical Hardcore SMP seasons last per player?
Top players survive 2-3 weeks, average player drops at 3-7 days, newcomers in the first 24-48 hours. Normal distribution. Start with 30 people, after a month you have 8-12, by the end of a 60-day season 3-5 are left. The endgame between final survivors is the centerpiece moment of the whole season.
What do I do with the world after the season ends?
Full backup to archive, shut down the server, fire up a new seed on the same machine. The old world can be released as a downloadable file or kept available in creative mode for a farewell tour before reset. Don't try to continue the old world into a new season, it muddles the narrative and kills the point of seasonality.
Do I need a separate proxy in front of a Hardcore SMP server?
Not for a single server. But if you run a public Hardcore SMP and angry banned players DDoS you, putting protection between the internet and your backend makes sense. MineGuard protection filters L4/L7 attacks and only proxies real player traffic.
What's Next
Hardcore SMP has a high entry bar for admins and a low one for players. Hard to get right, but once you do the server sells itself through deaths and narrative. Three priorities in order: anti-cheat, whitelist, backups. Skip any of them and the season dies before halftime. Plug in Discord integration and streamer outreach only after baseline stability holds, otherwise your viewers see dupes and cheaters instead of survival drama.
Protect Your Server from DDoS Attacks
Free protection with 5-minute setup. 1 TB bandwidth included.
Try for FreeRelated Articles
Origins SMP Server: Full Setup Guide for Minecraft Race Abilities
How to set up an Origins SMP server on Fabric: mod stack, 12 default races, custom origin via datapack and bot protection tips.
What Is a DDoS Attack - Simple Explanation for Server Owners
DDoS attacks explained in plain language, no jargon. What they are, attack types, why game servers get targeted, and what actually helps. With real-world analogies and examples.
Anarchy SMP Server from Scratch: How to Build a 2b2t Style Server
Full guide: how to launch an anarchy Minecraft server in 2b2t style. Paper, Velocity, queue, DDoS protection, no-rules philosophy without anti-cheat.