Minecraft server setup: Alex defends a wooden cabin with a sword at night as zombies and skeletons close in, while a friend watches from the window

How to make, configure and run a Minecraft server

Minecraft Server Setup

Everything that decides how a Minecraft: Java Edition server behaves, in the order you will meet it: the first hour in the panel, server.properties, game rules, versions and Java, server types, plugins and mods, players and permissions, Bedrock friends, lag, worlds and the fixes our support team uses most. Checked against Mojang's notes for 26.3 Wilderness Bound and the documentation of every project we mention.

By , Owner, Gaming DeluxePublished · Updated · 18 min read

Skip the install

No port forwarding, no PC left running overnight: a Minecraft Server Hosting plan comes with the panel this guide is built around, from the Mod Manager to the Java selector.

Memory
13 sizes, 1GB to 32GB
Players
Your choice, set in server.properties
Locations
9 on 3 continents
Versions
26.3 or any older release
Guides indexed
14 Minecraft guides
On this pageYour first hour
  1. 01Your first hour
  2. 02server.properties
  3. 03Game rules
  4. 04Versions and Java
  5. 05Server types
  6. 06Plugins and mods
  7. 07Players and ops
  8. 08Bedrock players
  9. 09RAM and lag
  10. 10Worlds and backups
  11. 11Fixes
  12. 12Self-host or rent
  13. QFAQ
  14. KBAll 14 guides

Your first hour: from a fresh order to friends in the world

New servers are normally ready within 20 minutes of payment, and your panel login arrives by email. Six steps turn a stock Java server into a world your friends can actually reach.

  1. Open the panel and press StopChoose your Minecraft service in the game panel and stop it before changing anything. The server reads its settings as it boots, and it rewrites files such as the whitelist itself, so edits belong in the quiet moments between Stop and Start.
  2. Choose the releasePress More and run Update Minecraft Repo, then open the Mod Manager and pick a version in the Minecraft Vanilla section. 26.3 is the newest release; take an older one if your modpack or minigame was built for it.
  3. Set the matching JavaEvery release since 26.1 needs Java 25. The panel's Java version selector swaps the runtime in one click, and the versions chapter lists what older releases want.
  4. Edit server.propertiesUnder Configuration Files, open server.properties. Give the server a motd (the line players see in their server list) and a sensible max-players. The settings chapter explains the rest, line by line.
  5. Start it and add your playersPress Start and open the Web Console. Mojang switched the whitelist on by default in 26.3, so type whitelist add followed by each friend's exact Java username, then op with your own name to unlock admin commands.
  6. ConnectIn Minecraft: Java Edition, choose Multiplayer, then Add Server, and paste the address and port from your panel. Friends do exactly the same; nobody has to open a port on their router.

server.properties explained: the lines worth changing

A Java server reads server.properties once at start-up, one key=value pair per line. On our panel it sits under Configuration Files. The values below are Mojang's current defaults, as listed by the Minecraft Wiki that Mojang's own server download page points to.

Name, access and security

server.properties
motd = A Minecraft Server
The text under your server's name in each player's multiplayer list.
max-players = 20
The most players online at once. Our plans are sized by memory, so this number is entirely yours.
white-list = true
True by default since 26.3: only names in whitelist.json get in. Set false to open the doors to everyone.
enforce-whitelist = false
When true, anyone missing from the list is removed as soon as the whitelist reloads, not just refused at login.
online-mode = true
Verifies every player against Mojang's account servers. Keep it on; without it anyone can join under any name, an operator's included.
hide-online-players = false
True keeps the list of who is online out of the server list ping.

World and gameplay

level-name = world
The folder the world is saved in. Point it at another folder to switch worlds.
level-seed = (blank)
Seed for a world that does not exist yet. Blank means random.
level-type = minecraft:normal
Preset for new worlds; minecraft:flat, minecraft:large_biomes and minecraft:amplified are the usual alternatives.
gamemode = survival
Starting mode for players: survival, creative, adventure or spectator.
difficulty = easy
peaceful, easy, normal or hard; the /difficulty command changes it later.
hardcore = false
True locks difficulty to hard and turns players who die into spectators.
spawn-protection = 16
Keeps the area around spawn safe from non-operators. 0 switches the protection off.
generate-structures = true
False stops villages, temples and other structures appearing in new chunks.

Performance

view-distance = 10
Chunks of terrain sent to each player in every direction: the biggest single lever on memory and bandwidth.
simulation-distance = 10
How far from players entities keep being updated. Lower it to ease the CPU while players still see just as far.
entity-broadcast-range-percentage = 100
How close an entity must be before players are told about it, as a percentage. Lower values help mob-heavy worlds.
pause-when-empty-seconds = 60
Seconds with nobody online before the server pauses, so farms stop grinding through an empty night.
max-tick-time = 60000
Milliseconds one tick may take before the watchdog stops a frozen server. Leave it unless support suggests otherwise.
sync-chunk-writes = true
Writes chunks to disk in step, which protects the world after a crash. Keep it on.

A resource pack for everyone

A server resource pack is offered to each player as they join. Host the zip somewhere that serves a direct download, paste the link into resource-pack, add the file's SHA-1 checksum to resource-pack-sha1 if you have it, and set require-resource-pack=true to disconnect anyone who declines. Our resource pack guide shows how to turn a Dropbox share link into one that downloads directly.

Lines that have moved out

Looking for pvp, spawn-monsters, allow-nether or enable-command-block? Mojang took them out of server.properties during the 1.21.9 snapshots (25w35a) and turned them into game rules, which the next chapter covers. A tutorial that still tells you to edit them here was written for an older version.

Game rules: keep inventory, PvP, mob griefing and friends

Game rules belong to the world rather than to server.properties, and you change them with a command while the server runs. Since 1.21.11 (snapshot 25w44a) their names are written in snake_case, so keepInventory became keep_inventory.

Typed in game by an operator
/gamerule keep_inventory true
/gamerule players_sleeping_percentage 50
/gamerule pvp false
keep_inventory = false
True lets players keep their items and experience when they die. The most requested switch on friends servers.
pvp = true
False stops players hurting each other. Lived in server.properties until 1.21.9.
spawn_monsters = true
False stops hostile mobs spawning naturally.
mob_griefing = true
False means creepers no longer blow holes in builds and endermen leave blocks alone.
players_sleeping_percentage = 100
Share of online players who must sleep to skip the night. 50 lets half the server do it.
advance_time = true
False freezes the time of day. It was called doDaylightCycle.
spawn_phantoms = true
False stops phantoms hunting players who have not slept. Formerly doInsomnia.
immediate_respawn = false
True skips the death screen.
fire_spread_radius_around_player = 128
How far from a player fire may spread: 0 stops it, -1 removes the limit. It replaced doFireTick in 1.21.11.
command_blocks_work = true
False disables every command block without removing it.

Because rules are stored with the world, they survive restarts and travel inside the world folder. Upload a different world and you set them again. On Paper, each dimension keeps its own game rules, so repeat the important ones in the Nether and the End.

Versions and Java: choosing a release everyone can join

A Java server runs one exact version, and every player needs that version, or the matching modpack, to connect. Mojang now numbers Java releases by year: 26.1 was the first game drop of 2026, and 26.3 Wilderness Bound arrived on 15 September 2026.

The Java each release needs

  • 26.1 and newer: Java 25, a requirement that arrived with the very first 26.1 snapshot.
  • 1.20.5 to 1.21.11: Java 21.
  • 1.18 to 1.20.4: Java 17.
  • 1.17: Java 16.
  • 1.16.5 and older: Java 8.

Modpacks usually state their own Java version, and when they do, the pack wins. Current Paper builds also ask for Java 25.

Changing version on our panel

  1. Back upStop the server and press Backup Server. A world that has been opened in a newer release should never be loaded in an older one, so this copy is your only way back.
  2. Refresh the listUnder More, run Update Minecraft Repo so the latest releases show up.
  3. Install the releaseOpen the Mod Manager, press Update in the Minecraft Vanilla section, choose the version and press Install.
  4. Swap Java if neededPick the runtime for that release in the Java version selector and execute it.
  5. Start and watchStart the server with the Web Console open. The version prints during boot, and a Java mismatch fails within seconds, which makes it easy to spot.

Snapshots and pre-releases are Mojang's test builds. Try them on a separate test server or a copied world, never on the world your group has spent months on.

Vanilla, Paper, Fabric, Forge or NeoForge: picking a server type

The server type decides what you can add later, so settle it before the world grows. Plugin servers keep the normal game for players, while mod loaders change the game on both ends of the connection.

Mojang

Vanilla

Mojang's own server, exactly as released. Data packs still work on it, so loot, recipes and advancements can change without any loader.

Plugins

Paper

A Java server built for speed with a wider plugin API. Its documentation calls it a drop-in replacement for CraftBukkit and Spigot, so their plugins run too, and players join with the unmodified game.

Plugins

Spigot and CraftBukkit

The older plugin servers Paper grew out of. Our Mod Manager has an installer for each.

Plugins

SpongeVanilla

Sponge's plugin platform on the vanilla server, also installable from the Mod Manager.

Mods

Fabric

A lightweight mod loader. Most Fabric mods also need Fabric API in the mods folder, and every player needs the same mods to join.

Mods

Forge and NeoForge

Forge powers many long-running modpacks and has a Mod Manager installer. NeoForge, from the NeoForged project, is the loader many newer packs target, with builds for the 26.x releases.

Getting one onto your server

The Mod Manager carries installers for CraftBukkit, Spigot, Forge and SpongeVanilla, and our mod installer guide has a short video of each. For Paper, Fabric, NeoForge or a modpack's own server files, open a ticket with a public link to the files: our team installs mods and packs for you at no charge.

Plugins, mods, data packs and modpacks without the crashes

Most broken Minecraft servers were broken by something added to them, not by Minecraft. A short routine prevents nearly all of it.

  1. Match the versionCheck that the plugin or mod lists your exact Minecraft version and server type. A Fabric mod will not load on Forge, and a plugin written for 1.21 may refuse to start on 26.x.
  2. Add one thing at a timeStop the server and upload the .jar into plugins (Paper, Spigot) or mods (Fabric, Forge, NeoForge) with the File Manager or SFTP. Then start and check before adding the next.
  3. Confirm it loadedOn Paper, the plugins command lists every plugin in green when it is enabled and red when it failed. The start-up log, logs/latest.log, names whatever went wrong.
  4. Then configure itMost plugins and mods create their config files on first start, under plugins/<name>/ or config/. Edit those with the server stopped too.

Only from sources you trust

Paper's documentation puts it plainly: a plugin gets full access to the server and to the machine it runs on. Take plugins from Hangar, Modrinth, BukkitDev or the author's own GitHub, and mods from Modrinth or CurseForge, never from re-upload sites.

Modpacks

Most packs on CurseForge and Modrinth publish a separate server pack. Use it rather than the client download, because client-side mods such as minimaps and shader loaders can stop a dedicated server from booting. Every player then installs the same pack version through their launcher.

Data packs

Data packs go in the world's datapacks folder and work on every server type, vanilla included. /datapack list shows which are active, and a restart or /reload picks up new ones.

Whitelist, operators, bans and permission levels

A Java server keeps its player lists in small JSON files next to server.properties. You can manage every one of them with commands, from the Web Console or in game as an operator.

Who may join

whitelist.json

Filled by whitelist add <name>, trimmed by whitelist remove <name>. whitelist list prints it and whitelist reload picks up edits made by hand.

Admins

ops.json

Written by op <name> and deop <name>. Each entry carries a permission level, so you can trim a helper's powers by editing the file with the server stopped.

Bans

banned-players.json and banned-ips.json

ban <name> [reason] and ban-ip add to them; pardon and pardon-ip take players off again.

Permission levels

op-permission-level in server.properties, 4 by default, sets how much a newly made operator can do. Each level includes the ones below it:

  • 1: may build inside spawn protection.
  • 2: the cheat-style commands such as /gamemode, /give and /tp, plus command blocks.
  • 3: multiplayer management: /kick, /ban and /op.
  • 4: everything, including server management such as /stop and /save-all.

For finer control, such as a helper who may only teleport, run Paper with a permissions plugin rather than handing out operator status.

Keep the front door locked

  • Leave online-mode=true. It is what proves each player really owns the name they join with.
  • Make as few operators as you can, and keep level 4 for yourself.
  • Panel helpers can get their own login as a panel sub user with just the boxes you tick, so nobody needs your password.

Bedrock players: Geyser on Java, or a Bedrock server of your own

Mojang states that Java and Bedrock use different servers, so friends on consoles, phones and Bedrock for Windows cannot join a Java server as it comes. There are two ways to play together anyway.

Community bridge

Geyser and Floodgate on Java

Geyser, from the GeyserMC project, translates between Bedrock clients and a Java server and runs as a plugin on Paper or Spigot. Floodgate lets Bedrock players sign in with their Microsoft account and no Java copy. Geyser needs a network port of its own and support for your exact Java version, so open a ticket before you install it.

Mojang's own

A Bedrock dedicated server

Everyone plays Bedrock and the rules are Mojang's, but Java players cannot join. We run these on a separate plan: Minecraft Bedrock Server Hosting.

What changes on a Bedrock server

  • Players are Xbox accounts. Whitelist by gamertag with whitelist add <gamertag>, wrapping names that contain spaces in double quotes. The list lives in whitelist.json, and whitelist reload picks up edits by hand.
  • Operators use XUIDs. Join once with the Web Console open and your XUID appears beside your name. Put it in permissions.json as operator, member or visitor, or run op <player> while signed in to Xbox Live.
  • Two settings change live. changesetting allow-cheats true and changesetting difficulty hard apply at once, but leave server.properties as it was.
  • Behaviour packs go in behavior_packs/, then the world's world_behavior_packs.json lists each pack's UUID and version from its manifest.json. Packs load in the order listed.
  • Backups while it runs use save hold, then save query until it returns the file list, then save resume once the copy is done.
  • A reserved place: ignoresPlayerLimit in whitelist.json lets a listed player in when the server is full, up to a soft cap.

Memory, lag and the 20 ticks per second target

A Java server runs the world in ticks and aims for 20 of them every second. When it falls behind, the console prints "Can't keep up!" and players feel it as blocks that reappear, rubber-banding mobs and slow farms.

Sizing memory on our plans

  • Plans are memory sizes: 13 of them, from 1GB to 32GB, all on the same CPUs and NVMe storage. 3GB is our suggested start for a vanilla world among friends; plugin servers often want 4GB to 6GB and modpacks 8GB or more.
  • No slots to buy: max-players sets the cap, and memory decides what stays smooth.
  • Upgrades keep the world: move to a bigger size from the client area under Services, My Services, Upgrade/Downgrade options, pay the difference and restart.
  • CPU headroom: 5.0GHz is included, with 5.2GHz+ and 5.6GHz+ upgrades and High or Realtime CPU priority from the same menu.

Watch Activity and Stats during your busiest evening. A memory graph pinned at the ceiling calls for a bigger size. A server that stutters with memory to spare is short of tick time instead, and the settings below are where you win it back.

Settings that buy back performance

  • Trim view-distance: 8 instead of 10 cuts the terrain each player keeps loaded by about a third.
  • Lower simulation-distance first when mobs and farms are the strain: players see as far as before, but less of the world is updated.
  • Tame the farms: huge mob farms, item piles and packed villager halls are the usual culprits, because every entity in a loaded chunk costs tick time.
  • Move to Paper: if a vanilla server needs headroom, performance is the reason Paper exists.
  • Let it rest: pause-when-empty-seconds stops the world ticking when nobody is on.
  • Restart on a schedule: a Scheduled Restart in your quietest hour keeps long-running modded servers fresh.

Worlds, seeds, backups and starting over

A Minecraft world is just a folder. Once you know which line points at it, moving, copying and resetting worlds takes minutes.

Bring a singleplayer world

  1. Find it on your PCSingleplayer worlds are folders inside the saves directory of your Minecraft installation, one per world.
  2. Upload itStop the server and upload the folder with the File Manager or an SFTP client such as WinSCP or FileZilla, signing in with your panel username and password.
  3. Point the server at itSet level-name to the folder's name and start. The previous world stays on disk, untouched, in case you want it back.

For a brand-new world, give level-name a fresh folder name and, if you want a particular landscape, set level-seed and level-type before the first start. Both are read only at the moment the world is created.

Backups you can count on

Before any version change or big install, take a copy with Backup Server, and use Restore Server if you need to roll the world back to a date you pick. A Scheduled Backup task stops the server, copies it and starts it again, so it can double as a nightly restart. To keep copies on your own PC, sign in to Backup Manager; its password is printed on the button. On top of that, we keep offsite copies for the last seven days.

Starting over

Wipe Server clears the progress you choose and leaves your settings alone. Reinstall goes further and returns every server file to default, while the backups stay where they are, which makes it a safe clean slate for a modded server that will no longer boot.

When it breaks: the fixes we reach for first

Most Minecraft tickets we see fall into a short list. Work through these before you reinstall anything.

  • "You are not white-listed on this server"Since 26.3 the whitelist is on by default. Add the player with whitelist add <name> in the Web Console, or set white-list=false with the server stopped.
  • "Outdated client" or "Outdated server"The player and the server run different versions. Change the server's version in the Mod Manager, or have the player pick the matching release in their launcher.
  • The server stops right after installing a modpackMost often it is the wrong Java. Switch Java in the panel to what the pack needs; if it still fails, reinstall from More and install the pack on the clean server.
  • A plugin shows up in redIt failed to enable. Read logs/latest.log from the top: a missing dependency or a plugin built for another Minecraft version is the usual reason.
  • Players time out with "connection forcibly closed"Lower view-distance, ask them to lower their render distance, check their router's NAT acceleration and firewall, or ask us to move the server closer to them.
  • A settings change seems to do nothingThe server only reads its settings as it boots, and files it manages itself, such as whitelist.json, can overwrite edits made while it runs. Stop, edit, save, start.
  • The resource pack never downloadsThe link must be a direct download, not a preview page. Our resource pack guide shows the Dropbox version of the fix.
  • Lag at the same time every dayCheck Scheduled Tasks for a backup or restart that runs then, and move it to your quietest hour.
  • A .dll, .exe or .bat upload is refusedThose file types are blocked for security. Send them to support and the team puts them in place; plugin and mod .jar files upload as normal.

Your own PC or a rented server: the honest comparison

Mojang gives the Java server away free, and a spare PC can run a small world well. The real question is who looks after it.

Running it yourself means installing the right Java, downloading the server jar from minecraft.net, accepting the EULA by setting eula=true in eula.txt, starting it with a memory flag such as -Xmx4G, and forwarding port 25565 on your router so friends outside your home can connect. After that, the PC has to stay on whenever anyone wants to play.

On your own PC

  • Free if the hardware and upload speed are already there.
  • Full control of files, Java and launch flags.
  • Your home IP address goes to every player, and the router needs a port opened.
  • The world sleeps when the PC does.
  • Updates, backups and crash recovery are all yours.

Rented from Gaming Deluxe

  • Ready within 20 minutes, in 9 locations across Europe, North America and Australia.
  • Version and Java switching in the panel, with installers for common server types.
  • Scheduled backups and restarts, plus seven days of offsite copies.
  • Free installation help for mods and modpacks.
  • A monthly cost that grows with memory.

For a few friends who play together one evening a week, a home PC is a perfectly good start. When people want to log in at different times, or the modpack outgrows your desktop, renting gives the world a home that never switches off. Memory sizes and locations are listed on our Minecraft Server Hosting page.

Quick answers

Minecraft server setup FAQ

How do I make a Minecraft server?

Either run Mojang's free Java server on your own PC (the right Java, the server jar, eula=true and port 25565 forwarded) or rent one. On ours: pick a version in the Mod Manager, set Java, edit server.properties, start it and whitelist your friends. The first hour chapter has every step.

How do I whitelist players and make myself op?

In the Web Console, type whitelist add and the player's name for each friend, and op followed by your own name. Since 26.3 Mojang ships the whitelist switched on, so add people before they try to join.

Can Bedrock players join my Java server?

Not with Minecraft alone, because Mojang keeps Java and Bedrock on separate servers. The community Geyser plugin, with Floodgate, can bridge the two on Paper or Spigot; ask us first, since it needs its own port. The other route is a Bedrock server for everyone.

How do I change my server's Minecraft version?

Back up and stop the server, run Update Minecraft Repo from More, then choose the release in the Mod Manager's Minecraft Vanilla section and install it. Set the matching Java, Java 25 for 26.x, before you start.

Where is server.properties on my server?

In the game panel under Configuration Files. Stop the server, edit and save, then start it again; the file is only read as the server boots.

How do I add plugins or mods to a Minecraft server?

Plugins need a plugin server such as Paper or Spigot and go in the plugins folder. Mods need Fabric, Forge or NeoForge, go in the mods folder, and every player runs the same mods. Add one at a time and check the log; we install packs free on request.

How much RAM does a Minecraft server need?

For a vanilla world with a few friends, 3GB is our suggested start. Plugin servers often want 4GB to 6GB, and modpacks 8GB or more, guided by the pack author. Our sizes run from 1GB to 32GB, and moving up later keeps your world.

Why can't my friends join my Minecraft server?

Check four things: they are on the whitelist, their game version matches the server, they typed the exact address and port from the panel, and they sign in with a genuine Java Edition account. The fixes chapter decodes the error messages.

Knowledge base

Every Minecraft guide in our knowledge base

All 14 Minecraft guides from our knowledge base, Java and Bedrock, grouped by job, plus the 21 panel guides that work the same for every game. Type to filter.

35 guides: 14 for Minecraft, 21 panel basics

Nothing matches that. Try fewer letters, or ask our support team.

Ready when you are

Want the world online without the upkeep?

Everything in this guide works on our Minecraft Server Hosting plans. Choose a memory size and a location, and your Java server is ready within 20 minutes.

Minecraft Server Hosting