Als je regelmatig Minecraft speelt, wil je dit spel waarschijnlijk ook met anderen tegelijk spelen. Hiervoor heb je een Minecraft server nodig. Er zijn verschillende mogelijkheden om aan een eigen Minecraft server te komen. Je vindt ze gebruiksklaar op internet al dan niet tegen betaling. In deze workshop laten wij je zien hoe je onder Debian (en afgeleiden) een eigen Minecraft server installeert en beheert (David en Andre Fondse)

In listing 1 zijn alle commando’s opgenomen om een Minecraft server te installeren. Uitgangspunt voor deze installatie is dat sudo geactiveerd is. Neem na het lezen van onderstaande toelichting op de commando’s listing 1 over.

sudo apt update
sudo apt full-upgrade
sudo apt install default-jdk screen nano wget git
sudo adduser minecraft --disabled-login --disabled-password --home /opt/minecraft
sudo su - minecraft
mkdir -p ~/instances/server1 && cd ~/instances/server1
wget https://launcher.mojang.com/v1/objects/35139deedbd5182953cf1caa23835da59ca3d7cd/server.jar
echo "eula=true" > eula.txt
exit
sudo su -
cd /etc/systemd/system
wget https://<download van Linux Magazine website>/minecraft@.service
chown root:root minecraft\@.service
chmod 755 minecraft\@.service
systemctl daemon-reload
systemctl start minecraft@server1.service
systemctl enable minecraft@server1.service
exit
sudo su - minecraft

Uitleg

Regel 1+2: Voordat je de installatie start, zorg je ervoor dat je een geactualiseerd systeem hebt.

Regel 3: Dit is de enige systeemsoftware die je nodig hebt om zo de Minecraft server te kunnen installeren. Default-jdk is de Open Source volledige versie van Java. De Minecraft server in deze workshop werkt ook onder de runtime versie van Java. Als je andere toekomstige Minecraft servers installeert heb je wellicht de volledige versie nodig.

Regel 4: Hier maak je de gebruiker minecraft aan waar je veiligheidshalve niet rechtstreeks mee kunt inloggen met de home-directory /opt/minecraft. Deze afwijkende directory is nodig omdat het systemd script waarmee je de Minecraft server gaat starten anders niet goed werkt.

Regel 5: Hiermee schakel je over naar de gebruiker minecraft (dit werkt wel ondanks het feit dat de gebruiker niet kan inloggen).

Regel 6: Maak in de home-directory een subdirectory instances/server1 aan en ga naar deze subdirectory.

Regel 7: Hier download je de laatste versie van de Minecraft server van de Minecraft site. Als deze link niet meer werkt, dan kun je via https://www.minecraft.net/nl-nl/download/server een nieuwe link vinden.

Regel 8: Door het aanmaken van het bestand eula.txt met de inhoud eula=true geef je aan dat je je aan de licentievoorwaarden (zie bovenstaande link) van Minecraft houdt.

Regels 9 t/m 15: Je beëindigt nu de sessie van de gebruiker minecraft en gaat nu als root aan de slag. In de directory /etc/systemd/system download je het systemd bestand minecraft@.service. Dit bestand is van root en alleen root heeft schrijfrechten. Let op: je moet hier het downloadpad even aanpassen!

Regels 16 t/m 18: Aan systemd maak je d.m.v. daemon-reload bekend dat er een nieuwe systemd service is. Vervolgens start je deze service en zorg je ervoor dat bij het opstarten van je server deze service ook automatisch opgestart wordt.

Regels 18+19: Je beëindigt nu de sessie van de gebruiker root en start weer een sessie als gebruiker minecraft.

 

Als alles goed is gegaan, dan is je Minecraft server nu opgestart. Je kunt dit controleren door het volgende commando in te typen:

screen -r mc-server1

Je krijgt dan een scherm als in afbeelding 1. Het laatste dat je nu moet doen is je Minecraft gebruiker (dit is een minecraft gebruikersnaam) het beheer over de server geven (server operator maken). Hierdoor hoef je niet steeds op de server in te loggen, maar doe beheer je de server vanuit Minecraft zelf. Dit doe je met het commando:

/op minecraftgebruikersnaam

Verlaat nu het scherm van de Minecraft server door eerst CTRL+A in te drukken en na het loslaten van deze toetsen de D toets in te drukken.

Server bereikbaar via internet

Je hebt de Minecraft server nu lopen in je interne netwerk. Als je Minecraft wilt spelen met mensen die niet in je interne netwerk zitten, moet je je netwerk hiervoor openstellen. Log hiervoor in het beheerscherm van je router en ga naar port forwarding. Zorg ervoor dat poort 25565 voor zowel TCP als UDP doorgestuurd wordt naar het IP adres van je server. Je kunt het IP adres van je server uitlezen door in het terminal venster ip addr | grep “inet ” in te typen.

Andere spelers kun je nu aangeven dat je Minecraft server op het IP adres van je internet verbinding bereikbaar is. Het IP adres van je internet verbinding lees je onder andere uit via https://whatismyipaddress.com/.

Extra servers installeren

Het is mogelijk om eenvoudig extra Minecraft servers toe te voegen. Deze sla je op onder /opt/minecraft/servernaam (zie regel 6 t/m 8 van listing 1). Vervolgens start je de server door in regel 17+18 minecraft@server1.service te veranderen in minecraft@servernaam.service. Let erop dat de naam achter /opt/minecraft hetzelfde is als achter minecraft@. Je moet de extra server wel op een andere poort draaien dan server1. Dit doe je door in het bestand /opt/minecraft/servernaam/server.properties het veld server-port het poortnummer te veranderen in bijvoorbeeld 25566. Herstart daarna je tweede (of volgende) Minecraft server met:

 

systemctl restart minecraft@servernaam.service

Verbinding maken met Minecraft server

In Minecraft maak je verbinding met de server door in de Minecraft Launcher op ‘spelen’ te klikken. Na het laden van Minecraft klik je vervolgens op ‘Multiplayer’. Klik daarna op ‘Add Server’. Het belangrijkste is als je hier het juiste server adres invult. Dit kan een ip adres of een hostname zijn. De ingestelde server zie je daarna in een beschikbare lijst van multiplayer games (zie afbeelding 2). Je maakt verbinding met de Minecraft server door met de muis op het plaatje links voor de servernaam te klikken.

Server commando’s

Als je op de server operator bent, is het mogelijk om gebruik te maken van commando’s. Commando’s zijn handig als je snel dingen voor elkaar wilt krijgen. Je kunt commando’s intypen door op de T toets te drukken. Je krijgt dan een scherm als afbeelding 3.  In onderstaande tabel is een overzicht opgenomen van handige commando’s op de Minecraft server:

<TABEL met : als kolomscheider>


Commando : Omschrijving

/time set day : Maak het dag.

/time set night : Maak het nacht.

/weather rain  : Laat het regenen.

/give (minecraft gebruikersnaam) (het item dat je wilt geven): Geef items aan een gebruiker.

/tp (De persoon waar je naartoe wilt : Als je naar iemand toe wilt gaan door te teleporteren

/summon (het beest dat je wil inspawnen) : Als je een beest wilt inspawnen

/xp (aantal xp dat je wilt) : Als je experience wilt

 

Whitelists

Na installatie van je Minecraft server kan iedere Minecraft gebruiker van je server gebruik maken. Je past dit aan door een whitelist in te stellen. Een whitelist is een lijst van Minecraft gebruikers die toegang tot de Minecraft server hebben. Je voegt een whitelist toe aan een server door  het commando ‘/whitelist on’ in te typen. Daarna voeg je Minecraft gebruikers toe aan de whitelist door ‘/whitelist add minecraftnaamgebruiker’ in te typen. Een overzicht van de gebruikers die op de whitelist staan krijg je door ‘/whitelist list’ in te typen. De whitelist zet je uit door ‘/whitelist off’ in te typen.

Tot slot

Alle ingrediënten voor je eigen Minecraft server zijn nu aan de orde gekomen. We wensen je samen met andere spelers veel speelplezier op je zelf geïnstalleerde en beheerde Minecraft server!