Creopard header Logo

DOSBox für Multiplayer Spiele einrichten: IPX Netzwerk und (Null)Modem

Update: 13.07.2023 | Erstellt: 20.09.2022 von creopard

Unterstüzen Sie dieses Projekt mit Ihrer Spende

Hurra,
Ihr Werbeblocker funktioniert!

Wenn Sie unsere Inhalte nützlich finden, würden wir uns über eine kleine Unterstützung freuen. Sie können auch gerne Ihren Werbeblocker für diese Seite deaktivieren, um kostenlose Dienste weiterhin zu ermöglichen.
Dieser Hinweis erscheint, weil Sie einen Werbeblocker verwenden.

DOSBox für Multiplayer Spiele einrichten: IPX Netzwerk und (Null)Modem
Klick zum Vergrößern
Bild: doom.fandom.com/wiki/Setup_program

Ab und an packt einen wieder die Lust,...

... alte DOS Spiele aus den 1990er Jahren im Multiplayermodus zu spielen.

Auf heutigen modernen Betriebssystemen ist das kaum mehr möglich, da die damals verwendeten Kommunikationsprotokolle lange nicht mehr unterstützt werden. Das Problem bei vielen alten (MS-DOS) multiplayerfähigen Spielen liegt darin, dass sie das TCP/IP-Protokoll nicht beherrschen und somit nicht direkt über ein LAN oder das Internet miteinander kommunizieren können. Sie sind für Multiplayerpartien entweder auf das IPX-Protokoll angewiesen oder unterstützen nur serielle Modem- oder Nullmodem Verbindungen. Doch die aktuellen Versionen von DOSBox unterstützen auch diese alten Kommunikationsprotokolle und Verbindungsmöglichkeiten wie:

  1. Serielle- bzw. Nullmodemverbindung über virtuelle COM-Ports für bis zu 2 Spieler/PCs
  2. IPX-Netzwerk ("Internetwork Packet Exchange") für mehr(!) als 2 Spieler/PCs
  3. Verbindungen über ein virtuelles Modem für bis zu 2 Spieler/PCs

In Verbindung mit "Tunneling" ist es einfach, somit ein kleines Netzwerk für alte Spieletitel aufzusetzen, um im Multiplayer Modus z.B. wieder "DOOM" oder "Command & Conquer" zu spielen...


Die Übertragung über das Internet erfordert dabei einige Tricks. In diesem Fall in Form eines Tunnels, der eine scheinbar direkte Verbindung zwischen den DOSBox-Instanzen der Teilnehmer herstellt. DOSBox erreicht dies, indem die Einrichtung eines PCs als Server (Host) läuft und sich alle anderen PCs als Clients verbinden - der Host muss lediglich einen Port durch seine Firewall weiterleiten.

Die virtuelle Modemunterstützung emuliert eine Modemverbindung über das Internet. Dadurch ist es möglich, alte DOS-Multiplayer Spiele, die ein Modem voraussetzen, über das Internet zu spielen, ohne dass zusätzliche Hardware benötigt wird.

Während eine Modem- oder Nullmodem-Verbindung nur zwei gleichzeitig angeschlossene DOSBox-Instanzen unterstützt, ermöglicht die virtuelle IPX-Unterstützung auch Spiele mit mehr als nur zwei verbundenen Spielern.

1. Serielle Verbindung bzw. Nullmodem Verbindung

Zuerst schauen wir uns ein Nullmodem-Setup an, um maximal zwei Spieler über einen virtuellen COM-Port als Nullmodem-Verbindung zu verbinden. Die folgenden Beispiele gehen von COM1 aus (von DOSBox als serial1 bezeichnet). Ein PC wird als Host/Server und der andere als Client fungieren.

Auf dem Server geben Sie den Typ der seriellen Verbindung ("nullmodem") und den Port an. Der Port kann beliebig sein, vorausgesetzt er ist gültig und verfügbar.

Starten Sie DOSBox und führen Sie an der Eingabeaufforderung den folgenden Befehl auf dem Server aus. (Das folgende Beispiel verwendet eine beispielhafte IP-Adresse und eine beliebige Portnummer):

Server: Nullmodem wartet auf Verbindungen auf TCP-Port 12345:

serial 1 nullmodem port:12345

Wenn der Befehl korrekt ausgeführt wurde, kann man nun mit dem Befehl "serial1" die aktuelle Konfiguration des COM-Ports abrufen und erhält dann z.B. folgende Meldung in der DOSBox: "nullmodem port:12345".

Auf dem Client geben Sie die Art der seriellen Verbindung ("nullmodem"), die IP-Adresse auf des zu verbindenden Servers und den verwendeten Port an.

Client: Nullmodem verbindet sich auf Port TCP-Port 12345 zur Server-IP 192.168.178.222:

serial 1 nullmodem server:192.168.178.222 port:12345

Hier ein Setup-Beispiel mit dem Spiel "Destruction Derby" (allerdings wegen Videoaufnahmegründen auf dem selben PC, statt auf 2 verschiedenen PCs):

Eingebettetes YouTube Video: Wenn Sie das Video anklicken, erklären Sie sich mit den Datenschutzbestimmungen von Youtube und den unseren einverstanden.
Link zum Video: https://youtu.be/L8s00IRNZHo

 

Hinweise:

  • Unter Windows bekommt man in der Kommandozeile mit "cmd" und "ipconfig /all" man die zugewiesene IP-Adresse des Servers im heimischen LAN Netzwerk
  • Die Instanz von DOSBox auf dem Server/Host muss vor der des Clients gestartet werden, damit der Tunnel erfolgreich hergestellt werden kann.

Sobald Host und Client gestartet sind, öffnen Sie ein Spiel, das Nullmodem-Verbindungen unterstützt (z. B. "Destruction Derby"  oder "Command & Conquer") und gehen zum Multiplayer-Bereich. Wenn Sie die serielle Verbindung in dem von Ihnen gewählten Spiel konfigurieren, achten Sie darauf, dass Sie den COM-Port auf die Nummer setzen, die zuvor für die Verbindung genutzt wurde ("serial1" entspricht "COM1").

Siehe auch https://www.dosbox.com/wiki/Configuration:SerialPort und https://github.com/dosbox-staging/dosbox-staging/wiki/Serial-Ports

2. IPX-Netzwerk Verbindung

Die zweite Methode besteht darin, einen IPX-Tunnel zu erstellen. Viele Spiele verwenden das IPX-Protokoll, um Multiplayer-Spiele zu unterstützen - "DOOM" zum Beispiel erlaubt Netzwerkspiele mit bis zu 4 Spielern über IPX.

Um einen IPX-Tunnel einzurichten, ist der Prozess ähnlich wie bei der Konfiguration der Nullmodemverbindung. Dazu in der Datei DOSBox.conf, die sich unter Linux in "~/.DOSBox/" oder unter Windows im Profilordner des Benutzers befindet (z.B. "C:\Users\BENUTZERNAME\AppData\Local\DOSBox"). Stellen Sie zunächst sicher, dass das IPX Protokoll in DOSBox.conf mit dem folgenden Eintrag aktiviert ist:

[ipx]
ipx=true

Das gesamte IPX-Netzwerk wird durch das interne DOSBox-Programm IPXNET verwaltet.

Server: Um ein Netzwerk einzurichten, muss ein System der Server sein. Um dies einzurichten, geben Sie in einem DOSBox-Abschnitt "IPXNET STARTSERVER" (ohne Anführungszeichen) ein. Die DOSBox-Sitzung des Servers fügt sich automatisch in das virtuelle IPX-Netzwerk ein. Für jeden anderen Computer, der Teil des virtuellen IPX-Netzes sein soll, müssen Sie wiederum "IPXNET CONNECT <Rechnername oder IP>" eingeben.

Starten Sie DOSBox und führen Sie an der Eingabeaufforderung den folgenden Befehl aus, um den Server auf dem Host-Rechner zu starten:

ipxnet startserver 12346

Die Nummer nach dem Befehl ipxnet startserver repräsentiert die Portnummer, die der Dienst verwenden wird. Dabei handelt es sich um einen UDP-Port, der über Ihre Firewall an den Host weitergeleitet werden muss. Wenn der Befehl korrekt ausgeführt wurde, bestätigt das die folgende Meldung in der DOSBox: "IPX Tunneling Server started".

Client(s): Verbinden Sie dann die Clients, indem Sie den folgenden Befehl ausführen und dabei sowohl die IP-Adresse als auch den verwendeten Port des Hosts angeben (ersetzen Sie die IP-Adresse "129.168.178.222" des Servers/Hosts und den Port im folgenden Beispiel mit der tatsächlichen IP):

ipxnet connect 192.168.178.222 12346

Wenn der Befehl korrekt ausgeführt wurde, bestätigt das die folgende Meldung in der DOSBox: "IPX Tunneling Client connected to server at 192.168.178.222".

Nach dem Start überprüfen Sie den Status des IPX-Tunnels mit folgendem Befehl:

ipxnet status

Die Verbindung von localhost (127.0.0.1) ist die lokale Instanz von DOSBox, entfernte Verbindungen werden unten mit ihren IP-Adressen angezeigt. Wenn es Probleme beim Verbindungsaufbau gibt, vergewissern Sie sich zunächst, dass die Kopie von DOSBox auf dem Host läuft, bevor die Clients versuchen, eine Verbindung herzustellen. Ein weiteres häufiges Problem ist eine Firewall, die den Port blockiert oder der Port wird nicht korrekt weitergeleitet.

Nachdem Sie sich vergewissert haben, dass der Tunnel eingerichtet ist und der/die Client(s) eine Verbindung hergestellt hat/haben, können Sie ein Spiel starten und es testen. Wählen Sie im Multiplayer-Bereich des Spiels IPX aus und starten Sie ein Spiel.

Hier ein Setup-Beispiel mit dem Spiel "DOOM" (allerdings wegen Videoaufnahmegründen auf dem selben PC, statt auf 2 verschiedenen PCs):

Eingebettetes YouTube Video: Wenn Sie das Video anklicken, erklären Sie sich mit den Datenschutzbestimmungen von Youtube und den unseren einverstanden.
Link zum Video: https://youtu.be/xG2tZKxfSXo

 

Im Folgenden eine kleine IPXNET-Befehlsreferenz:

ipxnet connect <adresse> <port>

IPXNET CONNECT öffnet eine Verbindung zu einem IPX-Tunneling-Server, der auf einer anderen DOSBox-Sitzung läuft. Der Parameter "address" gibt die IP-Adresse oder den Hostnamen des Server-Computers an. Man kann auch den zu verwendenden UDP-Port angeben. Standardmäßig verwendet IPXNET Port 213, den von der IANA zugewiesenen Port für IPX-Tunneling, für seine Verbindung.

ipxnet disconnect

IPXNET DISCONNECT schließt die Verbindung zum IPX-Tunneling-Server.

ipxnet startserver <port>

IPXNET STARTSERVER startet einen IPX-Tunneling-Server in dieser DOSBox-Sitzung. Standardmäßig nimmt der Server Verbindungen über den UDP-Port 213 an, dies kann jedoch geändert werden. Sobald der Server gestartet ist, wird die DOSBox automatisch eine Client-Verbindung zum IPX-Tunneling-Server aufbauen.

ipxnet stopserver

IPXNET STOPSERVER stoppt den IPX-Tunneling-Server, der auf dieser DOSBox\nsession läuft. Es ist darauf zu achten, dass alle anderen Verbindungen ebenfalls beendet werden, da das Stoppen des Servers zu Blockierungen auf anderen Rechnern führen kann, die den IPX-Tunneling-Server noch verwenden.

ipxnet ping

IPXNET PING sendet eine Ping-Anfrage durch das IPX-getunnelte Netzwerk. Als Antwort antworten alle anderen angeschlossenen Computer auf den Ping und melden die Zeit, die für den Empfang und das Senden der Ping-Nachricht benötigt wurde.

ipxnet status

IPXNET STATUS meldet den aktuellen Zustand des IPX-Tunnelnetzwerks dieser DOSBox-Sitzung. Für eine Liste der an das Netzwerk angeschlossenen Computer verwenden Sie den Befehl IPXNET PING.

Hinweise:

  • Auch hier gibt es, wie bei der Modemunterstützung, keine direkte IPX-Netzwerkunterstützung. Ihre DOSBox-Sitzung hat also keine Möglichkeit, Ihr echtes IPX-Netzwerk zu sehen, falls Sie eines haben.
  • Das IPX-Netzwerk wurde mit einer Reihe von Programmen getestet. Derzeit bekannte Problemspiele sind "One Must Fall 2097" und "Tyrian". Es ist unklar, ob diese Inkompatibilität mit der CPU-Emulation oder mit dem IPX-Netzwerk zusammenhängt.

Siehe auch https://www.dosbox.com/wiki/Networking_using_DOSBox_IPX

3. Unterstützung für ein virtuelles Modem

Das virtuelle Modem wurde entwickelt, um ein Modem so gut wie möglich zu simulieren. Wie echte Modems verwendet das virtuelle Modem einen COM-Port, der über die Datei DOSBox.conf zugewiesen wird. Das virtuelle Modem verwendet auch den "Hayes" AT-Befehlssatz, um Befehle an das Modem zu senden. Nachfolgend finden Sie einen Beispieleintrag in der Datei DOSBox.conf für die Modemkonfiguration:

[modem]
modem=true
comport=2
listenport=23

"modem=true" aktiviert die Modem-Emulation. Um die Emulation zu deaktivieren, ändern Sie diesen Wert in "modem=false". Die DOSBox hat zwei COM-Ports, 1 und 2. Abhängig von der Softwarekompatibilität müssen Sie diesen eventuell auf 1 ändern, obwohl die Standardeinstellung, wie hier gezeigt, in den meisten Fällen funktionieren sollte. Mit listenport wird schließlich der Port festgelegt, der auf eingehende DOSBox-Modemanrufe wartet. Port 23 ist normalerweise der Telnet-Port. Der Einfachheit halber sollten Sie diesen Wert so belassen, wie er ist, um die Einrichtung in der DOSBox so einfach wie möglich zu gestalten.

Sobald das Modem in der DOSBox aktiviert ist, verwendet man es wie ein normales Modem, mit einigen Ausnahmen. Die folgenden AT-Befehle sind mit Virtual Modem in der DOSBox gültig:

ATDT

Dies ist der Standard-Wählbefehl für ein Modem. Um eine Verbindung zu einem anderen Computer herzustellen, sollte dies der Hostname oder die IP-Adresse sein. Zum Beispiel sind ATDT127.0.0.1 und ATDTtest.domain.de gültige Einträge.

ATA

Dieser Befehl beantwortet eine eingehende Verbindungsanfrage. Beim Empfang eines eingehenden Anrufs gibt das Modem "RING" aus und ein Telefonklingeln ist zu hören. Die Eingabe von ATA schließt die Verbindung ab und die beiden DOSBox-Sitzungen sollten miteinander verbunden sein.

ATS0

ATS0 ist der Parameter für die automatische Beantwortung. Die Eingabe von "ATS0=1" bewirkt, dass die DOSBox alle eingehenden Anrufe automatisch beantwortet. Mit der Eingabe von "ATS0=0" (Standard) wird die automatische Beantwortung deaktiviert.

ATE

ATE0 schaltet das Zeichenecho aus, während ATE1 das Zeichenecho einschaltet. Dies wird vor einer Verbindung aktiviert. Nach dem Verbindungsaufbau ist das Echo deaktiviert.

ATNET

"ATNET1" sagt der DOSBox, dass Sie sich mit einer Telnet-Sitzung verbinden. Mit "ATNET0" (Standard) wird der DOSBox mitgeteilt, dass Sie sich mit einer anderen DOSBox-Sitzung verbinden. Diese Option ist nützlich, um sicherzustellen, dass die Daten korrekt über die jeweiligen Verbindungen übertragen werden.

ATI

ATI3 und ATI4 sind einfache Informationsbefehle, die nur deshalb vorhanden sind, weil sie auch in fast allen realen Modems vorhanden sind.

Hinweis:

  • Es sei darauf hingewiesen, dass das virtuelle Modem nur dazu dient, modembasierte DOS-Programme über das Internet zu verbinden. Zum jetzigen Zeitpunkt gibt es keinen direkten Modemzugang auf irgendeiner Plattform.

Siehe auch https://www.dosbox.com/wiki/Connectivity#Modem_emulation





Ähnliche Artikel anzeigen:




Unterstützen Sie uns:

Wenn Ihnen unsere Projekte gefallen, dann freuen wir uns über Ihre Unterstützung!
Unterstüzen Sie dieses Projekt mit Ihrer Spende

Unterstüzen Sie dieses Projekt mit Ihrer Spende

Hurra,
Ihr Werbeblocker funktioniert!

Wenn Sie unsere Inhalte nützlich finden, würden wir uns über eine kleine Unterstützung freuen. Sie können auch gerne Ihren Werbeblocker für diese Seite deaktivieren, um kostenlose Dienste weiterhin zu ermöglichen.
Dieser Hinweis erscheint, weil Sie einen Werbeblocker verwenden.