Minecraft Server mit rfwadmin unter Ubuntu 14.04 LTS und ISPConfig
Aus znilwiki
Ich hatte bisher einen Minecraft Server auf meinem Heimserver laufen (DSL 16.000) und über meine Fritz!Box freigegeben.
Nun, da ich den Rest auch auf meinem Webserver im Internet laufen habe - warum nun nicht auch diesen.
Die Map die ich bisher bespielt hatte wollte ich gerne Mitnehmen - und ein Management-Tool wäre auch nett ....
Meine Wahl fiel dann auf rfwadmin: https://github.com/Thue/rfwadmin
Und so habe ich das ganze unter ISPConfig eingerichtet:
Subdomain in ISPConfig anlegen
In ISPConfig habe ich eine neue Subdomain angelegt:
minecraft.znil.net
Unter dieser soll dann das Admin-Panel laufen.
Der Server selbst ist ja nur über Port 25565 erreichbar.
In den Einstellungen der Webseite unter Option beim Parameter PHP open_basedir
setzen wir noch folgenden Eintrag vorweg:
/var/lib/minecraft/:
so das die ganze Zeile wie folgt aussieht:
/var/lib/minecraft/:/var/www/clients/client0/web25/web:/var/www/clients/client0/web25/private:/var/www/clients/client0/web25/tmp:/var/www/minecraft.znil.net/web:/srv/www/minecraft.znil.net/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin
Auf der gleichen Seite sehen ich das bei mir diese Subdomain unter dem Benutzer
Linux User: web25
und der Gruppe
Linus Group: client0
läuft - Ihr sucht den euren Benutzer und eure Gruppe und merkt euch diese!
Vorraussetzungen
Loggt euch auf eurem Server per SSH ein und wechselt ggf. zum Benutzer root:
sudo -i
Installiert die noch folgenden Pakte nach:
apt-get install tmux openjdk-7-jre libapache2-mod-php5 php5-curl wget zip unzip git
Webverzeichnis Vorbereiten
Meine Subdomain heisst
minecraft.znil.net
also heisst das Webverzeichnis bei ISPConfig
/var/www/minecraft.znil.net/web
Und wir löschen jetzt alles was da drin ist:
rm -R /var/www/minecraft.znil.net/web/*
Den Pfad müsst Ihr natürlich an eure Subdomain anpassen.
ifwadmin herunterladen und anpassen
Wechselt ins Verzeichnis Quellenverzeichnis und ladet den rwfadmin herunter:
cd /usr/src git clone https://github.com/Thue/rfwadmin.git cd /usr/src/rfwadmin
Nun passen wir die Installationsdatei an:
nano install.sh
und ändern die folgenden Zeilen:
Original:
#You can also use WEBINTERFACE_DIR=/var/www/ to put the web interface in the www root if [ -d /var/www/html ]; then #centos has webroot /var/www/html WEBINTERFACE_DIR="/var/www/html/rfwadmin" else #Ubuntu has webroot /var/www WEBINTERFACE_DIR="/var/www/rfwadmin" fi #rfwadmin runs as the web server user. If $WEBSERVER_USER is empty, this script will try to guess the web server user from the owner of the process currently using port 80 WEBSERVER_USER=
Geändert:
#You can also use WEBINTERFACE_DIR=/var/www/ to put the web interface in the www root # if [ -d /var/www/html ]; then # #centos has webroot /var/www/html # WEBINTERFACE_DIR="/var/www/html/rfwadmin" # else # #Ubuntu has webroot /var/www # WEBINTERFACE_DIR="/var/www/rfwadmin" # fi WEBINTERFACE_DIR="/var/www/minecraft.znil.net/web" #rfwadmin runs as the web server user. If $WEBSERVER_USER is empty, this script will try to guess the web server user from the owner of the process currently using port 80 WEBSERVER_USER=web25
Den Pfad müsst Ihr natürlich an eure Subdomain anpassen.
Und den richtigen Web-Benutzer natürlich
Minecraft-Server installieren und anpassen
Nun führen wir das Installationsscript aus:
cd /usr/src/rfwadmin ./install.sh
er kopiert und startet dann den Minecraft-Server.
Den Dienst beenden wir gleich wieder:
service minecraft_default.sh stop
Dann bearbeiten wir das Start-Skript:
nano /etc/init.d/minecraft_default.sh
und ändern die folgende Zeile:
Original:
SU_TO_USER="www-data"
Geändert:
SU_TO_USER="web25"
Den Benutzer müsst ihr wiederum an den Benutzer anpassen unter dem auch die Subdomain läuft!
Nun müssen wir noch den Besitz des Verzeichnisses mit Minecraft-Server anpassen
chown -R web25:root /var/lib/minecraft/
und den Benutzer des Web-Verzeichnisses der Subdomain:
chown -R web25:client0 /var/www/minecraft.znil.net/web/
Server starten
Mit
service minecraft_default.sh start
sollte sich der Server nun starten lassen und dann unter dem Benutzer web25 laufen:
ps -awx | grep "java -Xms" 6375 pts/7 Sl+ 0:13 java -Xms1024M -Xmx1024M -server -jar /var/lib/minecraft/jars/serverjars/minecraft_server.1.8.jar nogui
An den Parameter können wir sehen das der Server sich immer mindestens 1GB (= -Xms1024m) reserviert bis zu einem Maximum von 1GB (= -Xmx1024m).
Nun, soviel ist auf meinem Server nun auch nicht los und das reservierte Gigabyte somit Verschwendung.
Deshalb berarbeiten wir die
/var/lib/minecraft/minecraft_base.sh
und ändern die Zeile
MEM_LOW="1024M"
in
MEM_LOW="32M"
Nach einem Neustart des Servers gilt der neue Wert:
service minecraft_default.sh restart ps -awx | grep "java -Xms" 6375 pts/7 Sl+ 0:13 java -Xms32M -Xmx1024M -server -jar /var/lib/minecraft/jars/serverjars/minecraft_server.1.8.jar nogui
Webinterface absichern
Zur Zeit kann nun jeder die Subdomain aufrufen und Unfug machen - deshalb solltet Ihr den Zugriff absichern.
Entweder erstellt Ihr selbst eine .htaccess
im Web-Verzeichnis oder Ihr nutzt in ISPConfig die Funktionen
- Protected Folders
- Protected Folders User