Skip to main content

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.

NameSpecialDescription
VanillaThe default version of Minecraft with no modifications at all, provided by Mojang.
CraftBukkitPluginsCraftBukkit is a lightly modified version of the Vanilla software allowing it to be able to run Bukkit plugins.
SpigotPluginsSpigot is a modified version of CraftBukkit with improvements and optimizations.
PaperPluginsPaper is a fork of Spigot that expands its API, improves, and patches bugs.
PurPurPluginsPurPur 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.
BungeeCordProxy

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.

WaterFallProxyWaterfall is a fork of the BungeeCord software, with improved Forge support and more features.
GeyserMC StandaloneProxy

Geyser is not Minecraft software and instead it is a proxy that allows bridging Bedrock Edition players to Java Editions servers.

ForgeModsForge allows running Forge mods that modify Minecraft's code. Users are also required to run Forge Mods to enter the server.
FabricModsFabric 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.
SpongeForgePluginsSpongeForge is not a server type but rather a Forge mod that allows running Sponge plugins on a modded server.
CardboardPlugins + 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

World Format

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

World Format

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.

  1. Go to the Management > File Management tab, this is where you can see server files and folders.
  2. 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 Windows right click > Send to > Compressed (zipped) folder, on Mac right click > Compress "Folder".
  3. Drag and drop the zip file into the file area in Game Control Panel.
  4. Once the file is uploaded, use the 3 dots next to it and press Decompress to decompress the zip file.
  5. 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

World Format

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.

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 and adventure.

    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 and hard.

    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 and LEGACY.

    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 folder funWorld as world folder instead of the usual world.

    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.

info

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.

Free subdomain for IP address

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: The CloudFlare new record modal with the options for an A Record populated 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.

Namecheap Limitation

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 is example.com. So we will use connect.example.com).

Your SRV record should look something like this: The CloudFlare new record modal with the options for an A Record populated 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).