Minecraft
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.
There are two separate editions of this game: Minecraft Java Edition, and Bedrock Edition. Java Edition is the original version of the game, starting development back in 2009. This edition can be played on Mac, Windows and Linux. Bedrock Edition was originally Pocket Edition, but has since been ported to different platforms. It is currently supported on Windows 10 and 11, Amazon FireOS and FireTV, Android, iOS, Xbox One, Playstation 4, Nintendo Switch and Samsung Gear VR devices. The Bedrock Edition client is not supported on Linux officially, but Bedrock server software is available.
Client
Java Edition
Installation
The Minecraft client can be installed via the minecraft-launcherAUR package. It provides the official game launcher, a script to launch it and a .desktop file. The package is officially recommended by Mojang on their website.
Firewall configuration for Client/LAN worlds
Most shared Minecraft worlds are hosted using dedicated Minecraft server. If this is how you want to host, see Server section below.
A simpler way is to allow others to join your current Minecraft game. When playing, your Minecraft client also allows others to join the game in progress. Your client automatically broadcasts the info about your game on port 4445. It will also listen for TCP connections on which other players join. This TCP listening port is picked at random every time you start Minecraft. This works well if you do not have a firewall. But if your firewall blocks incoming TCP connections, then it is very tricky to allow this random port in.
To allow your client to host a local LAN game, your firewall needs to allow:
- UDP port
4445
to broadcast your game. - A TCP port to allow friends to join your game.
Local game hosted on port port_number.
See also:
Bedrock Edition
The unofficial Bedrock Minecraft client can be installed by mcpelauncher-appimageAUR package. Alternatively, it can be compiled using mcpelauncher-linux-gitAUR package. The launcher can also be used by an app image provided on the GitHub page.
Minecraft Education
Minecraft Education can be used as an alternative way of running Minecraft with online features stripped out, since the code is mostly based on the Minecraft for Windows 10 edition (i.e. a win32 codebase).
It can be installed manually and runs fine with Wine or Proton.
Additionally, Minecraft Education can be used as a gateway to Minecraft RTX running on Linux using vkd3d (This is exclusive to the Microsoft store, x64 release of Minecraft Education).
- As of version 1.19.50, Microsoft Authentication no longer works on Wine within Minecraft Education. This is due to changes in the login procedure that changed from Azure Active Directory to Microsoft Authentication Library (MSAL). While piracy is the only way of accessing these versions of Minecraft Education, it is not condoned.
- As of version Preview 1.20.60, Microsoft Authentication changed from Microsoft Authentication Library (MSAL) to a WinRT based authentication. As of Wine 9.2, This functionality is not yet implemented. This leads to failed login attempts with the error code 1001. Due to this change, Piracy is effectively made impossible within this version of the game.
Server
Java Edition
See Minecraft/Java Edition server for more information on how to set up a Minecraft Java server.
Bedrock Edition
Installation
The Bedrock Minecraft server can be installed via the minecraft-bedrock-serverAUR package. It provides a systemd unit file. This package creates a separate minecraft-bedrock
account.
To start the server, you may either use systemd or run it directly from the command line. Using systemd, you may start and enable the included minecraft-bedrock-server.service
. Alternatively, run the following as the minecraft-bedrock user inside the /opt/minecraft-bedrock-server
directory:
$ LD_LIBRARY_PATH=. ./bedrock_server
Configuration
The configuration file server.properties
contains the server settings and additional documentation. Most importantly, server-port
determines the UDP
port at which the server will listen for incoming connections. The default port is 19132
for IPv4, and 19133
for IPv6. UDP ports 43351
for IPv4 and 51885
for IPv6 are required for authentication.
Minecraft mod launchers
You can launch Minecraft from different so called launchers that often include an array of modpacks to enhance one's gameplay and add mods.
- ATLauncher — Minecraft ModPack launcher consisting of multiple different modpacks made by the community.
- Badlion Client — PvP modpack for all modern versions of Minecraft.
- CheatBreaker Client — The free FPS boosting modpack for Minecraft 1.7 & 1.8
- Feed The Beast — Originated as a custom challenge map in Minecraft that made heavy use of multiple tech mods, and later evolved into a mod package launcher.
- GDLauncher — Open-source Minecraft launcher written in Electron/React.
- https://gdevs.io || gdlauncherAUR
- Hello Minecraft Launcher — Open-source Minecraft launcher supports Mod Management, Game Customizing, Auto Installing, Modpack Creating, UI Customization...
- https://hmcl.net/ || hmclAUR
- Labymod Launcher — LabyMod Launcher for launching LabyMod, which is a Minecraft client that adds bunch of useful features
- Lunar Client — PvP modpack for all modern versions of Minecraft.
- Modrinth Launcher — The open-source, lightweight and official Modrinth launcher.
- MultiMC — Sandbox environment manager for separable pack association.
- PolyMC — Power user launcher with features like mod management. Originally forked from MultiMC.
- https://polymc.org/ || polymcAUR, polymc-qt5AUR
- Prism Launcher — Power user launcher with features like mod management. Originally forked from MultiMC, now forked from PolyMC.
- Technic Launcher — Modpack installer with a focus on mod discovery via popularity rankings.
Other programs and editors
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 — Standing for Advanced Minecraft Interface and Data/Structure Tracking, it 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). The project has been forked in the past, of which the most notable one is "Amidst Exporter" (amidstexporterAUR) which includes a patch for calculating Ocean Monument locations in 1.8+ worlds.
- Mapcrafter — A high performance Minecraft map renderer written in C++ which renders worlds to maps with an 3D-isometric perspective. You can view these maps in any webbrowser hence they are easily deployed on one's 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.
- Minutor — A minimalistic map generator for Minecraft. 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.
Troubleshooting
Logs
Screen logs are in /tmp/spigot_spigot_command_dump.txt
file. If systemctl fails to start the service, inspect the screen logs.
Journal logs are under spigot.service
.
Client or server does not start
It might be a problem with the Java version. Different Minecraft version numbers have different JRE requirements.
Minecraft Version | Minimum Compatible JRE Version |
---|---|
< 1.17 | 8 |
1.17 | 16 |
<= 1.20.4 | 17 |
> 1.20.4 | 21 |
Note that the client/server work with newer versions of Java, such as jre-openjdk, but the Minecraft game launcher (and possibly mods) might only work with Java version 8.
Broken fonts with MinecraftForge
Force Unicode fonts from the language menu.
Since you cannot read any of the menu options: in the main menu, choose the bottom-left most button is Options, second-from-the-bottom on the left side is the Language Button. From there, the Force Unicode Font button is on the bottom, on the left side.
MultiMC unable to build
If you are trying to install multimc5AUR or one of its fork (polymcAUR or prismlauncher-qt5AUR) and get an error similar to:
No CMAKE_Java_COMPILER could be found. Tell CMake where to find the compiler by setting either the environment variable "JAVA_COMPILER" or the CMake cache entry CMAKE_Java_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH.
The error could be caused by Java missing, which can be fixed by installing jdk8-openjdk. If the error is not fixed by that or Java was properly installed in the first place, the wrong version could still be the default environment:
$ archlinux-java status
Available Java environments: java-13-openjdk (default) java-8-openjdk
You can set the default java version using archlinux-java set <version>
.
Cannot change pulseaudio sink
If you are unable to switch the audio output device (indicated by DONT_MOVE
flag in the output of pacmd list-sink-inputs
), then the following openalsoft config may help
~/.alsoftrc
[pulse] allow-moves=yes
Audio stutters on PipeWire
OpenAL defaults to using JACK over PipeWire's PulseAudio backend. If that causes issues for you, you can tell OpenAL to use Pulse instead:
~/.alsoftrc
drivers=pulse
Alternatively, you can set the following environment variable ALSOFT_DRIVERS=pulse
if you do not want to set it for all applications.
Minecraft does not start on native Wayland
You may see an error like GLFW error 65548: Wayland: The platform does not support setting the window icon
.
This is because of the version of GLFW bundled with Minecraft defaulting to X. If you do not want to use Xwayland, you can resolve this by using the system installation of glfw:
- For MultiMC-based launchers (like prismlauncher) check Workarounds > Native Settings > Use system GLFW in the instance settings.
- For others, add
-Dorg.lwjgl.glfw.libname=/usr/lib64/libglfw.so
to the java command in the settings.
2 and 6 do not work when pressed in combination with shift on legacy versions
This is a problem caused by LWGLJ2. There are a few ways to fix it:
- Use a client that uses an updated version of LWGLJ or adds the patch themselves.
- Switch keyboard layout to a different one (e.g. German).
- Use mods to fix it. On 1.8.9 Forge, you can use mckeyboardfix.