Managing your server
Day-to-day admin: starting and stopping, operators, player management, and the commands you'll actually use.
Once your server is running, day-to-day management happens in two places: the Sapling dashboard (for things like restarts, scheduled tasks, and backups), and the in-game or console command line (for everything else). This guide covers both, with a practical reference for the Minecraft commands you'll reach for most often.
Starting, stopping, and restarting
From your server's dashboard you can:
- Start — boots a stopped server. Cold-start takes ~10–30 seconds for vanilla, longer for modded.
- Restart — a clean restart with a 10-second “saving…” warning broadcast to online players.
- Stop — graceful shutdown. Same 10-second warning. Equivalent to typing
/stopin the console. - Kill — force-kill the process. Skip the save. Only use this if the server is hung and Stop isn't responding, because you will lose anything unsaved.
The live console
The Console tab streams every line your server prints, in real time. The text box at the bottom sends a command exactly as if it had been typed by an operator with level-4 permissions — you don't prefix it with a slash here unless you want to.
Useful console habits:
- Scroll up to read a crash that just happened. The relevant exception is usually 20–100 lines above where the server gave up.
- Use the search box (
Ctrl+F) to find a player name, mod name, or error code in long logs. - Click Download log when reporting a problem — mod authors and our support team will both ask for it.
Operators and permission levels
Most commands require operator (“op”) status. Minecraft has four permission levels:
- Level 1 — bypass spawn protection. Lowest tier of op.
- Level 2 — cheats (
/clear,/effect,/give,/setblock, etc.). - Level 3 — player management (
/kick,/ban,/op,/deop). - Level 4 — server management (
/stop,/save-all,/reload).
Granting and revoking op
From the dashboard's Players tab, click the “op” toggle next to a player — this writes to ops.json and takes effect immediately. From the console:
/op <player> # grant op at the default level
/deop <player> # revoke op
/list # show currently online playersTo set the default op permission level for new ops, edit op-permission-level in server.properties from the Files tab. The default is 4.
Player management
/kick <player> [reason] # disconnect a player; they can rejoin
/ban <player> [reason] # ban by username
/ban-ip <ip|player> [reason] # ban by IP address
/pardon <player> # unban
/pardon-ip <ip> # unban an IP
/banlist [ips|players] # see the current banlist
/whitelist on # require whitelist for new connections
/whitelist off
/whitelist add <player>
/whitelist remove <player>
/whitelist list
/whitelist reload # re-read whitelist.json from diskTeleporting and movement
/tp <player> # teleport yourself to <player>
/tp <player> <x> <y> <z> # teleport <player> to coords
/tp <target> <destination> # teleport <target> to <destination>
/spawnpoint <player> # set <player>'s spawn to your location
/spawnpoint <player> <x> <y> <z> # set to specific coords
/setworldspawn # set the world's global spawn here
/locate structure <id> # find nearest structure of a type
/locate biome <id> # find nearest biome of a type~) for “relative to where you are” and the caret (^) for “relative to where you're looking”. /tp ~ ~10 ~ bumps you 10 blocks up.World controls
/time set day # day | night | noon | midnight
/time set <ticks> # 0..24000; 1000 = morning, 13000 = night
/time add <ticks>
/time query daytime # see current time
/weather clear [duration] # clear | rain | thunder
/weather rain 600 # rain for 600 seconds
/difficulty peaceful # peaceful | easy | normal | hard
/gamemode survival <player> # survival | creative | adventure | spectator
/gamemode creative @s # @s = "self"
/seed # print the world seed
/worldborder set <distance> # diameter, in blocks
/worldborder center <x> <z>
/worldborder add <distance> [seconds] # grow/shrink smoothlyGame rules
Game rules toggle long-term world behaviour. The most commonly tweaked ones:
/gamerule keepInventory true # don't drop items on death
/gamerule doDaylightCycle false # freeze the time of day
/gamerule doWeatherCycle false # stop rain/thunder rolling in
/gamerule mobGriefing false # creepers don't destroy blocks
/gamerule doFireTick false # fire doesn't spread
/gamerule announceAdvancements false # quieter chat
/gamerule randomTickSpeed 3 # default 3; higher = faster crop growth
/gamerule sendCommandFeedback false # silence "command executed" repliesInventory and effects
/give <player> <item> [count] # /give @s minecraft:diamond 64
/give <player> <item>{nbt} [count] # with NBT, e.g. enchanted gear
/clear <player> # clear entire inventory
/clear <player> <item> [count] # clear specific item
/effect give <player> <effect> [seconds] [amplifier]
/effect clear <player> [effect]
/experience add <player> <amount> [levels|points]
/xp add @s 30 levels # short form
/enchant <player> <enchantment> [level]
/kill <player> # ouch
/kill @e[type=!player] # kill all entities except playersCommunication
/say <message> # broadcast as the server
/msg <player> <message> # private message; aliases: /tell, /w
/me <action> # "* Steve waves"
/tellraw <player> <json> # rich text — colors, click events, hover
/title <player> title {"text":"Welcome"}
/title <player> subtitle {"text":"have fun"}
/title <player> times 10 60 20 # fade-in, stay, fade-out (ticks)/tellraw and /title take JSON text components. A quick example:
/tellraw @a {"text":"Restart in 5 minutes","color":"yellow","bold":true}Saving and shutting down cleanly
/save-all # write world to disk now
/save-all flush # ...and wait until it's done
/save-off # pause auto-saving (before a big edit)
/save-on # resume
/stop # save, kick everyone, shut down
/reload # reload datapacks and functions
# NOT a full server reload — for that,
# use Restart from the dashboard.Target selectors
Most commands accept a target selector in place of a player name. The basics:
@p— nearest player@a— all players@r— a random player@e— all entities (mobs, items, players)@s— the entity running the command (yourself, in the console)
Selectors take arguments in square brackets. A few commonly useful ones:
@a[distance=..20] # players within 20 blocks
@a[gamemode=creative] # players in creative
@e[type=zombie,limit=5] # the first 5 zombies
@e[type=!player,distance=..30] # non-players within 30 blocks
@a[team=red] # players on team "red"
@a[scores={kills=10..}] # players with 10+ killsdistance=..20 is correct; Distance=..20 is silently ignored.Useful combos with /execute
/execute is the swiss army knife: it runs another command on behalf of a target, or with conditions attached. Worth knowing even if it looks intimidating at first.
# Give every player in the overworld a loaf of bread
/execute as @a[dimension=minecraft:overworld] run give @s bread 1
# Run a command at each cow's location
/execute as @e[type=cow] at @s run summon lightning_bolt
# Only run if a block matches
/execute if block ~ ~-1 ~ minecraft:diamond_block run say standing on diamondsScheduled tasks
From the dashboard's Scheduled tasks tab you can run console commands or restarts on a schedule. Common recipes:
- Nightly restart at 04:00 — clears memory leaks before peak hours. Most production servers do this.
- Daily backup at 03:00 — the easiest way to make sure yesterday's world is always one click away.
- Hourly
/save-all— belt-and-braces in case the server crashes between auto-saves. - Daily
/clear @e[type=item,nbt={Age:5999}]— sweep up old dropped items so the entity count stays sane.
When things go wrong
Server won't start
Open the Console tab and scroll up to the first error. The most common causes are:
- Missing or duplicate mods after a mod update — the console names the offending file.
- EULA not accepted (very first start only) — the dashboard prompts you for this automatically; if it didn't, open
eula.txtand seteula=true. - Port conflict — only relevant if you've changed the default port. Revert and try again.
Server is laggy
From the console, run /tps (Paper/Purpur/Spigot servers) or watch the dashboard's TPS graph. Numbers below ~18 mean trouble. Then:
- Use
/forge tps(Forge) or your performance mod's profiler to see which dimension is heaviest. - Try
/kill @e[type=item]to clear dropped items. If TPS jumps, the entity count was the issue — add a scheduled task for it. - Reduce
view-distanceinserver.properties(12 is generous, 8 is plenty for most servers). - If you're consistently hitting your plan's RAM ceiling, see the billing docs for upgrading.
A player can't connect
- Check the whitelist (
/whitelist list) and banlist (/banlist). - Make sure they're on the same Minecraft version as the server.
- Modded servers require the same modpack on the client. A mismatched mod set looks like “connection refused” or “outdated client”.
Further reading
Mojang's in-game command help (/help or /help <command>) is authoritative and worth knowing about — it always reflects exactly what your version supports. The Minecraft Wiki maintains complete reference pages for each command and the data-pack format.
For Sapling-specific questions, check the other docs articles or email [email protected].