Aktionen

Minecraft Server mit rfwadmin unter Ubuntu 14.04 LTS und ISPConfig

Aus znilwiki

Version vom 6. August 2017, 19:51 Uhr von BLinz2 (Diskussion | Beiträge) (Textersetzung - „<comments>“ durch „<comments />“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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.


Important.png
Hinweis: Thue, der Autor des Scriptes hat meinen Artikel hier gefunden - und sein Script so angepasst das der nachfolgende Teil eigentlich überflüssig sein sollte. Überspringt diesen Abschnitt also einfach wenn ihr keine Probleme habt



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




Kommentare

Loading comments...