Warcraft II
Growing up, Warcraft II was one of my favorite games. I used to play it with my friend all the time over a modem connection; "Mom, don't pick up the phone! It's Erik connecting."
Erik, if you're out there - the allies shall not be denied!
I've gotten the itch to play multiplayer again and I have two new people to share the game with, my boys. Below are the steps that I took to get multiplayer up and running on Fedora and Windows 11. A lot of information online is outdated (using a wine32 prefix) or is slowly getting lost to time.
Note: I used the version from GOG (unfortunately, no longer available) and not my original cd-rom/ISO. GOG bundles its own copy of IPXWrapper. If you're not using the GOG install, you will need to setup IPXWrapper yourself.
Fedora/Linux
Prerequisites:
Wine Configuration
The latest versions of Wine no longer support a wine32 prefix. Instead Wine now uses a WoW64 mode.
Create a separate Wine prefix:
WINEPREFIX=~/.wine-wc2 winecfg
I stuck with Windows 10 for the Windows version and left the other defaults as is.
Install
Under the wine-wc2 prefix, install Warcraft II.
WINEPREFIX=~/.wine-wc2 wine setup_warcraft_2_*.exe
ipxemu
After installing Warcraft II:
- Make a backup of
wsock32.dllandWarcraft II BNE.exe. - Extract
ipxemu-1.0.4.zipand copywsock32.dllinto the folder where Warcraft II was installed, replacing the existingwsock32.dll. - Copy
warcraft_2_bne_bugfix.exefrom the ipxemu "tools" folder into the Warcraft II folder and run the exe to patchWarcraft II BNE.exe.
cd ~/.wine-wc2/drive_c/GOG\ Games/Warcraft\ II\ BNE/
WINEPREFIX=~/.wine-wc2/ wine warcraft_2_bne_bugfix.exe
Apparently Warcraft II shipped with a "non-compliant" implementation of IPX. The bug fix from ipxemu patches the executable to be compliant.
I did not run into any issues using wine to run the bugfix. If you do run into issues, you can use a Windows machine to create the patched exe.
cnc-ddraw
cnc-ddraw is necessary for Warcraft II to utilize the full display. It replaces the DirectDraw API used by Warcraft II with a re-implementation using OpenGL/Direct3D. When Warcraft II renders at 640x480, cnc-ddraw will upscale it to the full display resolution using OpenGL.
In the folder where Warcraft II was installed:
- Make a backup of
ddraw.dll. - Extract
cnc-ddraw-experimental-releaseand copy all the extracted contents into the Warcraft II folder. - Run
cnc-ddraw config.exeto configure cnc-ddraw.
cd ~/.wine-wc2/drive_c/GOG\ Games/Warcraft\ II\ BNE/
WINEPREFIX=~/.wine-wc2/ wine cnc-ddraw\ config.exe
I enabled "Maintain aspect ratio".
Running
Once everything is installed, patched, and replaced, run Warcraft II making sure to specify wine to use the patched wsock32 and ddraw dlls. You will need to use Warcraft II BNE.exe to launch the game, not the Warcraft II BNE_dx.exe (GOG enhanced version). The GOG enhanced version is not patched by ipxemu. You will get stuck trying to connect to an IPX multiplayer game.
cd ~/.wine-wc2/drive_c/GOG\ Games/Warcraft\ II\ BNE/
WINEPREFIX=~/.wine-wc2/ WINEDLLOVERRIDES="wsock32=n,ddraw=n" wine Warcraft\ II\ BNE.exe
Windows
Prerequisites:
- ipxemu
- Warcraft II installer from GOG
ipxemu
After installing Warcraft II:
- Make a backup of
wsock32.dllandWarcraft II BNE.exe. - Extract
ipxemu-1.0.4.zipand copywsock32.dllinto the folder where Warcraft II was installed, replacing the existingwsock32.dll. - Copy
warcraft_2_bne_bugfix.exefrom the ipxemu "tools" folder into the Warcraft II folder and run the exe to patchWarcraft II BNE.exe.
Reminder: you will need to use Warcraft II BNE.exe to launch the game, not the Warcraft II BNE_dx.exe (GOG enhanced version). The GOG enhanced version is not patched by ipxemu. You will get stuck trying to connect to an IPX multiplayer game.
Windows Firewall
If you still run into connectivity issues, make sure Windows Firewall has allowed Warcraft II BNE.exe. Depending on your network setup, you should be prompted the first time running the game or you may need to manually add an exception.