Bulletin Board Systeme (BBSes) waren so etwas wie ein Vorgänger des Internets. Damals wählte man sich über ein Modem mit einem Terminal Emulator über die Telefonleitung in ein solches System ein um z.B. Dateien herunterzuladen, Nachrichten auszutauschen oder kleine Arcade-Spiele zu spielen. Wenn die Geschichte interessant erscheint, kann ich die FidoPedia Seite empfehlen, um die Recherche zu beginnen. Hier würde das zu weit führen.

Ich habe in den 1990.ern selbst ein System betrieben, zunächst nur Nachts (unter MS-Dos), da die einzige analoge Telefonleitung tagsüber für Gespräche genutzt werden sollte. Mit der ISDN Leitung wurde die dann 24/7 betrieben und lief unter Windows 95. Ich nutzte ProBoard (ich glaube es war Version 2.03?) und schaltete im Verlauf einen FidoNet Tosser davor. Meine Nodenummern waren 2:240/5496 und 2:240/5497 und ich holte meine Nachrichten zweimal am Tag in Hamburg aus einem, im FidoNet übergeordneten Knoten ab. Die Nachrichten konnte man online in der BBS lesen und beantworten, aber das war wegen der recht hohen Telefongebühren nicht angezeigt. Obwohl ich meine BBS natürlich lokal, ohne Telefongebühren erreichen konnte, habe auch ich eine Software genutzt (CrossPoint), die alle ungelesenen Nachrichten gepackt in einem kurzen Burst abholen und auch verschicken konnte. So hat man einmal eine Verbindung aufgebaut um neue Nachrichten zu holen, hat die dann offline in Ruhe gelesen und falls man Antworten verfasst hatte, wurden diese in einer weiteren Verbindung hochgeladen und von der BBS einsortiert. Auf diese Weise konnte ich selbst immer wieder das Zusammenspiel der Software der BBS und des Readers testen, was bei jedem Softwareupdate eine gute Idee war um die Gebühren der Nutzer nicht bei fehlerhaften Versuchen zu verbrennen.

Erste Gedanken

Natürlich kribbelt es in den Fingern nach der letzten Sicherung aus 1998? zu suchen um das alte System zu neuem Leben zu erwecken. Ich werde aber ganz sicher keine Telefonverbindung einbinden und ohne die wird das FidoNet vermutlich auch keine schnelle Option sein, denn schon der Antrag fragt nach der Telefonnummer für die Datenverbindung. Erinnerungen würde aber auch ein ganz frisch aufgesetztes System mit der damals genutzten Software zu Tage fördern und tatsächlich gibt es ProBoard noch immer: die letzte Aktualisierung ist aus 2023! Aber wie sinnvoll wäre das? Eine 16-bit Software verlangt einigen Aufwand, funktioniert das doch mit einem aktuellen Windows (64 bit) nicht ohne zusätzliche Anstrengungen, da das keine 16 bit Anwendungen mehr ausführen kann. Ein älteres, 32 bit Windows wäre sicherheitstechnisch ein Albtraum, bliebe also nur eine virtuelle Maschine zu nutzen. Da ich aber ganz sicher keine Hardware für so ein Projekt da hinstelle, müsste schon Windows 11 in einer VM laufen, welches dann wiederum Dos in mehreren virtuellen Maschinen (eine je Leitung) betreiben müsste. Das ist zwar technisch denkbar, wäre aber ein absolut Ressourcen fressendes Monster! Und da sind wir noch gar nicht bis zur Technik gekommen; immerhin würde ein System auf Dos Basis auch ein Modem ansprechen wollen. Es müsste also auch noch ein Fossil Treiber her, der die AT Kommandos nach Telnet oder SSH übersetzt. Und wenn es sowieso nicht ohne virtuelle Maschine geht, wäre da doch ein schlankes Linux ohne GUI die naheliegenste Lösung?

Die Software

Den Ausschlag gab am Ende der benötigte Fossil Treiber. Was ich für die Nutzung mit ProBoard finden konnte war alles Andere als aktuell und neben Gedanken an die Sicherheit solch alter Software, wie wäre das mit Support bei Fehlern? Ich habe mir viele BBS Systeme angeschaut und stieß bei der Recherche auf ein System Namens Mystic, welches Telnet und SSH ganz ohne weitere Software wie einen Fossil Treiber sprechen konnte. Also stürzte ich mich in dessen Dokumentation und war überrascht zu lesen, dass es die Software sowohl für Windows (32 und 64 bit) als auch Linux gab. Hier high five einfügen!

Die Installation

Ich habe ein schlankes Debian in einer virtuellen Maschine aufgesetzt: nur die wichtigsten Shell Kommandos und einen SSH Server um mich damit verbinden zu können. Auch wenn man immer wieder ließt, dass solche Systeme mit root Rechten laufen müssten, würde ich dringend davon abraten. Es geht da tatsächlich nur um die Berechtigung einen TCP Port unterhalb von 1024 an eine Software zu binden. Die einfache Lösung lautet also einen Port darüber zu verwenden. Lasst uns beginnen.

Einen Benutzer anlegen

Ich gehe davon aus, dass Linux installiert ist und du einen eigenen Benutzer mit sudo Berechtigung hast, um diese Anleitung nutzen zu können!

sudo adduser --home /opt/mystic mystic

Das Kommando legt den Benutzer an, eine gleichlautende Gruppe und das Home Verzeichnis, welches wir direkt wieder entfernen.

sudo rm -r /opt/mystic

Software Installation

Da Debian das RAR Archivformat nicht in der Grundeinstellung unterstützt, muss der Entpacker nachinstalliert werden.

sudo apt update
sudo apt install unrar-free

Danach laden wir die Software direkt in der Shell und entpacken sie (hier die 64 bit Linux Variante):

wget https://mysticbbs.com/downloads/mys112a48_l64.rar
unrar -x mys112a48_l64.rar ./mystic

Installieren wir sie dann zunächst mit root Berechtigung:

cd mystic
chmod +x ./install
sudo ./install

Der Installer versucht dann die passende Codepage festzustellen und bittet um Mithilfe:

Installation 1

In meinem Beispiel war also 2 die richtige Antwort. Im nächsten Bild wähle dann INSTALL MYSTIC BBS und passe den Pfad unter System Directory wie folgt an:

Installation 2

Bestätigst du den geänderten Pfad mit ENTER, wird er für alle anderen Zeilen übernommen und ein beherzter Druck auf die F2 Taste startet die Installation. Direkt im Anschluss müssen wir noch den Sysop einrichten und unsere Konfiguration anpassen, wie der Installationsassistent uns geheißen hat:

Wichtig: In der Konfiguration mystic -cfg musst du unbedingt den/die verwendeten Ports (der verwendeten Protokolle Telnet, SSH usw.) auf Werte oberhalb von 1024 anpassen, sonst wird der Start der BBS am Ende scheitern.

cd /opt/mystic
sudo ./mystic -l
sudo ./mystic -cfg

Sollte die BBS als root laufen, wären wir bereits fertig und könnten Mystic starten, aber das wäre für den dauerhaften Betrieb nicht nur unsicher, sondern auch unschön weil wir uns selbst um die Stabilität kümmern müssten, was wir im Folgenden gern an systemd delegieren. Zu diesem Zweck holen wir uns ein Startscript von vswitchzero und ignorieren was Mike zur Ausführung als root zu sagen hat.

cd ~
wget https://vswitchzero.com/wp-content/uploads/2019/09/mystic-systemd.zip
unzip mystic-systemd.zip ~/
cd ~/mystic-systemd

Jetzt müssen noch unsere Pfade in den Scripten hinterlegt werden. Nimm also den dir vertrauten Editor (z.B. nano ./mis-start.sh) und passe die beiden Dateien mis-start.sh und mis-stop.sh wie folgt an:

MIS_PATH=/opt/mystic
MIS_OPTS=daemon
MIS_SHUT_OPTS=shutdown

Bevor wir den Daemon einrichten können, muss auch die Dienstbeschreibung in der Datei mis.service noch geändert werden. Öffne also auch die im präfferierten Editor und ändere die Sektion [Service] wie folgt:

[Service]
Type=forking
# The mis daemon needs to start as root as discussed above, or will fail to bind TCP ports.
User=mystic
# Be sure to set the correct paths and script names below:
ExecStart=/opt/mystic/mis-start.sh
ExecStop=/opt/mystic/mis-stop.sh

Nun noch die drei geänderten Dateien an ihre Wirkungsstätte kopieren und zwei davon ausführbar machen:

sudo cp mis-start.sh /opt/mystic
sudo cp mis-stop.sh /opt/mystic
sudo chmod +x /opt/mystic/mis-start.sh
sudo chmod +x /opt/mystic/mis-stop.sh
sudo cp mis.service /lib/systemd/system

Und dann können wir das Programmverzeichnis an den dafür bestimmten Benutzer übergeben:

sudo chown -R mystic:mystic /opt/mystic

Jetzt können wir den Dienst einrichten und starten:

sudo systemctl enable mis.service
sudo systemctl start mis

Du solltest dich jetzt über Telnet mit deinem BBS verbinden können.

Administration und Pflege

Zwar ist es grundsätzlich möglich die lokale Anmeldung (mystic -l) und Konfiguration (mystic -cfg) zu nutzen, aber das müsste mit dem mystic Benutzer passieren und ich weiß aus eigener Erfahrung, das mitunter wenn es mal schnell gehen muss der sudo Befehl schneller zur Hand ist. Das KANN gut gehen, muss es aber nicht. Wird dabei eine Datei neu erstellt, hat die BBS zur Laufzeit keinen Zugriff darauf und wird entweder den Nutzer mit Fehlermeldungen konfrontieren oder gar abstürzen und durch systemd dann auch nicht widerbelebt werden können.

Melde ich lieber über einen Terminal Emulator an wie jeder andere Benutzer auch. Dadurch laufen alle Änderungen automatisch mit der passenden Berechtigung ab.

Terminal Emulation

Für den schnellen Zugriff zwischendurch genügen die mit den Betriebsystemen ausgelieferten Terminal Emulatoren. Die teilweise fortgeschrittenen Formatierungen einer BBS sind aber besser bei einem darauf spezialisierten Programm aufgehoben. Unter Windows 11 nutze ich SyncTerm, welches neben diversen Voreinstellungen auch gleich ein "Telefonbuch" mitbringt.

JCS-Net BBS

Mein Bulletin Board System ist über Telnet (Port: 23232) unter home.JCS-Net.de zu erreichen. Wie es in den 90.ern üblich war, habe ich die beiden hier verwendeten Archive dort auch zum Download bereitgestellt. Kommentare gern wie üblich im Fediverse.

Previous Post