{{AUR|minecraft}} includes the official game launcher, a script to launch it and a proper {{ic|.desktop}} file. Alternatively the plain minecraft launcher can be found at their [https://minecraft.net/download download page].

{{AUR|minecraft}} includes the official game launcher, a script to launch it and a proper {{ic|.desktop}} file. Alternatively the plain minecraft launcher can be found at their [https://minecraft.net/download download page].

Revision as of 19:43, 29 June 2017

Minecraft is a game about breaking and placing blocks. At first, people built structures to protect against nocturnal monsters, but as the game grew players worked together to create wonderful, imaginative things.

Client

Installation

Running Minecraft requires xorg-xrandr.
minecraftAUR includes the official game launcher, a script to launch it and a proper .desktop file. Alternatively the plain minecraft launcher can be found at their download page.

Running

If you installed Minecraft from the AUR, you can use the included script:

$ minecraft

Otherwise, you will need to manually launch Minecraft:

$ java -jar Minecraft.jar

Firewall configuration for LAN worlds

To host a LAN World you will need two ports to be open on your firewall:

UDP port 4445. If this port is closed, the game will hang when you save and exit from the world;

the TCP port minecraft randomly picks after you open your world to LAN. If this port is closed, your friends won't be able to join your world.

Extras

There are several programs and editors which can make your Minecraft experience a little easier to navigate. The most common of these programs are map generators. Using one of these programs will allow you to load up a Minecraft world file and render it as a 2D image, providing you with a top-down map of the world.

AMIDST (Advanced Minecraft Interface and Data/Structure Tracking) is a program that aids in the process of finding structures, biomes, and players in Minecraft worlds. It can draw the biomes of a world out and show where points of interest are likely to be by either giving it a seed, telling it to make a random seed, or having it read the seed from an existing world (in which case it can also show where players in that world are). amidstAUR is available in the AUR. Bear in mind that AMIDST is currently unmaintained due to its main author being busy with work and other real life obligations. The primary fork is "Amidst Exporter" and has an AUR package at amidstexporterAUR. This is notably updated to include a patch for calculating Ocean Monument locations in 1.8+ worlds.

Mapcrafter is a high performance Minecraft map renderer which renders worlds to maps with an 3D-isometric perspective. You can view these maps in any webbrowser and you can host them with a webserver for example for the players of your server. Mapcrafter has a simple configuration file format to specify worlds to render, different rendermodes such as day/night/cave and can also render worlds from different rotations. mapcrafter-gitAUR is available in the AUR.

Minutor is described as a minimalistic map generator for Minecraft. Do not let this mislead you, it generates maps of existing worlds, not the other way around. You are provided with a simple GTK+ based interface for viewing your world. Several rendering modes are available, as well as custom coloring modes and the ability to slice through z-levels. minutorAUR[broken link: archived in aur-mirror] is available in the AUR.

Server

Installation

The simplest way to install the Minecraft server on an Arch Linux system is by using the minecraft-serverAUR package. It provides additional systemd unit files and includes a small control script.

Note: Except for Cuberite which is written in C++ and Lua almost all Minecraft servers will require Java to run. Some people (apparently especially on ARMv7 machines) have reported that the server doesn't run well, if at all, using the OpenJDK packages and have reported success using the Oracle Java packages (jdk-armAUR) instead. Your mileage may vary.

Setup

Introduction

In the installation process the minecraft user and group is introduced. Establishing a Minecraft-specific user is recommended for security reasons. By running Minecraft under an unprivileged user account, anyone who successfully exploits your Minecraft server will only get access to that user account, and not yours.
However you may safely add your user to the minecraft group and add group write permission to the directory /srv/minecraft (default) to modify Minecraft server settings. Make sure that all files in the /srv/minecraft directory are either owned by the minecraft user, or that the user has by other means r/w permissions. The server will error out if it is unable to access certain files and might even have insufficient rights to write an according error message to the log.

The package provides a systemd service and timer to take automatic backups. The backups are located in the backup folder under the server root directory by default. The related systemd files reside under /usr/lib/systemd/system/minecraftd-backup.timer
and /usr/lib/systemd/system/minecraftd-backup.service. They may easily be adapted to your liking, e.g. a custom backup interval.

Starting the server

To start the server you may either use systemd or run it directly from the command line. Either way the server is encapsulated in a screen session which is owned by the minecraft user. Using systemd you may start and enable the included minecraftd.service. Alternatively run

# minecraftd start

Note: The first time you run the server, /srv/minecraft/eula.txt will be created. You will need to edit this file to state that you have agreed to the EULA to run the server.

Server management script

To easily control the server you may use the provided minecraftd script. It is capable of doing the basic commands like start, stop, restart or attaching to the session with console. Moreover it may be used to display status information with status, backup the server world directory with backup, restore world data from backups with restore or run single commands in the server console with command <server command>.

Note: Regarding the server console, remember that you can exit any screen session with ctrl+ad.

Tweaking

To tweak the default settings (e.g. the maximum RAM, number of threads etc.) edit the file /etc/conf.d/minecraft.

More advanced users may wish enable IDLE_SERVER by setting it to true in /etc/conf.d/minecraft. This will enable the management script to suspend the server if no player was online for at least IDLE_IF_TIME (defaults to 20 minutes). When the server is suspended an idle_server will listen on the minecraft port using netcat and will immediately start the server at the first incoming connection. Though this obviously delays joining for the first time, it significantly decreases the CPU and memory usage, leading to more reasonably resource/power consumption.

Spigot (respectively Craftbukkit)

Spigot is the most widely-used modded Minecraft server in the world, hence there is a spigotAUR package in the AUR. The spigot PKGBUILD builds on top of the files from the minecraft-serverAUR package. This means that the spigot server as well provides its own systemd unit files, spigot script and the corresponding script configuration file. The binary is called spigot and is capable of fulfilling the same commands as minecraftd and the configuration file resides under /etc/conf.d/spigot.

Be sure read #Setup and replace minecraftd with spigot wherever you encounter it.

It is somewhat affiliated with Bukkit and has grown in popularity since Bukkit's demise.

Cuberite

Cuberite is a highly efficient minecraft compatible server written in C++ and Lua. It achieves better performances than the vanilla minecraft server plus it is extensively moddable. The cuberiteAUR package is available in the AUR. The program provides a simple web interface by default at port 8080 with which most server operations can easily be done through the browser. The cuberite PKGBUILD as well builds on top of the files from the minecraft-serverAUR package. This means that the cuberite server provides its own systemd unit files, cuberite script and the corresponding script configuration file. The binary is called cuberite and is capable of fulfilling the same commands as minecraftd and the configuration file resides under /etc/conf.d/cuberite.

Be sure read #Setup and replace minecraftd with cuberite wherever you encounter it.

Additional notes

There are several server wrappers available providing everything from automatic backup to managing dozens of servers in parallel, refer to Server Wrappers for more information. However the management script provided by the AUR packages should suffice most needs.

You might want to set up a systemd timer with e.g. mapper to generate periodic maps of your world.

Remember to take periodic backups, e.g. using rsync or the provided management script.

Minecraft Mod Launchers

You can launch Minecraft from different "Launchers" that often include an array of Mod Packs to enchance one's gameplay and add mods.