Easy-Wi – das einfache Webinterface

Gameserver Imageserver

Einleitung

Weil die Erfahrung gezeigt hat, dass ein Sync per FTP störungsanfällig sein kann, ist die empfohlene Sync Methode das Tool Rsync.
Die folgende Anleitung beschreibt, wie man einen Rsync Server einrichtet, bei dem man ohne Login verbinden kann. Eine Zugriffseinschränkung kann über IPv4 bzw. Subnetze erfolgen

Um einen eigenen Imageserver bereitzustellen, brauchen wir:
Einen Rsync Server im Deamon Modus
Einen schreibenden User
Einen lesenden User in der gleichen Gruppe

User

Als erstes legen wir den schreibenden User an:

adduser imageserver

Dann legen wir den lesenden User an:

useradd -g imageserver -s /bin/false -d /home/imageserver imageuser

Rsync Deamon

Dann installieren wir rsync. Bei Debian und Ubuntu wird apt, bei Centos und RedHat wird yum verwendet:

apt-get install rsync
yum install rsync

Wir legen dir Config /etc/rsyncd.conf an und tragen ein:

max connections = 50
log file = /var/log/rsyncd.log
transfer logging = true
timeout = 10
#hosts deny = 82.211.20.112, 89.238.67.17
#hosts allow = 192.168.1.0/255.255.255.0

[easy-wi]
path = /home/imageserver/
use chroot = yes
read only = yes
uid = imageuser
gid = imageserver
		

Mit den auskommentieren hosts Einträgen kann man IPv4 Adressen und Subnetze erlauben, bzw. verbieten. Benutzt man "hosts allow" ist es automatisch allen anderen verboten zu verbinden.

Dann noch den Server neu starten:

/etc/init.d/rsync restart

Verbindungstests

Wenn man nun auf zugreifen will, kann man dies mit dem auf seine IPv4 Adresse angepassten Befehl:

rsync -azuvx 127.0.0.1::easy-wi

Geziehlt eine Datei bzw. Ordner downloaden kann man mit:

rsync -azuvx 127.0.0.1::easy-wi/control.sh

Ordner, Dateien, Images und Dateirechte

Mit dem schreibenden User können wir nun Images vorbereiten. Die Ordnerstruktur ist dabei die gleiche, wie bei dem Masteruser auf den Gamerootservern. Als erstes brauchen wir dir drei Ordner masteraddons, mastermaps und masterserver:

su - imageserver
mkdir masteraddons mastermaps masterserver

Nachdem man alle Dateien und Ordner erstellt hat, sollte man noch sicherstellen, dass die Chmods korrekt eingestellt sind, da diese von einem Gameroot mit kopiert werden. Dies könnte man mit folgenden Befehlen erreichen:

find /home/imageserver/mastermaps/ /home/imageserver/masteraddons/ -type f -exec chmod 640 {} \;
find /home/imageserver/mastermaps/ /home/imageserver/masteraddons/ -type d -exec chmod 750 {} \;

find /home/imageserver/masterserver/ -type d -exec chmod 750 {} \;
find /home/imageserver/masterserver/ -type f -name "srcds_*" -o -name "hlds_*" -o -name "*.run" -o -name "*.sh" -exec chmod 750 {} \;
find /home/imageserver/masterserver/ -type f ! -perm -750 ! -perm -755 -exec chmod 640 {} \;