07/03/2018

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

  1. Lancer le serveur
java -Xmx1024M -Xms1024M -jar server.jar nogui 
  1. Modifier le ficheir eula.txt et remplacer false par true

  2. 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