Self-hosted Gaming
Tutorials for Dedicated Game Servers View on Github

Minecraft

I guess nobody needs an introduction to Minecraft.

Running a vanilla Minecraft server is surprisingly easy. Pretty much everything you need is a relatively modern Java Runtime Environment.

Installation

  1. Install Java, so you can run the java -h command on your command line.
  2. Go to Minecraft's official server download website
  3. Create the directory where you want your Minecraft server to live in. This will be referred to as $GAME_DIR.
  4. Copy the server.jar into $GAME_DIR.

Start the Server

Before you can actually use or configure the server, you need to start it once. This initializes some crucial files, such as the eula.txt and the server configuration file server.properties.

To start the server, go into $GAME_DIR and run this command:

java -Xmx1024M -Xms1024M -jar server.jar nogui

Explanation of parameters:

To be able to run the server, you need to accept the end-user license agreement. To do so, open the generated eula.txt. It should look something like this:

#By changing the setting below to TRUE you ...
#Fri Jul 10 15:22:48 CEST 2020
eula=false

To accept to their terms, update the eula value in this file to eula=true.

When running the command again, the server should now start up and create a new world.

Server Configuration

Minecraft offers a configuration file named server.properties.

A detailed description on every option can be found on the minecraft wiki.

However, the most important variables for setting up the server will be cover over here as well.

Operational

Gameplay

Whitelisting

If you enabled whitelisting on your server, only whitelisted users will be able to connect. To add a user to your whitelist, start the server and add them via the server cli interface with /whitelist add USERNAME.

You can also enable/disable the whitelist on the live server with /whitelist on/off.

Whenever you add/remove a user to/from the whitelist, the $GAME_DIR/whitelist.json file will be automatically updated.

Server commands

Here are a few useful commands for server operators.