VOGONS


Reply 40 of 54, by leonardo

User metadata
Rank Oldbie
Rank
Oldbie
THEBaratusII wrote on 2023-10-27, 06:19:
Not sure if this was documented, but did you know that ipxbox has a uplink feature that allows you to connect to a ipxbox server […]
Show full quote
Demetrio wrote on 2023-09-09, 05:48:
I actually managed to setup an IPX server with fragglet's ipxbox and be able to play between DOSBox and real DOS/Win9x clients 🙂 […]
Show full quote
leonardo wrote on 2022-03-20, 12:11:
Is there any solution that currently works for bridging DOSBox players with DOS/Win9x-players? […]
Show full quote

Is there any solution that currently works for bridging DOSBox players with DOS/Win9x-players?

ipxbox claims to be able to do this, but so far I've been unable to make any headway with it. Confusingly, there are also multiple forks:

https://github.com/fragglet/ipxbox/
https://github.com/unterwulf/ipxbox
https://github.com/liangzai951/ipxbox
https://github.com/glaso95/ipxbox
https://github.com/skadarnold/ipxbox

The furthest I got was with ipxgw running in a Ubuntu 18.04 VM with a bridged network adapter (based on the solution posted in this support thread), but sadly even it fails with the clients seeing one another, but being unable to communicate properly).

I'm sorry for the OP, perhaps this should become a separate thread - but insofar as he is also basically trying to provide the same solution as ipxbox and ipxgw, it might be useful for him to know this is something we are looking for. DOSBox can already connect multiple emulated clients together, and there are several stand-alone DOSBox IPX-servers already available - just seemingly none that are particularly easy to set up for running atop embedded hardware such as a router (why else would you want a stand-alone server, just run the server on one of your multiplayer nodes!) or bridging the IPX network in a way that allows for retro hardware to join the fight with emulated clients.

I actually managed to setup an IPX server with fragglet's ipxbox and be able to play between DOSBox and real DOS/Win9x clients 🙂

I believe I found the best setup: it works really well, like LAN play.
Keep in mind that it needs a good bandwidth by every client, because of the nature of IPX-based game netcode.

BTW, I'll write here the solution for anyone interested.

Server

Install and setup ipxbox as reported here: https://github.com/fragglet/ipxbox/blob/master/HOWTO.md
I've installed it on an AWS VM but port forwarding is also ok.

DOSBox clients

Connect to the server with IPXNET command:

Z:\>config -set ipx true
Z:\>ipxnet connect [ipxbox IP] [ipxbox port]

After that, run the network IPX game as usual.

DOS clients

Download the dali utility zip from here: https://github.com/fragglet/dali and copy the content inside the DOS machine.

First ensure the NIC driver is loaded.
Then edit connect.bat; replace:

rem The DOSbox server to connect to. 
set server=ipx.soulsphere.org
set server_port=10000

with your ipxbox address and port.

You can also edit mtcp.cfg parameters if you want.

Then just run the connect.bat file.

After that, run the network IPX game as usual.

Win9x clients

For Win9x clients, you need the udpsetup utility by fragglet, which you can find here (with other tools): https://github.com/fragglet/vanilla-utilities

Extract the zip in the Win9x PC, copy udpsetup.exe in the game folder and run:

udpsetup -connect [ipxbox IP]:[ipxbox port] -nodes [players number] [game exe] [multiplayer parameters]

Example:

udpsetup -connect 3.21.80.50:2222 -nodes 2 doom -deathmatch -avg -warp 1 1 -nomonsters

After that, the client will connect to the server and when all players are connected, the game will start.

Keep in mind that, if another client starts the game, you need to pass the same game parameters with udpsetup.

Moreover, in Win98 you need to apply a patch by running an exe (udpsetup will tell you what exe to run from the vanilla-utilities).

More udpsetup info here: https://github.com/fragglet/vanilla-utilities … PSETUP-HOWTO.md

P.S. I wrote the issue on ipxgw, but then I switched to ipxbox, which is a lot better 🙂

Not sure if this was documented, but did you know that ipxbox has a uplink feature that allows you to connect to a ipxbox server and can allow you to play multiplayer games on old hardware alongside people using DOSBox and ipxwrapper? For those hosting, just use the "-uplink_password <passwordhere>" command line without quotes.

As for joining an uplinked server, you need to have a compiled binary of ipxbox_uplink and WinPcap/Npcap installed and grab the ethlist.exe file to list the devices (I grabbed mine out of a build of Cockatrice III "fork of Basilisk II")

Example : ipxbox_uplink.exe --pcap_device <device> --uplink_server <ip>:<port> --password <password>

Have fun!

I feel like I'm getting close now - but udpsetup seems to be tailored for very specific games and won't work with simply any IPX-game.

Can't use DALI which seems would do what I want, because I'm running the games under Windows 95.

Does ipxbox_uplink.exe allow me to connect my Win9x-clients to a ipxbox server for LAN-play with DOSBox players, or is this yet another solution that depends on something else?

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 41 of 54, by Demetrio

User metadata
Rank Member
Rank
Member
leonardo wrote on 2024-02-03, 20:54:
I feel like I'm getting close now - but udpsetup seems to be tailored for very specific games and won't work with simply any IPX […]
Show full quote
THEBaratusII wrote on 2023-10-27, 06:19:
Not sure if this was documented, but did you know that ipxbox has a uplink feature that allows you to connect to a ipxbox server […]
Show full quote
Demetrio wrote on 2023-09-09, 05:48:
I actually managed to setup an IPX server with fragglet's ipxbox and be able to play between DOSBox and real DOS/Win9x clients 🙂 […]
Show full quote

I actually managed to setup an IPX server with fragglet's ipxbox and be able to play between DOSBox and real DOS/Win9x clients 🙂

I believe I found the best setup: it works really well, like LAN play.
Keep in mind that it needs a good bandwidth by every client, because of the nature of IPX-based game netcode.

BTW, I'll write here the solution for anyone interested.

Server

Install and setup ipxbox as reported here: https://github.com/fragglet/ipxbox/blob/master/HOWTO.md
I've installed it on an AWS VM but port forwarding is also ok.

DOSBox clients

Connect to the server with IPXNET command:

Z:\>config -set ipx true
Z:\>ipxnet connect [ipxbox IP] [ipxbox port]

After that, run the network IPX game as usual.

DOS clients

Download the dali utility zip from here: https://github.com/fragglet/dali and copy the content inside the DOS machine.

First ensure the NIC driver is loaded.
Then edit connect.bat; replace:

rem The DOSbox server to connect to. 
set server=ipx.soulsphere.org
set server_port=10000

with your ipxbox address and port.

You can also edit mtcp.cfg parameters if you want.

Then just run the connect.bat file.

After that, run the network IPX game as usual.

Win9x clients

For Win9x clients, you need the udpsetup utility by fragglet, which you can find here (with other tools): https://github.com/fragglet/vanilla-utilities

Extract the zip in the Win9x PC, copy udpsetup.exe in the game folder and run:

udpsetup -connect [ipxbox IP]:[ipxbox port] -nodes [players number] [game exe] [multiplayer parameters]

Example:

udpsetup -connect 3.21.80.50:2222 -nodes 2 doom -deathmatch -avg -warp 1 1 -nomonsters

After that, the client will connect to the server and when all players are connected, the game will start.

Keep in mind that, if another client starts the game, you need to pass the same game parameters with udpsetup.

Moreover, in Win98 you need to apply a patch by running an exe (udpsetup will tell you what exe to run from the vanilla-utilities).

More udpsetup info here: https://github.com/fragglet/vanilla-utilities … PSETUP-HOWTO.md

P.S. I wrote the issue on ipxgw, but then I switched to ipxbox, which is a lot better 🙂

Not sure if this was documented, but did you know that ipxbox has a uplink feature that allows you to connect to a ipxbox server and can allow you to play multiplayer games on old hardware alongside people using DOSBox and ipxwrapper? For those hosting, just use the "-uplink_password <passwordhere>" command line without quotes.

As for joining an uplinked server, you need to have a compiled binary of ipxbox_uplink and WinPcap/Npcap installed and grab the ethlist.exe file to list the devices (I grabbed mine out of a build of Cockatrice III "fork of Basilisk II")

Example : ipxbox_uplink.exe --pcap_device <device> --uplink_server <ip>:<port> --password <password>

Have fun!

I feel like I'm getting close now - but udpsetup seems to be tailored for very specific games and won't work with simply any IPX-game.

Can't use DALI which seems would do what I want, because I'm running the games under Windows 95.

Does ipxbox_uplink.exe allow me to connect my Win9x-clients to a ipxbox server for LAN-play with DOSBox players, or is this yet another solution that depends on something else?

The solution by @THEBaratusII should work but, as said, it is not documented well (as you can see here: https://github.com/fragglet/ipxbox/blob/maste … alone/README.md).

I think I found an easier solution for Win95/98: https://github.com/fragglet/ipxbox/blob/master/PPTP-HOWTO.md
This should work with games not covered by the udpsetup.exe utility.

I will try it today on my Win98 machine 🙂

Reply 42 of 54, by Demetrio

User metadata
Rank Member
Rank
Member

It works with PPTP (tested on Windows 95)

IMG_20240204_120844.jpg
Filename
IMG_20240204_120844.jpg
File size
1.53 MiB
Views
2537 views
File comment
Win95 client
File license
CC-BY-4.0
IMG_20240204_120838.jpg
Filename
IMG_20240204_120838.jpg
File size
1.71 MiB
Views
2537 views
File comment
Linux DosBox client
File license
CC-BY-4.0

But, unfortunately, the game lags 😕 (as opposed to udpsetup)

Reply 43 of 54, by leonardo

User metadata
Rank Oldbie
Rank
Oldbie
Demetrio wrote on 2024-02-04, 12:39:

It works with PPTP (tested on Windows 95)
...
But, unfortunately, the game lags 😕 (as opposed to udpsetup)

Hmm... it could be overhead added by processing the VPN on the client. Isn't there a simple cryptography used on PPTP as opposed to just forwarding the packets over UDP?

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 44 of 54, by Demetrio

User metadata
Rank Member
Rank
Member
leonardo wrote on 2024-02-04, 16:19:
Demetrio wrote on 2024-02-04, 12:39:
It works with PPTP (tested on Windows 95) […]
Show full quote

It works with PPTP (tested on Windows 95)

IMG_20240204_120844.jpg

IMG_20240204_120838.jpg

But, unfortunately, the game lags 😕 (as opposed to udpsetup)

Hmm... it could be overhead added by processing the VPN on the client. Isn't there a simple cryptography used on PPTP as opposed to just forwarding the packets over UDP?

I did more testing so I correct my statement: the lag happens only on Windows 95 and it involves only audio playback.

In fact, when testing DOOM, it seemed the game run fine, but MIDI and SFX playback were slowed down, as you can hear in this recording:

Filename
doom_95.ogg
File size
337.91 KiB
Downloads
54 downloads
File comment
DOOM on Win95 playback lag (when other client disconnect at 00:12, resume normal speed)
File license
CC-BY-4.0

While on Windows 98 First Edition, it runs fine also on audio playback:

Filename
doom_98.ogg
File size
207.9 KiB
Downloads
55 downloads
File comment
DOOM on Win98 playback
File license
CC-BY-4.0

During these recordings, the Win98 and Win95 PCs were connected to the ipxbox server through PPTP.

I would say to use the PPTP method, as it's more handy to setup and it works with every IPX net game, and keep udpsetup.exe as fallback.


With Quake IPX net play, I had no audio issues on Windows 95, so maybe it just some games (like DOOM or DUKE3D) which have the problem on the same OS.

Reply 45 of 54, by fragglet

User metadata
Rank Newbie
Rank
Newbie
Demetrio wrote on 2024-02-04, 16:39:

I did more testing so I correct my statement: the lag happens only on Windows 95 and it involves only audio playback.

In fact, when testing DOOM, it seemed the game run fine, but MIDI and SFX playback were slowed down, as you can hear in this recording:

doom_95.ogg

Super weird! I'm rather stumped as to what could be causing that and I have a suspicion that it's going to be very hard to diagnose since it would require spelunking into the guts of the Windows 9x network stack.

At least from what you say it sounds like it's limited to the specific case of audio on Windows 95. And you can always use udpsetup as an alternative (even for Duke3D and other Build games by the way)

leonardo wrote on 2024-02-04, 16:19:

Hmm... it could be overhead added by processing the VPN on the client. Isn't there a simple cryptography used on PPTP as opposed to just forwarding the packets over UDP?

In this case, no - my PPTP server doesn't support any ciphers and negotiates with the clients to connect without encryption. So that's not it.

Reply 47 of 54, by Demetrio

User metadata
Rank Member
Rank
Member
fragglet wrote on 2024-02-05, 13:24:

Super weird! I'm rather stumped as to what could be causing that and I have a suspicion that it's going to be very hard to diagnose since it would require spelunking into the guts of the Windows 9x network stack.

Yeah, I don't blame you 😁

fragglet wrote on 2024-02-05, 13:24:

At least from what you say it sounds like it's limited to the specific case of audio on Windows 95. And you can always use udpsetup as an alternative (even for Duke3D and other Build games by the way)

Yeah, I reported the issue just in case, but we can absolutely fallback to UDPSETUP.EXE for these cases, or even to the uplink functionality reported above (which I want to try).

Anyway, appreciate ya for your work 🙂

Reply 48 of 54, by leonardo

User metadata
Rank Oldbie
Rank
Oldbie
fragglet wrote on 2024-02-05, 13:24:
Demetrio wrote on 2024-02-04, 16:39:

I did more testing so I correct my statement: the lag happens only on Windows 95 and it involves only audio playback.

Super weird! I'm rather stumped as to what could be causing that and I have a suspicion that it's going to be very hard to diagnose since it would require spelunking into the guts of the Windows 9x network stack.
At least from what you say it sounds like it's limited to the specific case of audio on Windows 95. And you can always use udpsetup as an alternative (even for Duke3D and other Build games by the way)

OK, first of all a big thanks to you for ipxbox! I haven't confirmed the audio-lag issue myself (didn't get around to installing Dial-Up Networking yet, since I was caught up looking for the most straight-forward way to bridge my boxes to the DOSBoxes on the network). udpsetup seemed really promising, but the game I was most interested in getting to work recently was C&C which I understand is not supported. Generally I'd prefer a somewhat universal / transparent solution so I wouldn't have to tinker for each individual game or the software on the vintage PCs.

On that note I already achieved IPX LAN gaming over the internet utilising a VPN-tunnel (the clients joining think they're on my LAN, and even IPX-based games work without additional setup as if the machines were here). However for the comfort of adding players, being able to add DOSBox users to the LAN would be a dream-come-true since there can only ever be so many vintage PCs per-locale.

fragglet wrote on 2024-02-05, 13:24:
leonardo wrote on 2024-02-04, 16:19:

Hmm... it could be overhead added by processing the VPN on the client. Isn't there a simple cryptography used on PPTP as opposed to just forwarding the packets over UDP?

In this case, no - my PPTP server doesn't support any ciphers and negotiates with the clients to connect without encryption. So that's not it.

Bummer - and at the time I wrote my comment I was unaware the lag had specifically to do with the audio.

I think last time I tried, I was trying to set up ipxbox for bridge mode on a dedicated box running Debian 11, but I could not get the vintage machines to see the DOSBoxed gamers regardless of the frame type I set.

tbh I may have just screwed something up, so maybe I have to give it another go.

Last edited by leonardo on 2024-02-05, 22:15. Edited 1 time in total.

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 49 of 54, by leonardo

User metadata
Rank Oldbie
Rank
Oldbie
Myg wrote on 2022-03-20, 16:42:
leonardo wrote on 2022-03-20, 12:11:

I'm sorry for the OP, perhaps this should become a separate thread

I don't mind, this thread was pretty quiet, its nice to see some stuff go on here 😀

You still OK with all this hubbub, Myg? 😁

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 50 of 54, by Demetrio

User metadata
Rank Member
Rank
Member
THEBaratusII wrote on 2023-10-27, 06:19:
Not sure if this was documented, but did you know that ipxbox has a uplink feature that allows you to connect to a ipxbox server […]
Show full quote
Demetrio wrote on 2023-09-09, 05:48:
I actually managed to setup an IPX server with fragglet's ipxbox and be able to play between DOSBox and real DOS/Win9x clients 🙂 […]
Show full quote
leonardo wrote on 2022-03-20, 12:11:
Is there any solution that currently works for bridging DOSBox players with DOS/Win9x-players? […]
Show full quote

Is there any solution that currently works for bridging DOSBox players with DOS/Win9x-players?

ipxbox claims to be able to do this, but so far I've been unable to make any headway with it. Confusingly, there are also multiple forks:

https://github.com/fragglet/ipxbox/
https://github.com/unterwulf/ipxbox
https://github.com/liangzai951/ipxbox
https://github.com/glaso95/ipxbox
https://github.com/skadarnold/ipxbox

The furthest I got was with ipxgw running in a Ubuntu 18.04 VM with a bridged network adapter (based on the solution posted in this support thread), but sadly even it fails with the clients seeing one another, but being unable to communicate properly).

I'm sorry for the OP, perhaps this should become a separate thread - but insofar as he is also basically trying to provide the same solution as ipxbox and ipxgw, it might be useful for him to know this is something we are looking for. DOSBox can already connect multiple emulated clients together, and there are several stand-alone DOSBox IPX-servers already available - just seemingly none that are particularly easy to set up for running atop embedded hardware such as a router (why else would you want a stand-alone server, just run the server on one of your multiplayer nodes!) or bridging the IPX network in a way that allows for retro hardware to join the fight with emulated clients.

I actually managed to setup an IPX server with fragglet's ipxbox and be able to play between DOSBox and real DOS/Win9x clients 🙂

I believe I found the best setup: it works really well, like LAN play.
Keep in mind that it needs a good bandwidth by every client, because of the nature of IPX-based game netcode.

BTW, I'll write here the solution for anyone interested.

Server

Install and setup ipxbox as reported here: https://github.com/fragglet/ipxbox/blob/master/HOWTO.md
I've installed it on an AWS VM but port forwarding is also ok.

DOSBox clients

Connect to the server with IPXNET command:

Z:\>config -set ipx true
Z:\>ipxnet connect [ipxbox IP] [ipxbox port]

After that, run the network IPX game as usual.

DOS clients

Download the dali utility zip from here: https://github.com/fragglet/dali and copy the content inside the DOS machine.

First ensure the NIC driver is loaded.
Then edit connect.bat; replace:

rem The DOSbox server to connect to. 
set server=ipx.soulsphere.org
set server_port=10000

with your ipxbox address and port.

You can also edit mtcp.cfg parameters if you want.

Then just run the connect.bat file.

After that, run the network IPX game as usual.

Win9x clients

For Win9x clients, you need the udpsetup utility by fragglet, which you can find here (with other tools): https://github.com/fragglet/vanilla-utilities

Extract the zip in the Win9x PC, copy udpsetup.exe in the game folder and run:

udpsetup -connect [ipxbox IP]:[ipxbox port] -nodes [players number] [game exe] [multiplayer parameters]

Example:

udpsetup -connect 3.21.80.50:2222 -nodes 2 doom -deathmatch -avg -warp 1 1 -nomonsters

After that, the client will connect to the server and when all players are connected, the game will start.

Keep in mind that, if another client starts the game, you need to pass the same game parameters with udpsetup.

Moreover, in Win98 you need to apply a patch by running an exe (udpsetup will tell you what exe to run from the vanilla-utilities).

More udpsetup info here: https://github.com/fragglet/vanilla-utilities … PSETUP-HOWTO.md

P.S. I wrote the issue on ipxgw, but then I switched to ipxbox, which is a lot better 🙂

Not sure if this was documented, but did you know that ipxbox has a uplink feature that allows you to connect to a ipxbox server and can allow you to play multiplayer games on old hardware alongside people using DOSBox and ipxwrapper? For those hosting, just use the "-uplink_password <passwordhere>" command line without quotes.

As for joining an uplinked server, you need to have a compiled binary of ipxbox_uplink and WinPcap/Npcap installed and grab the ethlist.exe file to list the devices (I grabbed mine out of a build of Cockatrice III "fork of Basilisk II")

Example : ipxbox_uplink.exe --pcap_device <device> --uplink_server <ip>:<port> --password <password>

Have fun!

After testing, I would say this is the best solution, as it just requires a Linux box in the local LAN (Windows can also be used, but setup is easier with Linux).

As reported by @THEBaratusII, run the ipxbox server with:

./ipxbox --port=10500 --uplink-password myexamplepassword

Then, on a Linux box in the local LAN, download ipxbox_uplink.go, install these packages:

sudo apt install golang libpcap-dev

and compile the code:

go build ipxbox_uplink.go

The produced executable will be used to bridge the local LAN with the ipxbox server, with the command reported by @THEBaratusII:

# example net device
device=eth0
# example server address
server=1.2.3.4:10500

sudo ./ipxbox_uplink --pcap_device "$device" --uplink_server "$server" --password myexamplepassword

DOOM run great, on audio playback too. Moreover, no configuration was needed on the retro PC side.

For non Windows 95 client, PPTP should also be fine.

Finally, for supported games like DOOM and DUKE3D, also UDPSETUP.EXE works well.

Reply 51 of 54, by Myg

User metadata
Rank Newbie
Rank
Newbie
leonardo wrote on 2024-02-05, 22:13:
Myg wrote on 2022-03-20, 16:42:
leonardo wrote on 2022-03-20, 12:11:

I'm sorry for the OP, perhaps this should become a separate thread

I don't mind, this thread was pretty quiet, its nice to see some stuff go on here 😀

You still OK with all this hubbub, Myg? 😁

*Thumbs up*

Reply 52 of 54, by THEBaratusII

User metadata
Rank Newbie
Rank
Newbie

Nice to see more people trying out ipxbox and the uplink feature. I would've tested more of this myself but one of the communities I am part of (DOSBox Deathmatch Club) have moved to Classic Gaming Arena for convenience reasons. Speaking of CGA, I will also say that there is an upcoming Windows 9x compatible version in the works and it's almost ready for beta testing so stay tuned for that.

As for ipxbox, If anyone is ever interested in finding a player for the time being, hit me up (I'm mostly on Discord because its easier) and I'll setup a ipxbox server.

EDIT : Forgot to mention that I do play mostly FPS or sometimes RTS. (Especially Blood from 1997)

Z6rBOy0.gif
My Website
YouTube Channel

Reply 53 of 54, by leonardo

User metadata
Rank Oldbie
Rank
Oldbie

OK, so I had another afternoon to try and figure out bridging my real LAN with DOSBox, and I have some new interesting findings.

Running ipxbox with ./go/bin/ipxbox --port=10000 --pcap_device=eth0 --ethernet_framing=802.2 on the Linux host has for the first time allowed me to successfully connect some C&C clients that are a mix of DOSBox and real vintage systems.

On the DOSBox client, I simply connected to the IPXBOX server with ipxnet connect x.y.z.u 10000 and then proceeded to launch the game.
On the vintage system, I set the frame type to 802.2 and launched the game.

My findings are thus:

The real system will not see a game hosted within DOSBox, but the other way around is true and the systems can play successfully 1v1.
As soon as I introduce a second vintage system (1 DOSBox, 2 x Win9x), all three are still able to start, but the game immediately produces an error saying that the players are out of sync, and the game cannot be played.

I'm going to try and see if I can introduce a more players in DOSBox against one player on a vintage system or if we're hitting a limit of 1v1 here.

edit:

Further experimentation:
frame type: Ethernet II - old systems can play together, DOSBox will not see games
frame type: 802.3raw - nobody can see or play against anybody

Also turns out that connecting to the ipxbox server while it's bridging IPX makes it so that the DOSBox players cannot reliably play against one another either.

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 54 of 54, by myne

User metadata
Rank Member
Rank
Member

Might need to analyse what the card is seeing with that magic Linux tool whose name I forget.
It sounds like a firewall problem.
Ie like Windows doesn't recognise incoming ipx packets and doesn't forward them.

Things I built:
Mechwarrior 2 installer for Windows 10/11 Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11 auto-install iso template (for vmware)
Script to backup Win9x\ME drivers from a working install