Dokumentation

Einfache Dokumentation zu meiner Software

Vorwort

Für die Verbindung zwischen Baroni Suite™ und dem Rootserver wird der Baroni Suite™ Core Daemon verwendet. Dieser übernimmt die Kommunikation mit Baroni Suite™ und führt die benötigten Befehle direkt auf dem Rootserver aus. Für den Betrieb werden unter anderem Python 3 und Docker CE benötigt. Das Installationsskript richtet die benötigten Komponenten automatisch ein. Alternativ kannst du alle Komponenten auch manuell installieren. Diese Anleitung ist für Debian und Ubuntu vorgesehen.
Der Baroni Suite™ Core Daemon muss als Benutzer root ausgeführt werden. Nur so besitzt er die benötigten Rechte für Docker, Benutzerverwaltung, Gameserver und weitere Systemfunktionen.

1. Automatische Installation

Lade das Baroni Suite™-Installationsskript herunter und führe das Skript als root aus:
cd /home
bash <(wget -qO- https://baroni-edv.de/getbsuite.sh)
Bei der Auswahl, was du installieren möchtest, wählst du den entsprechenden Punkt. Wenn du nur den Rootserver einrichten möchtest, wähle 8 - Nur Rootserver. Das Installationsskript übernimmt dabei unter anderem:
  • Installation von Python 3
  • Installation von Docker CE über das offizielle Docker-Repository
  • Installation und Konfiguration von ProFTPD
  • Download der Baroni Suite™ Rootserver-Skripte
  • Einrichtung des Verzeichnisses /home/skripte
  • Einrichtung des Baroni Suite™ Core Daemons
  • Erstellung eines zufälligen Daemon-Passworts
  • Automatische Auswahl eines freien Daemon-Ports ab Port 1502
  • Automatischer Start des Daemons als root
  • Einrichtung des automatischen Starts nach einem Server-Neustart
Den verwendeten Daemon-Port und das automatisch erzeugte Passwort findest du nach der Installation unter:
/home/bsuite_daemon.txt
Die Datei ist nur für den Benutzer root lesbar.

2. Manuelle Installation

Falls du das Installationsskript nicht verwenden möchtest, kannst du die benötigten Komponenten auch manuell installieren. Die folgenden Schritte entsprechen im Wesentlichen dem Aufbau der automatischen Rootserver-Installation. Führe die Installation vollständig als Benutzer root durch. Aktualisiere zunächst die Paketquellen:
apt update

2.1 Python 3 installieren

Der Baroni Suite™ Core Daemon benötigt Python 3. Installiere Python 3 zusammen mit den weiteren benötigten Paketen:
apt install -y python3 screen curl ca-certificates wget nano
Prüfe anschließend die installierte Python-Version:
python3 --version
Wenn eine Python-3-Version angezeigt wird, ist Python korrekt installiert.

2.2 Docker CE installieren

Für die Verwaltung von Gameservern verwendet Baroni Suite™ Docker CE. Verwende hierfür das offizielle Docker-Repository und nicht das Debian-/Ubuntu-Paket docker.io. Entferne zunächst eventuell vorhandene, kollidierende Docker-Pakete:
for pkg in docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc; do
apt remove -y "$pkg" 2>/dev/null || true
done
Installiere anschließend die benötigten Pakete:
apt update
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
Lade die Informationen deines Betriebssystems:
. /etc/os-release
echo "$ID"
echo "$VERSION_CODENAME"
Bei Debian lädst du den Docker-Schlüssel mit folgendem Befehl herunter:
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
Anschließend legst du das Docker-Repository an:
cat > /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $VERSION_CODENAME
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
Bei Ubuntu verwendest du stattdessen:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
und:
cat > /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $VERSION_CODENAME
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
Aktualisiere anschließend die Paketquellen und installiere Docker CE:
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Aktiviere und starte Docker:
systemctl enable docker
systemctl start docker
Prüfe anschließend die Installation:
docker info
Wenn Docker ohne Fehlermeldung antwortet, ist die Installation abgeschlossen.

2.3 Rootserver-Skripte installieren

Die benötigten Baroni Suite™ Rootserver-Skripte werden unter /home/skripte abgelegt. Lade das aktuelle Paket herunter:
cd /home
wget -O skripte.tar https://baroni-edv.de/resources/bsuite/skripte.tar
tar -xzf skripte.tar -C /home
rm skripte.tar
Erstelle anschließend den Cache-Ordner und setze die benötigten Rechte:
mkdir -p /home/skripte/cache
find /home/skripte -maxdepth 1 -type f -exec chmod 0755 {} ;
chmod 0777 /home/skripte/cache
Für die Kompatibilität mit Baroni Suite™ werden die Bash-Skripte zusätzlich ohne die Dateiendung .sh angelegt:
cd /home/skripte

for FILE in *.sh; do
[ -e "$FILE" ] || continue
cp "$FILE" "${FILE%.sh}"
chmod 0755 "${FILE%.sh}"
done

2.4 ProFTPD konfigurieren

ProFTPD wird für den FTP-Zugriff auf die von Baroni Suite™ verwalteten Dienste benötigt. Installiere ProFTPD:
apt install -y proftpd-core
Die Konfigurationsdatei befindet sich normalerweise unter:
/etc/proftpd/proftpd.conf
Öffne die Datei:
nano /etc/proftpd/proftpd.conf
Füge am Ende folgende Baroni Suite™ Einstellungen hinzu:
### BEGIN Baroni Suite Settings ###

### Baroni Suite™ Settings

<Directory ~>
HideFiles (^..+|.ssh|.bash_history|.bash_logout|.bashrc|.profile|srcds_run|srcds_linux|hlds_run|hlds_amd|hlds_i686|.rc|.sh|.7z|.dll|start.sh|.ftpaccess)$
PathDenyFilter (^..+|.ssh|.bash_history|.bash_logout|.bashrc|.profile|srcds_run|srcds_linux|hlds_run|hlds_amd|hlds_i686|.rc|.sh|.7z|.dll|start.sh|.ftpaccess)$

```
HideNoAccess on

<Limit CHMOD SITE_CHMOD>
    DenyAll
</Limit>
```

</Directory>

<Directory /home/*/*>
Umask 077 077 </Directory>

<Directory /home/skripte/*>
Umask 077 077

```
<Limit RNFR RNTO STOR DELE MKD RMD>
    DenyAll
</Limit>
```

</Directory>

AllowOverwrite on
UseReverseDNS off
DefaultRoot ~
RequireValidShell off
AuthOrder mod_auth_pam.c mod_auth_unix.c

### END Baroni Suite Settings

Prüfe anschließend die Konfiguration:
proftpd -t
Wenn keine Fehlermeldung angezeigt wird, starte ProFTPD neu:
systemctl restart proftpd

2.5 Core Daemon konfigurieren

Bei einer manuellen Installation musst du den Baroni Suite™ Core Daemon selbst konfigurieren. Die Konfiguration befindet sich unter:
/home/skripte/daemon.ini
Öffne die Datei mit nano:
nano /home/skripte/daemon.ini
Passe dort mindestens den Daemon-Port und das Passwort an:
[daemon]

Erlaubte IP-Adresse für den Zugriff (127.0.0.1 = nur localhost, 0.0.0.0 erlaubt alle IPs)
allowed_ip = 0.0.0.0

Port (Daemon)
listen_port = 1502

Maximale Verbindungen (gleichzeitig)
max_connections = 100

Passwort (Authentifizierung des Daemons)
password = DEIN_SICHERES_PASSWORT

Webhook-URL (Discord-Benachrichtigungen)
webhook_url =

Debug-Modus aktivieren (1 = an, 0 = aus)
debug = 0

[database]

Benutzername für MySQL/MariaDB
user = root

Passwort für MySQL/MariaDB
passwd =
Verwende für password ein sicheres und ausreichend langes Passwort. Port 1502 kann verwendet werden, sofern dieser noch nicht durch einen anderen Dienst belegt ist. Alternativ kannst du einen anderen freien Port verwenden. Mit STRG + O speicherst du die Datei und mit STRG + X beendest du nano.

3. Daemon starten

Bei der automatischen Installation wird der Baroni Suite™ Core Daemon automatisch eingerichtet, konfiguriert und gestartet. Die folgenden Schritte sind daher nur bei einer manuellen Installation notwendig.
Der Baroni Suite™ Core Daemon muss als Benutzer root ausgeführt werden. Für Docker, Benutzerverwaltung, Gameserver und weitere Systemfunktionen werden Root-Rechte benötigt.
Wechsle bei Bedarf zuerst zum Benutzer root:
su -
Starte den Daemon anschließend in einem eigenen Screen:
cd /home/skripte
screen -dmS bs-daemon ./daemon
Ob der Daemon läuft, kannst du mit folgendem Befehl prüfen:
screen -ls
Dort sollte ein Screen mit dem Namen bs-daemon angezeigt werden. Damit der Daemon nach einem Neustart des Rootservers automatisch wieder gestartet wird, muss der Cronjob in der Crontab des Benutzers root angelegt werden. Öffne die Root-Crontab:
crontab -e
Füge folgende Zeile hinzu:
@reboot sleep 10 && cd /home/skripte && /usr/bin/screen -dmS bs-daemon ./daemon
Durch die Verzögerung von 10 Sekunden startet der Daemon kurz nach dem Hochfahren des Systems automatisch.
Der Cronjob muss in der Crontab von root angelegt werden, damit der Core Daemon nach einem Neustart wieder mit Root-Rechten gestartet wird.

4. System-Rootserver verbinden

Um einen System-Rootserver in Baroni Suite™ hinzuzufügen, gehst du im Adminbereich auf Root & V-Server → System Rootserver. Dort fügst du einen neuen Server hinzu und gibst an, für welche Dienste er verwendet werden soll. Als Verbindungsart wird der Linux-Daemon verwendet. Bei einer manuellen Installation verwendest du den Port und das Passwort, die du zuvor selbst in der /home/skripte/daemon.ini eingetragen hast. Der Standardpfad für die Rootserver-Skripte lautet:
/home/skripte
Trage anschließend die entsprechenden Daten des Rootservers ein und speichere den Server. Wenn Baroni Suite™ und der Rootserver auf unterschiedlichen Servern laufen, muss der eingestellte Daemon-Port über die verwendete Firewall erreichbar sein.

5. V-Server-Verwaltung

Damit du V-Server über Baroni Suite™ verwalten kannst, muss Proxmox auf dem Server installiert sein. Wie das funktioniert, findest du auf der Webseite von Proxmox. In Baroni Suite™ werden V-Server als LXC-Container erstellt. Bitte füge unter Root & V-Server → System Rootserver auch mehrere IPs untereinander hinzu. Weitere Einstellungen nimmst du direkt auf dem Rootserver vor. Dafür muss die daemon.ini angepasst werden:
nano /home/skripte/daemon.ini
Passe dort den Bereich [proxmox] an:
[proxmox]

Automatischer Start nach dem Booten (1 = an, 0 = aus)
hostboot = 1

Automatischer Start nach Installation (EMPFOHLEN) (1 = an, 0 = aus)
installboot = 1

Standard-Netzwerkschnittstelle für LXC-Container (vmbrX)
bridge = vmbr0

IP-Adressen-Subnetz, wird benötigt für Proxmox (Standard 255 Adressen /24)
ipsubnet = 24

Gateway-IP-Adresse (meist dieselbe IP mit 1 als letzter Zahl)
gateway =
Lege hier am besten alles direkt fest, und schon kannst du mit der Erstellung von V-Servern in Baroni Suite™ loslegen.