VOGONS


QEMU connected to DOSBox IPXNET

Topic actions

First post, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

I whipped up a version of IPXEMU that enables QEMU to connect to DOSBox IPXNET. It enables playing legacy Windows IPX multiplayer games over Internet. At the moment, I had only tested the following games, but I expected games already supported by IPXEMU should work out-of-the-box. It is technically possible for QEMU to play against DOSBox if the game has compatible DOS and Windows IPX clients but not QEMU DOS to DOSBox, because IPXEMU is a Windows DLL for guest environment. While I have been testing with QEMU, it should also be possible for IPXEMU to work with real machines. However, getting online with Win98 retro-box could be insecure nowadays and most people would avoid the risks. So making QEMU VM connect makes sense, and for ANET/WIPX2 clients, they even work with QEMU slirp user-mode networking backend that (unlike tuntap) requires no root privilege with additional layer of NAT isolation between the host and guest network.

Tested Windows IPX games

  • MW2 Netmech/3Dfx (DirectPlay 1.0) - All Win95 Netmech clients (Pentium edition, 3Dfx, ATI, S3, PowerVR etc.) are claimed to be compatible, but perhaps only Pentium edition and 3Dfx are more likely to work on modern system with QEMU.
  • MW2 Mercenaries 1.1 D3D Mercsnet (ANET/WIPX2)
  • Titanium MW2 Netmech D3D/Glide (ANET/WPIX2)
  • Titanium Mercenaries D3D/Glide MercsNet (ANET/WIPX2)
  • Heavy Gear 1.2 D3D (ANET/WIPX2)
  • Heavy Gear 2 D3D (ANET/WIPX2)
  • Heavy Gear 2 Demo (ANET/WIPX2)
  • WarCraft 2 BNE (Blizzard)
  • Diablo 1 (Blizzard)
  • StarCraft 1 (Blizzard)
  • Atomic Bomberman (Interplay/Hudson)
  • Need for Speed 2/3/4 (EA)

VirtualBox/VMware
WIPXEMU is a pure guest-side only implementation and has no binding to QEMU whatsoever. If one prefers to run the games on VirtualBox/VMware, then WIPXEMU should work the same way as in QEMU. Both VirtualBox and VMware also possess enterprise-grade network backends equivalent to QEMU SLIRP user-mode networking and TUNTAP networking. However I did not test these 2 virtualization products. If there is any issue, please feel free to report.
PCem
The updated WIPXEMU was compiled using MINGW.org GCC without i686 code generation and contains no CMOV instructions. It can also be used with PCem. Results from googling PCem forum posts, PCem network backend is unstable. Someone had tested PCem NE2000 with SLIRP network backend and it crashed. PCem PCAP network backend requires patching and it is not available in official build.

Please understand that issues reported with VirtualBox/VMware/PCem (or even real machines) must be reproducible on QEMU, otherwise they will be regarded as immature networking implementation.

I have been testing with:

  • IPXNET from mech2.org
  • Local IPXRELAY hosted on Linux VM. It requires patch to be truly compatible with DOSBox IPXNET server behaviors.
  • Local DOSBox as IPXNET server

Other implementation of DOSBox dedicated IPX servers would hopefully work, but untested.
A major milestone for "Very Old Games On Virtual Machine" 😉 for Win9x games.

And, rejoice Mechwarriors! All MW2 games series fully restored with QEMU, including multiplayers over the Internet without intermediary game server providers. There is nothing better than preserving the games with open-source and portable emulation software for modern Windows and Linux.

Use the following configure file to connect to mech2.org
Place WIPXEMU.CFG in the game installed location
1,1,0,49002,mech2.org
Disclaimer

Attachments

  • Filename
    wipxemu-i586-20201219.zip
    File size
    44.9 KiB
    Downloads
    197 downloads
    File comment
    WIPXEMU
    File license
    Fair use/fair dealing exception
Last edited by kjliew on 2020-12-19, 15:59. Edited 12 times in total.

Reply 1 of 25, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Heavy Gear 1.2 also works!
Heavy Gear multiplayer supports cooperative games against AI, an improvement from MW2 Netmech/MercsNet.

Hvg1-ipx.png
Filename
Hvg1-ipx.png
File size
562.29 KiB
Views
3952 views
File comment
HG1 IPX
File license
Fair use/fair dealing exception

Reply 2 of 25, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Heavy Gear 2 works, too! 😉 The game does not ship with ANET IPX support, but dropping in the same WIPX2.DLL from Heavy Gear 1.2 the IPX option will show up for multiplayer. It was connected to IPXNET from mech2.org from two QEMU sessions with user-mode network backend, on the same host machine.

One of the best Windows Mecha games from the late 90's with advanced graphics.

hg2-ipx.png
Filename
hg2-ipx.png
File size
227.47 KiB
Views
3922 views
File comment
Heavy Gear 2 IPX
File license
Fair use/fair dealing exception

Reply 3 of 25, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

crazy 😀

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 6 of 25, by wadrasil

User metadata
Rank Newbie
Rank
Newbie

This is nice, thanks!

You could have the AI fight itself in Herzog Zwei and Jane's US Navy fighters. It might be time to watch the heavy Gear 2 AI fight a massive war with itself.

I lost my HG 1&2 disks and could never find them. The closest I could do to make up for it was to make people mad in table-top battletech with micro mech destroyers..

Reply 7 of 25, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

I am really a noob in network programming, sockets and routing stuffs. I think I picked the right platform to focus. QEMU network backends are really solid, there is nothing hacky to deal with host-side networking and I just focused on guest side implementation. It took me a while to really understand what IPX tunneling really is. While DOSBox IPX still remains as the greatest gem for DOS multiplayers, the implementation is very specific to DOS system architecture. The NE2000 patch is, unfortunately, disappointing if it even works at all.

The good thing about pure guest-side implementation, it is more likely to work with real machines, or other virtual machines such as VirtualBox and VMware with similar enterprise-grade network backends. This makes QEMU great for legacy Win9x games from the 90's, not just for single-player missions but multiplayers, too, and much more secure to hook up through the Internet. It is a significant breakthrough for PC games on emulation. A great productivity killer that the QEMU community has never signed up for 😜

Reply 8 of 25, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

WIPXEMU dll wrapper available in 1st post.

First, a word of warning: the DOSBox IPX protocol is completely insecure. There's no encryption or authentication supported.
I will not be held responsible if your private network happened to leak to the outside world.
Use at your own risk.

Reply 9 of 25, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Updated, adding a few words about using WIPXEMU on other emulators, VirtualBox/VMware/PCem
The new version also added 3 Blizzard games to the tested Windows IPX games list, notably WarCraft 2 BNE, Diablo 1 and StarCraft 1.

Reply 11 of 25, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
wadrasil wrote on 2020-11-19, 08:00:

I lost my HG 1&2 disks and could never find them. The closest I could do to make up for it was to make people mad in table-top battletech with micro mech destroyers..

Heavy Gear 2 has a playable free demo which includes multiplayer game. 2 maps are available, one earth-like swampy ground and another low-gravity outer-space crater.
https://archive.org/details/heavygear2

The limitation of the demo, only 640x480 (but WineD3D can scale!) and only free-for-all deathmatch for multiplayer game.

Reply 13 of 25, by siljo

User metadata
Rank Newbie
Rank
Newbie

Hi.
How do i use Local DOSBox as IPXNET server?

I did patch,rename and replace files as instructed in readme file.

I have dosbox svn with windows 95 and dosbox x with windows 98.

How do i make atomic bomberman to work?

WIPXEMU.CFG
1,1,0,Dosbox port,IP
Is this correct?

1,1,0,2000,192.168.1.200

Reply 14 of 25, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
siljo wrote on 2021-08-13, 07:40:

How do i use Local DOSBox as IPXNET server?

Just run a DOSBox instance with "IPXNET STARTSERVER".

siljo wrote on 2021-08-13, 07:40:

I have dosbox svn with windows 95 and dosbox x with windows 98.
How do i make atomic bomberman to work?

DOSBox SVN does not have networking support when one booted Win9x on it (which is unsupported). The NE2000 emulation patch, which DOSBox-X may have already included, is unstable. Last I checked (many, many years ago) it wouldn't do anything other than simple http browsing and was prone to crash. It couldn't map network shares.

I didn't try with anything else other than QEMU. There should be some debugging messages on COM1 if you have a way to capture its output and redirect to serial terminal such as TeraTerm. As for QEMU, this can be done with `-serial tcp::23,ipv4,server` and TeraTerm connected to TCP port 23.

Reply 15 of 25, by siljo

User metadata
Rank Newbie
Rank
Newbie

Ok,Thank you.
I will try to install qemu.Can i use QTemu for graphic user interface?

WIPXEMU.CFG
1,1,0,Dosbox port,IP

Do i use dosbox ipx port,or random port?

EDIT:Qemu installed. What graphic do i use to have more than 16 colors?

Reply 16 of 25, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
siljo wrote on 2021-08-14, 05:39:

Can i use QTemu for graphic user interface?

It is your choice. I always prefer simple, scriptable command line.

siljo wrote on 2021-08-14, 05:39:

WIPXEMU.CFG
1,1,0,Dosbox port,IP

Do i use dosbox ipx port,or random port?

It is the tunneling server port. The tunneling server has to start and listen to specific port, it cannot be random. The '0' before it is the client port, which can be random for anonymous port allocation.

Reply 17 of 25, by siljo

User metadata
Rank Newbie
Rank
Newbie

Ok i got it working using virtualbox.
Atomic Bomberman is not running smooth,it is a second delay. Is it running smooth on qemu?
Diablo,Starcraft,Warcraft is runing smooth.
Need for speed 2 - i get connection but i can`t run the game. What version did you try?
Nba Live 98 is working smooth.
Battlezone 1 is working smooth.

Games not working:
Command & Conquer Red Alert 2
Delta Force 1
Deta Force 2
Destruction Derby 2 ( Connected,but game freezes )
Dungeon Keeper gold
Fifa 98
Flash Fest
Hexen 2
Hyperblade
Ignition
Interstate 76 ( Connected,but game freezes )
Outlaws
Road Rash
Take No Prisioners
Test Drive 4
Postal

Reply 18 of 25, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
siljo wrote on 2021-08-23, 17:14:

Ok i got it working using virtualbox.
Atomic Bomberman is not running smooth,it is a second delay. Is it running smooth on qemu?

Atomic Bomberman is simple DirectDraw 2D game. It was very smooth on QEMU when I tested it. Not sure if the delay could be due to network.

siljo wrote on 2021-08-23, 17:14:

Need for speed 2 - i get connection but i can`t run the game. What version did you try?

I tried the Need for Speed 2 sE version with 3Dfx Glide accelerated 3D.

siljo wrote on 2021-08-23, 17:14:

Diablo,Starcraft,Warcraft is runing smooth.
Nba Live 98 is working smooth.
Battlezone 1 is working smooth.

Diablo, Starcraft, Warcraft 2 BNE were well tested games. Thanks for the feedback on other games which I didn't test.

siljo wrote on 2021-08-23, 17:14:
Games not working: Command & Conquer Red Alert 2 Delta Force 1 Deta Force 2 Destruction Derby 2 ( Connected,but game freezes […]
Show full quote

Games not working:
Command & Conquer Red Alert 2
Delta Force 1
Deta Force 2
Destruction Derby 2 ( Connected,but game freezes )
Dungeon Keeper gold
Fifa 98
Flash Fest
Hexen 2
Hyperblade
Ignition
Interstate 76 ( Connected,but game freezes )
Outlaws
Road Rash
Take No Prisioners
Test Drive 4
Postal

Yeah, if the games were not originally supported by IPXEMU or I didn't tested them, then very likely they won't work. I will have to go through the list of not-working games to figure out if they can be made to work. Anyway, thanks for your feedback. I thought the networked play of good old IPX-only Windows game pales in comparison to modern MMO games.

Reply 19 of 25, by Ringding

User metadata
Rank Member
Rank
Member

On real hardware, at least on Windows XP, and I think also earlier on Windows 98, Atomic Bomberman was very picky regarding the network switch. The more modern a switch was, the less likely it was able to run the game properly. With incompatible switches, there was a lot of jerky and erroneous movement going on.