Does anyone have experience with DirectPlay?

Network protocols, internals and low-level information about games
Xanarki
Posts: 9
Joined: Sun May 28, 2017 12:23 am

Does anyone have experience with DirectPlay?

Post by Xanarki »

So, I've noticed some inconsistencies with DirectPlay on Windows 10. For example, the 1997 game Outlaws, as long as you open the proper ports and both players have the same Windows OS and game exe, they connect fine. But yet, on the 1999 game Redline (the 1 I'm desperately trying to fix), connecting directly via IP does not work at all. I have tried numerous things, such as:

Enabling DirectPlay via legacy (of course). Both players using the same demo version. Both players using the same full patched version. Opening ports that the game calls for plus DirectPlay ports. Disabling the firewall on both the PC and router. Tried setting up a temporary DMZ on the router. Tried Kali but that didn't work (maybe ipxwrapper interfered with it, am not certain).

I know for a fact that connecting to someone else directly used to work, at least on older Windows. But I've tried 2 systems (Windows 10/Windows 10, and Windows 10/Windows 7) and fails each time, no games ever show up, regardless of who hosts or joins.

So my question actually is, has anyone had experience with getting DirectPlay to function properly for their favorite old PC game? Or, have you ever came across a similar problem? I'm just trying to look for some sort of insight, anything at all. As for the game I'm trying to fix, Redline, the dev team used their own in-house game engine. Awhile back, aluigi graciously helped with cracking open their .bgd file, and although I can't actually do much with the files at the moment, the fact that this game engine was rarely used doesn't show a lot of promise overall.

Thanks!
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Does anyone have experience with DirectPlay?

Post by aluigi »

DirectPlay reminds me the work I did 15 years ago on it with dplay7info, dplay8info, dplay7fp, dplay8fp, the dp8games information and some security vulnerabilities.

Personally I can't help and it's impossible for me to remember that old stuff but I want to give an answer just in case nobody else will.

The difference you see between Outlaws (works) and Redline (doesn't) may be just related to the DirectPlay version used in these games, 6/7 and 8/9 are very different.

Are these 2 computers on the same LAN or on the Internet?
(you mentioned a router so it's definitely Internet)

Are you using a VPN software? And what?
(I remember that LAN was mandatory and was necessary a VPN for playing games, like Hamachi)

Have you tried to collect packets with Wireshark for checking what gets lost?
Xanarki
Posts: 9
Joined: Sun May 28, 2017 12:23 am

Re: Does anyone have experience with DirectPlay?

Post by Xanarki »

aluigi wrote:DirectPlay reminds me the work I did 15 years ago on it with dplay7info, dplay8info, dplay7fp, dplay8fp, the dp8games information and some security vulnerabilities.

Personally I can't help and it's impossible for me to remember that old stuff but I want to give an answer just in case nobody else will.

The difference you see between Outlaws (works) and Redline (doesn't) may be just related to the DirectPlay version used in these games, 6/7 and 8/9 are very different.

Are these 2 computers on the same LAN or on the Internet?
(you mentioned a router so it's definitely Internet)

Are you using a VPN software? And what?
(I remember that LAN was mandatory and was necessary a VPN for playing games, like Hamachi)

Have you tried to collect packets with Wireshark for checking what gets lost?


In my opinion, any answer is better than no answer lol. And you actually helped me with 1 thing: the fact that 6/7 and 8/9 are vastly different. I didn't know any better.

What I've been trying to do, is using my desktop PC via my home router (Win10) and using my laptop via my phone's hot spot (Win7), as I wanted the connections to be separate. In addition, I had a friend in another country try to connect to me either thru my laptop or desktop PC (just in case the phone hotspot was the issue during my experiments), and neither one of us could connect to each other anyway.

The only VPN I attempted was Kali, if that counts. I was getting the same results after a few hours, and so I gave up there. I knew VPNs were needed for emulating LAN games, but didn't think for TCP/IP too (although probably possible)? I also tried hooking up both the laptop and PC to the same network, and did an IPX session (had to use ipxwrapper though because ipx is dead n gone in Win7+). That works perfectly fine. And so at least I know it's not a game version issue. I also tried both Kingpin (1999) and Rainbow Six (1998), and those both connected just fine. I'm only bringing up those 2 to show that I tried games that don't utilize DirectPlay, though.

I have never used Wireshark before. I'm looking at it now, and maybe that would give me some insight, if I knew what to look for. Thanks for the suggestions!
Xanarki
Posts: 9
Joined: Sun May 28, 2017 12:23 am

Re: Does anyone have experience with DirectPlay?

Post by Xanarki »

So, I couldn't fix the problem. But if anyone else is searching online and stumbles across this post, maybe some of the things I tried above will help their game instead. I analyzed the packets via Wireshark, as soon as the other PC tries to connect and the DirectPlay protocol appears ("enum sessions"), many packets get lost. The one that sticks out to me is the black message "TCP retransmission", which is always a 6400-ish source port and a 2300 destination port (which I made sure that I've forwarded). The only other black one is a "TCP Dup ACK" that always has a 443 source port and a different 6400-ish destination port (forwarded 'em too). Also occasionally a red "RST, ACK" message appears with different ports. There's a lot in between that I don't understand, but that's the only black/red messages. I'm gonna take a guess and, bottom line, DirectPlay on a modern OS reacts extremely differently than 20 years ago. Damn.

Also, for anyone that sees this looking for answers, I saw a solution for another game, where the Legacy Feature only enables the 64-bit DirectPlay, and won't work for 32-bit programs. Don't know how true it is, but I tried to add the 32-bit DirectPlay DLLs thinking it might work for me, but it did not.

Thanks aluigi again for directing me on this.
atom0s
Posts: 250
Joined: Sat Dec 27, 2014 8:49 pm

Re: Does anyone have experience with DirectPlay?

Post by atom0s »

Xanarki wrote:Also, for anyone that sees this looking for answers, I saw a solution for another game, where the Legacy Feature only enables the 64-bit DirectPlay, and won't work for 32-bit programs. Don't know how true it is, but I tried to add the 32-bit DirectPlay DLLs thinking it might work for me, but it did not.


The Legacy Feature for DirectPlay does work for 32bit applications. Not sure where you read otherwise, but that information is incorrect. I make modifications for an online game that requires DirectPlay to work and is 32bit. Legacy Feature stuff must be enabled on Windows 10 for the game to work.
Xanarki
Posts: 9
Joined: Sun May 28, 2017 12:23 am

Re: Does anyone have experience with DirectPlay?

Post by Xanarki »

Thank you for clearing that up. Apparently, it was a proposed fix for a game called CyberStorm, which I know nothing about.

It seems like my issue is beyond my capabilities, and requires a rework. It's a shame, but I guess that's just how it is as time goes on.
atom0s
Posts: 250
Joined: Sat Dec 27, 2014 8:49 pm

Re: Does anyone have experience with DirectPlay?

Post by atom0s »

Are you able to post the main exe of this game you are working with?
Xanarki
Posts: 9
Joined: Sun May 28, 2017 12:23 am

Re: Does anyone have experience with DirectPlay?

Post by Xanarki »

Yeah sure. https://www.mediafire.com/file/u8x9syp9 ... e.exe/file

This is the (latest/last) patched 1.1 version, as although minor, the patch focused on stability with the latency and other multiplayer issues.
atom0s
Posts: 250
Joined: Sat Dec 27, 2014 8:49 pm

Re: Does anyone have experience with DirectPlay?

Post by atom0s »

The game is using DirectPlay 4, and seems to work fine on my end. (Snagged the game for a $1 today on GoG.)

I see no issues with it running/playing network play at all. Internet connection worked fine for me. As a test I setup two VMs, both on latest Win10.

1 VM was hosting, 1 was connecting to the host. (ie. 192.168.1.100)

The game immediately found my server and joined without any issues at all. The server VM was prompted by Windows firewall to add Redline as an exception, which I agreed to for both private and public networks.

Once connected, the game appears to use the following ports for me:

Server:
- 2300
- 55021

Client:
- 2300
- 49860

(Ports are dynamic for the most part besides the 2300, probably due to UPNP or similar.)

So I would assume you are blocking something somewhere. Be it your router, firewall(s), anti-virus/network security setup, or similar. Otherwise, it looks to work fine as-is.
Xanarki
Posts: 9
Joined: Sun May 28, 2017 12:23 am

Re: Does anyone have experience with DirectPlay?

Post by Xanarki »

First, I wanna thank you for taking the time to try to figure this out. No one has ever helped me to this extent with this game before.

So, when you use your 2 VMs, does that mean they're sharing the same network though, right? Because I, too, am able to connect when I have my 2 PCs sharing the same network (my Win10 on ethernet, my Win7 on wifi). I'm sorry, I should have clarified that when I was talking about IPX and LAN.

It's only when I take 1 PC off the network, and use a completely different one (in this case, my phone's mobile hotspot), is when it fails. I also had a friend in Australia try to connect to both (because I thought maybe my hotspot was iffy), but he too failed (I put the poor guy thru the ringer, enabling DirectPlay, port forwarding, etc etc.)

I truly went the extra mile to make sure nothing was blocking it. Forwarded the ports, disabled domain/private/public Windows firewall, went onto my router's page and made sure all of my router's firewall settings were basically low (enabled "accept in both way" for every service on the page), despite turning off firewall I added both exceptions for the exe, and finally, I uninstalled my antivirus 100% completely.

I know this all seems extensive for a forgotten little '99 game, but there's really more to it than just getting a silly mode to work. I had a revival site in the works and conversations with old employees (either they weren't the programmers or were programmers that can't remember anything that long ago). If you have any other suggestions, please feel free to let me know, and I'll find a way to express my thanks. I'm determined to get this to work.

edit: I also made sure my firewall on Win7 was off and exceptions added too (no antivirus on it). I even reversed the roles too, hotspot on Win10 and ethernet or wifi on Win7. Also, on Win10, I tried connecting to Win7 via PCem instead, as I've used that emulator on other network games, but no dice. Furthermore, I briefly tried yet another internet connection, via my work phone's hotspot (separate carrier as the other). Same results. I also double checked my registry, and both DirectPlay and DirectPlay8 is there.
atom0s
Posts: 250
Joined: Sat Dec 27, 2014 8:49 pm

Re: Does anyone have experience with DirectPlay?

Post by atom0s »

Ok trying the same setup as you, 1 VM on my normal connection and 1 on my phone tethered I do see it fail. However, I do see the connection being attempted, data is sent and received, but the game never establishes the connection. This could be due to a limitation of DirectPlay looking for, or trying to force a local area connection.

You could try creating a VPN between the two connections so they appear like they are on a local network, such as a service like Hamachi used to be and see if that will allow the connection to fully connect.

My personal experiences with DirectPlay are all on the newer versions which have a lot more functionality and such for various server setups/types.
Xanarki
Posts: 9
Joined: Sun May 28, 2017 12:23 am

Re: Does anyone have experience with DirectPlay?

Post by Xanarki »

Yeah I may experiment with a VPN, just to try to figure this out. The only similar program I tried was Kali, but that failed.

Also, I went to revisit other DirectPlay games as well. Monster Truck Madness 2 has the same issue so far. Then I tried Outlaws with a different friend on both setups. It didn't work with hotspot, only my home internet.

Now I'm questioning things. Maybe a hotspot simply cannot be compatible with DirectPlay, thus making my experiments pointless (possibly because the lack of ability to forward ports?) And maybe my earlier Redline friend had another completely different issue which prevented him from connecting, don't know. I'll try out my work's connection (I have access to the router) in a few days, and that will give me concrete answers. Sorry for dragging this on, too many variables around me lol.

Edit: My theory was correct. Hotspots aren't compatible with DirectPlay. I managed to get Redline working with a friend (forwarded ports 2300, 47624, and 6073). Thanks for the replies anyhoo. If you happen to actually like the game, shoot me your Discord/Steam/GOG name. :D