How to temp-ban a player in your Minecraft server

Temporary bans are one of the most useful moderation tools you can give yourself as a Minecraft server owner. They let you put a troublemaker on ice for a few hours, a day, or a week without permanently slamming the door — which is perfect for first offences, cool-down periods, or letting a heated situation settle. The catch is that vanilla Minecraft does not actually support timed bans. If you have ever typed /ban expecting to add a duration and found nothing happens, you are not doing it wrong — the feature simply does not exist in the base game. This guide walks through exactly why, and shows you every working method to temp-ban a player, from the EssentialsX plugin most servers already run to dedicated punishment systems like LiteBans.

The short version: vanilla /ban is permanent only

The vanilla /ban command — available on any Java server straight out of the box — only does one thing: it bans a player forever. There is no duration argument, no expiry timestamp, and no built-in way to schedule an automatic unban. The full vanilla syntax is simply /ban [reason]. Whatever you put after the player name is treated as the reason text, not a time value. So /ban Steve 7d griefing does not ban Steve for seven days — it bans him permanently with the reason “7d griefing”.

The vanilla moderation commands that ship with every Java server are:

  • /ban [reason] — permanent ban by username
  • /ban-ip [reason] — permanent ban by IP
  • /pardon — remove a username ban (the vanilla “unban”)
  • /pardon-ip
    — remove an IP ban
  • /banlist [ips|players] — list current bans
  • /kick [reason] — disconnect a player without banning

Note that vanilla uses /pardon, not /unban — there is no /unban command in the base game (though many plugins add one as an alias). All of these are gated behind operator permission level 3 (more on that below). If you want a ban that lifts itself automatically after a set time, you need a plugin, which means you need a server fork that can load plugins: Paper, Spigot, Bukkit, or a derivative like Purpur. The plain server.jar from Mojang cannot load plugins at all.

The standard way: EssentialsX /tempban

EssentialsX is the de-facto moderation and quality-of-life plugin for the overwhelming majority of Paper and Spigot servers. If you run almost any survival or SMP server, you probably already have it installed. It adds the /tempban command, which is exactly the timed ban that vanilla lacks.

The basic syntax is:

/tempban   [reason]

So to ban a player named Steve for two days for griefing, you would run:

/tempban Steve 2d Griefing spawn — cool off
/tempban Alex 1h Spamming chat
/tempban Notch 30m Take a break

When the duration expires, EssentialsX automatically lifts the ban — the player can reconnect with no manual action from you. The banned player sees your reason on their disconnect screen, along with the remaining time, so they know exactly when they can return.

Understanding the duration format

The duration is the part people most often get wrong. EssentialsX uses a compact number + unit notation, with no space inside a single unit. The common units are:

UnitMeaningExampleResult
sseconds30s30 seconds
mminutes15m15 minutes
hhours6h6 hours
ddays3d3 days
wweeks2w2 weeks
momonths1mo1 month
yyears1y1 year

You can chain units together to build a precise duration. /tempban Steve 1d12h Repeated griefing bans Steve for one day and twelve hours. The key pitfall: do not put spaces between the number and its unit, and remember that m means minutes while mo means months — a slip there is the difference between a fifteen-minute time-out and a fifteen-month exile. Anything you type after the duration becomes the visible ban reason.

Permission nodes

If you are op, EssentialsX commands generally work without any extra configuration. But if you want to give a trusted moderator the ability to temp-ban without handing them full operator powers, you assign permission nodes through a permissions plugin such as LuckPerms. EssentialsX nodes follow the essentials. pattern, and they are not automatically inclusive — granting one does not grant related ones. The relevant nodes for moderation are:

  • essentials.tempban — allows the temporary ban command
  • essentials.ban — allows the permanent ban command
  • essentials.unban — allows unbanning / pardoning
  • essentials.banlist — allows viewing the ban list
  • essentials.kick — allows kicking players

Because nodes are not auto-inclusive, a moderator role typically needs each node listed explicitly. Always confirm the current exact node strings against the EssentialsX wiki before quoting them in your own staff documentation, since plugins do occasionally adjust node names between major releases.

Reversing a ban: /unban, /pardon and the banlist

Sometimes you change your mind, or a player appeals successfully and you want to let them back in before their timer runs out. With EssentialsX installed you get a friendly /unban alias on top of the vanilla /pardon . Both remove the ban entry and let the player reconnect immediately.

/unban Steve
/pardon Steve
/banlist players

Use /banlist (or /banlist players / /banlist ips) to audit who is currently banned. This is the fastest way to confirm a temp-ban actually registered, to check remaining durations, and to spot stale permanent bans you might want to convert into time-limited ones. Remember that a temp-ban will disappear from this list on its own once it expires — you do not need to pardon it manually.

Who can ban? Operator permission levels explained

Minecraft’s vanilla permission system uses four numeric operator levels, stored in ops.json. Each level is cumulative — a level-4 op can do everything a level-3 op can, and so on. The multiplayer-management commands, including /ban, /kick, /whitelist, and op-ing other players, all require level 3:

LevelRoleWhat it unlocks
0DefaultBaseline player; no special commands
1ModeratorBypass spawn protection
2GamemasterCommand blocks, /difficulty, most cheat commands, target selectors
3Admin/ban, /kick, /whitelist, op other players
4OwnerAll commands incl. /stop and /save-all

The /op command always grants whatever level is set by op-permission-level in server.properties — which defaults to 4. That means a freshly op-ed player jumps straight to full owner-level access unless you intervene. To create a true level-3 admin who can ban but cannot stop the server, you edit the level field directly in ops.json and then reload or restart:

[
  {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "ModeratorName",
    "level": 3,
    "bypassesPlayerLimit": false
  }
]

One important note: the server console always runs at the equivalent of level 4, so you can issue any ban command from your host’s console window without being op at all. For finer-grained control — letting someone temp-ban but not permanently ban, for instance — you should skip vanilla op levels entirely and use a permissions plugin with the EssentialsX nodes described above. If you want a deeper walkthrough of the panel side of all this, our Minecraft server documentation covers operator setup and file editing step by step.

The power-user alternative: LiteBans

EssentialsX temp-bans are perfect for small and medium servers. But if you run a network — multiple servers behind a BungeeCord or Velocity proxy — or you want a proper punishment history with appeals, IP-mute tracking, and cross-server synchronisation, a dedicated punishment plugin like LiteBans is the upgrade path.

LiteBans stores all punishments in a shared database (SQLite for a single server, or MySQL/MariaDB for a network), so a ban issued on your survival server can instantly apply on your skyblock server too. Its command set mirrors what you already know, which makes migration painless. The temp-ban form looks like:

/tempban   [reason]
/ban  [reason]
/unban 
/checkban 

The duration syntax is conceptually the same number-plus-unit format you use with EssentialsX. The main advantages over EssentialsX are network-wide enforcement, a searchable punishment history, configurable ban templates (“preset” reasons and durations for common offences), and silent/anonymous punishment options for staff. The trade-off is added complexity and, for networks, the need to maintain a database. Pick LiteBans when moderation is a serious, multi-staff operation; stick with EssentialsX when you just need timed bans on a single server.

Setting it all up on your server

To recap the practical path from a vanilla install to working temp-bans:

  1. Make sure your server is running Paper or Spigot, not the vanilla server.jar — vanilla cannot load plugins.
  2. Install EssentialsX (and, if you want fine-grained staff roles, a permissions plugin like LuckPerms).
  3. Restart the server so the plugin loads.
  4. Op yourself, or assign the essentials.tempban and related nodes to your staff group.
  5. Use /tempban [reason] to issue timed bans, and /banlist to verify them.

If you are choosing a host, running Paper with plugins like EssentialsX out of the box saves a lot of fiddling — that is exactly the kind of setup you get with our Minecraft hosting plans, where plugin installation is a one-click affair rather than a manual jar swap.

Temp-bans are just one slice of server moderation. Once you have bans dialled in, you will likely want to handle chat offenders without kicking them entirely — see our guide on temp-muting a player. Many of the same EssentialsX concepts (duration format, permission nodes) carry straight over. You may also want to tidy up the noise from players coming and going by disabling the join and leave messages, and protect your world from cheaters with Paper’s built-in anti-xray.

Frequently asked questions

How do I temporarily ban a player in vanilla Minecraft without plugins?

You cannot do it purely with vanilla commands — the vanilla /ban command has no duration argument and bans permanently. Your only options are to install a plugin like EssentialsX or LiteBans (which requires Paper or Spigot), or to manually /ban the player now and remember to /pardon them yourself later. For any real server, installing EssentialsX and using /tempban [reason] is by far the easier route, because it lifts the ban automatically when the timer expires.

How do I temp-ban a player for one week?

With EssentialsX, run /tempban Steve 7d Reason here or /tempban Steve 1w Reason here — both produce a seven-day ban. The duration uses a number followed by a unit: s seconds, m minutes, h hours, d days, w weeks, mo months, and y years. You can also combine units, so 7d12h is seven and a half days. Just keep the number and unit together with no space, and don’t confuse m (minutes) with mo (months).

What permission level do I need to ban someone?

In the vanilla permission system you need operator level 3 (Admin) to use /ban, /kick, and /whitelist. The /op command grants level 4 by default, so a freshly op-ed player can already ban; to create a level-3-only admin you edit the level field in ops.json manually. The server console runs at the level-4 equivalent and can ban without being op. If you use EssentialsX with a permissions plugin instead, you grant the essentials.tempban node rather than relying on op levels.

How do I unban a player or check who is banned?

Use the vanilla /pardon , or — if EssentialsX is installed — the friendlier /unban alias; both remove the ban immediately. To see everyone currently banned, run /banlist, or /banlist players and /banlist ips to filter by type. Note there is no /unban command in pure vanilla — only /pardon and /pardon-ip. A temp-ban also clears itself from the ban list automatically once its duration expires, so you only need to pardon manually if you want to end a ban early.

Does the temp-ban end automatically?

Yes. The whole point of a plugin temp-ban (via EssentialsX or LiteBans) is that the ban entry includes an expiry timestamp. When the clock runs out, the player can reconnect with no action required from staff. The banned player even sees the remaining time on their disconnect screen. This is the key difference from a manual vanilla /ban, which never expires and must be reversed by hand with /pardon.

Should I use EssentialsX or LiteBans for temp-bans?

For a single server, EssentialsX is the simpler choice — you almost certainly already run it, and /tempban covers everything most communities need. Choose LiteBans when you run a multi-server network behind a BungeeCord or Velocity proxy, or when you want a proper searchable punishment history, shared database enforcement across all servers, ban presets, and silent staff punishments. LiteBans uses a familiar /tempban syntax, so staff don’t have to relearn commands, but it does add a database to maintain. Both are excellent; the deciding factor is scale.

With temp-bans set up, you have the most balanced moderation tool in your kit — firm enough to correct behaviour, fair enough to give players a second chance. Pair it with the rest of your admin toolkit and your server practically runs itself.

Free Minecraft Tools

Speed up your server with our free Minecraft tools:

Ready to play?

Run your own Minecraft server with XGamingServer

Spin up an always-on Minecraft server your friends can join in minutes — no port-forwarding, no tech headaches.

99.9%Uptime SLA
< 5 minInstant setup
24/7Human support
DDoSProtected
Instant setup Your server is live in minutes with a one-click control panel.
Mods & plugins Install mods, plugins and workshop content in a few clicks.
DDoS protected Enterprise DDoS mitigation keeps your server online 24/7.
Low-latency hardware Premium CPUs & NVMe SSDs for lag-free multiplayer.
Free backups Automatic backups so your world is never lost.
Real human support Gamers helping gamers — 24/7, no bots, no scripts.

Pick your Minecraft plan & play in minutes

See all plans
Starter $8.40/mo 4 GB RAM Renews $12/mo Buy now
Rookie $17.50/mo 8 GB RAM Renews $25/mo Buy now
Pro $24.50/mo 12 GB RAM Renews $35/mo Buy now