Minecraft Server the Basics
Server Versions
Minecraft has different types of servers other than vanilla. Some of them have their own special additions.
You can install a different edition of the server in Configuration > Advanced
. By selecting the server edition you want and the Minecraft version you need.
Name | Special | Description |
---|---|---|
Vanilla | The default version of Minecraft with no modifications at all, provided by Mojang. | |
CraftBukkit | Plugins | CraftBukkit is a lightly modified version of the Vanilla software allowing it to be able to run Bukkit plugins. |
Spigot | Plugins | Spigot is a modified version of CraftBukkit with improvements and optimizations. |
Paper | Plugins | Paper is a fork of Spigot that expands its API, improves, and patches bugs. |
PurPur | Plugins | PurPur is a fork of Paper that expands it’s API even further and increases the configuration options available to server owners. Allowing for more control over the server including enabling a number of the bugs that were hard-patched in paper. |
BungeeCord | Proxy | BungeeCord is not Minecraft software and cannot run worlds. Instead, it is a redirector that connects other servers into a network. It bridges a connection between the player and another server. |
WaterFall | Proxy | Waterfall is a fork of the BungeeCord software, with improved Forge support and more features. |
GeyserMC Standalone | Proxy | Geyser is not Minecraft software and instead it is a proxy that allows bridging Bedrock Edition players to Java Editions servers. |
Forge | Mods | Forge allows running Forge mods that modify Minecraft's code. Users are also required to run Forge Mods to enter the server. |
Fabric | Mods | Fabric allows running Fabric mods, it's lightweight and faster than Forge, but as well as new, there aren't a lot of mods to pick compared to Forge's mod list. |
SpongeForge | Plugins | SpongeForge is not a server type but rather a Forge mod that allows running Sponge plugins on a modded server. |
Cardboard | Plugins + Mods | Cardboard (formerly Bukkit4Fabric) is a Fabric mod that adds support for the Bukkit plugins. Possibly not every plugin is supported, but some more popular, CoreProtect, Multiverse, and WorldGuard are. |
How to OP
To grant a player access to commands and operator status, use the command /op <player>
and replace <player>
with the player's in-game name you want to op.
To remove the operator status from a player, use the command /deop <player>
, as the previous command, replace <player>
with the player's in-game name.
Whitelist
With a whitelist, you can specify players you want to allow to join the servers while others that are not whitelist cannot join.
To enable whitelist, once the server is online, use the command /whitelist on
.
To add someone to the whitelist use the command /whitelist add <player>
and replace <player>
with the player's in-game name you wish to add.
To remove someone from the whitelist use the command /whitelist remove <player>
the same way as the previous command, replace <player>
with the player's in-game name.
And finally, to disable the whitelist, use the command /whitelist off
.
GameMode
To change someone's gamemode, use the command /gamemode <gamemode> <player>
, replace <gamemode>
with the gamemode you desire, survival
, creative
, adventure
or spectator
and replace <player>
with player's in-game name.
Basic Administration
There are few commands that can be used to kick or ban someone from your server.
The command /kick <player>
, replacing <player>
with the player's in-game name, will kick the player from the server.
The command /ban <player>
, <player>
being the player's in-game name, will ban the player from the server. They won't be able to join unless you un-ban them.
You can un-ban a player with command /pardon <player>
, same as the previous one, <player>
is the player's in-game name.
You can also ban a player's IP, which means the player won't be able to join even if he tries to enter with another account on the same network. The command for that is /ban-ip <player>
and to un-ban player's IP, /pardon-ip <player>
Importing World
If you're importing a world that is Vanilla or Spigot based, but are not using it on the same server type, make sure to check out our guide on converting words! Spigot & Vanilla world formats
It's possible to import a world into the server in multiple ways. Before starting, if you already have a world in File Management, rename it or delete it to import the new one and make sure the server is not running.
Importing World using File Management
If you're importing a world that is Vanilla or Spigot based, but are not using it on the same server type, make sure to check out our guide on converting words! Spigot & Vanilla world formats
One way is by compressing the world to a zip file and uploading it through:
The world should be less than 100MB, otherwise, you should use SFTP to upload your world.
- Go to the
Management > File Management
tab, this is where you can see server files and folders. - Find your world folder and compress it to a
.zip
file. You can use programs such as WinRAR or 7-zip to compress the folder or on Windowsright click > Send to > Compressed (zipped) folder
, on Macright click > Compress "Folder"
. - Drag and drop the zip file into the file area in Game Control Panel.
- Once the file is uploaded, use the 3 dots next to it and press
Decompress
to decompress the zip file. - Now you no longer need the zip file you uploaded, so you can safely delete it, use the 3 dots next to it and press
Delete
.
If you also have folders named world_nether
and world_the_end
then you should upload them as well.
Here's a video tutorial on how to upload your world using the steps above
Uploading your World using SFTP
If you're importing a world that is Vanilla or Spigot based, but are not using it on the same server type, make sure to check out our guide on converting words! Spigot & Vanilla world formats
You can manage files using FTP/SFTP, to set it up, check out this guide on Using SFTP.
With SFTP you don't need to compress the world folder, simply drag and drop it in the server's directory.
Adding Datapacks
To add a datapack into your server, you need to upload the datapack you want by going to the Management > File Management
tab and open the world
folder.
In that folder, you will find a folder called datapacks
, open it, and here you will upload datapacks by drag-and-drop or using the Upload
button on the left side.
Some datapacks, such as ones from VanillaTweaks, .zip
files might have "unzip me" in their name.
This is a note from the creator that you need to unzip the file before using it in the world.
You can do it by uploading it to the world folder like normally you would do for a datapack and then use the 3 dots next to the file to access the menu and use the Decompress
button.
This will unzip the file and multiple .zip
files may appear. After that, you no longer need the file you unzipped from and you can safely delete it from the same 3 dots menu.
Adding Plugins
To be able to add plugins to your server, you will need to use Spigot, CraftBukkit, Paper, or any other version that supports plugins.
You can get those by manually uploading the jar file or going to Configuration > Advanced
, selecting the edition and Minecraft version you want to use. Ticking the "Format Server" erase all files.
To install a plugin, simply drag and drop the .jar
plugin file into the plugins
folder (which is generated by the server upon start if it supports plugins) in the File Management and restart the server.
Recommended Plugins
You’ll find that the plugins in the list below are generally helpful regardless of your server’s type. There is of course no requirement to install them, but it’s highly recommended that you install and configure them on your server while also understanding what they do and how to use them.
CoreProtect is a plugin that allows you to recover damaged blocks and record data for anti-grief. CoreProtect
DriveBackupV2 is a plugin that provides backing server data remotely. DriveBackupV2
server.properties file
server.properties
is a settings file generated by the Minecraft server and it is located at the home container. It contains configurable options for the server. The server requires a restart to apply the changes in the file. Most commonly used options:
spawn-protection
- Restricts players from interacting with the spawn area.Amount of blocks (calculated 2x+1) protected from being broken by players in the spawn area. Set it to
0
to disable it.Example:
1
- Protects 3x3 blocks from spawn,5
- Protects 11x11 blocks from spawn.Default:
16
allow-nether
- Whenever or not the Nether should exist.If set to true, it will allow players to transfer to the Nether dimension, if false the Nether will not be loaded.
Default:
true
gamemode
- Default gamemode for new players.Accepts
survival
,creative
,spectator
andadventure
.Default:
survival
player-idle-timeout
- Kicks players for being AFK for specified minutes.After a player has idled for this many minutes they get kicked.
Default:
30
difficulty
- Game difficulty.Accepts
peaceful
,easy
,normal
andhard
.Default:
easy
pvp
- Whenever or not PvP should be enabled.Enable PvP on the server. Players shooting themselves with arrows receive damage only if PvP is enabled.
Default:
true
level-type
- Type of world generation.Accepts
DEFAULT
,FLAT
andLEGACY
.Default:
DEFAULT
hardcore
- Whenever or not hardcore should be enabled.If set to true, server difficulty is ignored and set to hard, and players are set to spectator mode if they die.
Default:
false
enable-command-block
- Whenever or not command blocks should be enabled.It is recommended to set to
true
for custom maps.Default:
false
max-players
- The maximum number of players allowed on the server.Default:
20
level-name
- World folder name.The value set here will be used for the world folder.
Example:
funWorld
- it will use folderfunWorld
as world folder instead of the usualworld
.Default:
world
view-distance
- The maximum allowed view distance in a number of chunks.Default:
10
resource-pack
Optional URI to a resource pack. The player may choose to use it.Setting the URI to a resource pack asks players joining the world to download the resource pack and have it loaded until they leave.
Default: Not set by default
resource-pack-sha1
Optional SHA-1 digest of the resource pack. It's recommended to specify this if you are using a resource pack.You can use any method you like to generate the SHA-1 digest, like sha1-online.com, just type the name of the resource pack file name and click
hash
to get the value to set it.If you later update the resource pack, generate a new digest and update
server.properties
file, a test will be made to compare the player's resource pack digest to see if it needs to be re-downloaded.white-list
- Whenever or not whitelist should be enabled.Default:
false
level-seed
- World Seed.The seed for randomizing the world, leaving it blank will choose randomly.
Default: Not set by default
motd
- Server MOTD (Message of the Day).Sets the server's message on the multiplayer screen. You can use a MOTD creator to generate a message for the server.
Default: Not set by default
Check Server Version
Using the command /version
, found in Spigot, Craftbukkit, Paper, and similar servers gives you info about the server on what's running.
This command is not available in the vanilla server.
Dedicated vs Shared IP
A Minecraft dedicated IP means that you will be able to connect to the server on the standard port 25565
which doesn't require you to insert the additional port (123.45.67.891:25565
) when connecting, while Shared IP will require to put the additional port at end of the IP when connecting.
Dedicated IP does not provide you a domain! You must purchase one from a provider such as Porkbun.
How to Connect your Domain
Setting up your domain will allow you to change your IP address to a custom domain, for example, mc.example.com
or play.example.com
.
First, you need to go to your domain's DNS management. We will use CloudFlare for that.
WinterNode offers a free domain (example.playwn.co) for use! You can ask them to set it up by opening a ticket, providing your server UUID and subdomain name you want it to be. You can open a ticket in our Discord server or via Client Area.
Setting up an A Record
We first need to create type A record.
Press Add Record
and set the following credentials:
- Type:
A
- Name: Set this to the subdomain you want to use (
play
,mc
). If you are using Shared IP (if it requires a port) then set the subdomain to something else because we will need to use it in SRV Record. - IPv4 address: Set this to you IP Address without the port.
- TTL:
Auto
- Proxy status (if available):
DNS Only
Your A record should look something like this:
If you have a dedicated IP, you should be all set and able to connect to your domain using the subdomain you provided as the name of the A record (in our example,
connect.example.com
).
Setting up a SRV Record
The next step is to create an SRV record to be able to set up the port, this is not required if you have a Dedicated IP.
It appears Namecheap's SRV system does not allow the ability to specific your own host. Therefore an SRV record for mc.example.com
won't work, but will work fine under example.com
. The only workaround for this would be to change DNS Management provider. We recommend CloudFlare.
Press Add Record
and set the following credentials:
- Type:
SRV
- Name: Set this to a subdomain you want to use to connect to your server. This must be unique to the one you used an A record. If you want to not have a subdomain and connect straight to the domain, set it to
@
. The name set in A record will only be used by the SRV record and can be set to any name. - Service:
_minecraft
- Protocol:
TCP
- TTL:
Auto
- Priority:
0
- Weight:
0
- Port: Set this to your IP address's port.
- Target: Set this to the subdomain you set in A record earlier (in our example, we've set it to
connect
, the domain isexample.com
. So we will useconnect.example.com
).
Your SRV record should look something like this:
After that, you are all set! You should be able to connect to your server using the subdomain you set in the SRV record and your domain (in our example,
play.example.com
).