Installer un serveur minecraft dans un container lxc
Configuerer le container
Configuration réseau du container :
# Template used to create this container: /usr/share/lxc/templates/lxc-debian
# Parameters passed to the template: --release buster
# Template script checksum (SHA-1): b290eda01b21f9818fcf1402b2749c4c218500ed
# For additional config options, please look at lxc.container.conf(5)
# Uncomment the following line to support nesting containers:
#lxc.include = /usr/share/lxc/config/nesting.conf
# (Be aware this has security implications)
lxc.network.type = veth
lxc.network.hwaddr = 00:16:3e:e2:00:63
lxc.network.flags = up
lxc.network.name = eth1
lxc.network.ipv4 = 10.0.30.10/24
# L'interface bridge est le link
lxc.network.link = lxcbr0
lxc.rootfs = /home/omer/containers/minecraft
lxc.rootfs.backend = dir
lxc.network.ipv4.gateway = 10.0.30.1
# Common configuration
lxc.include = /usr/share/lxc/config/debian.common.conf
# Container specific configuration
lxc.tty = 4
lxc.utsname = minecraft
lxc.arch = amd64
#memory.limit_in_bytes=128M
Et j’ai rajouté dans le fichier /etc/hosts
minecraft.private 10.0.30.10
Installer le serveur
On commence par installer java
apt install default-jre
Ensuite on télécharge le serveur (avec wget)
Télécharger le serveur sur : https://www.minecraft.net/en-us/download/server
wget https://launcher.mojang.com/v1/objects/4d1826eebac84847c71a77f9349cc22afd0cf0a1/server.jar
Configuration du serveur
- Lancer le serveur
java -Xmx1024M -Xms1024M -jar server.jar nogui
-
Modifier le ficheir eula.txt et remplacer false par true
-
Relancer le serveur
Ouvrir les ports
Si le serveur se trouve su un serveur distant, il faut maintenant rediriger les port vers le container. Nous allons faire ça avec iptables installé sur la machine hôte (c’est comme pour le ssh).
iptables -t nat -A PREROUTING -p tcp --dport <port d'entrée> -j DNAT --to <ip container>:22
ex :
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to 10.0.30.7:22
Script lancement
Pour optimiser le lancement du serveur créer un script run.sh
#!/bin/bash
cd "`dirname "$0"`"
java -Xmx1G -Xms1G -jar server.jar nogui
Lancer minecraft au démarrage du serveur (service systemctl)
Créer un fichier portant l’extension .service dans le répertoire /etc/systemd/system/. Ce fichier contiendra la description du service :
[Unit]
Description=Lance le serveur minecraft
[Service]
Type=oneshot
ExecStart=/bin/bash /root/minecraft/run.sh
Pour lancer le service tapez la commande :
systemctl start monservice.service
enable pour le lancer à chaque démarrage et stop pour le stopper.
Compteur de mort
/scoreboard objectives add Morts deathCount
puis
/scoreboard objectives setdisplay list Morts