It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Edit: Quick access link: The Wookiee Unicaster

The good news: There are plenty of games that support Direct IP multiplayer over TCP, so all you need is a Linux host with a public IP and a remote port forwarding tool, such as SSH, to enjoy Direct IP multiplayer over the internet. Or if your ISP provides a static public IP for you, you lucky person, you're already set and won't need anything else.

The problem: Some games only support Direct IP mutiplayer over UDP... because their multiplayer code was mainly designed for LAN use anyway. SSH (and most other tunneling tools beside VPNs) won't work with UDP traffic, since they only support TCP.

The solution: Get a VPN, fool!

... or ...

Get a Linux host with a public IP and the Wookiee Unicaster! Now available in a store near you! I'm kidding, it's fully free and open source.

(Mind you a VPN is still probably the safest option for "emulating" local multiplayer over the internet with UDP)

And yes, I wrote it, so this is a shameless shout-out with a good cause.

Right now I've only developed and tested it with Supreme Commander - Forged Alliance in mind, but any Direct IP multiplayer over LAN (ergo UDP) title that can't be played over the internet without the use of clients should now work.

If anyone cares to test it with other stubborn UDP-only Direct IP games, I'd welcome any feedback and would love to hear of any other compatible titles.

Note: LAN multiplayer games that rely on UDP broadcasting to establish a connection will still require a VPN and won't work with the Wookiee Unicaster. For other known limitations please also see this post.
Post edited November 07, 2022 by WinterSnowfall
Interesting.

I've been using Zerotier one for the bridge and IPX wrapper to point to the zerotier network.
As long as the game supports IPX it works well, but I've only tried it in a few games.
avatar
SpeedBo: I've been using Zerotier one for the bridge and IPX wrapper to point to the zerotier network.
As long as the game supports IPX it works well, but I've only tried it in a few games.
I've also been using LogMeIn Hamachi with no ill effect, but you can't expect all your friends to get, install and configure a VPN (or to even know how to do that) for a multiplayer game that should just work, since it provides a Direct IP option.

First world problem, I know, but that's essentially the main use case here: getting around VPN use when it's not entirely needed.
Post edited October 31, 2022 by WinterSnowfall
avatar
WinterSnowfall: I've also been using LogMeIn Hamachi with no ill effect, but you can't expect all your friends to get, install and configure a VPN (or to even know how to do that) for a multiplayer game that should just work, since it provides a Direct IP option.

First world problem, I know, but that's essentially the main use case here: getting around VPN use when it's not entirely needed.
When I get some free time I'll have to try it out.
Maybe that sounds like a lot of steps.
While you can use Parsec to play local multiplayer games remotely, it is hardly a solution to the topic at hand...
Apparently Divinity Original Sin - Enhanced Edition also uses a UDP Direct IP connection for "LAN" multiplayer, that I've successfully tested over the internet with the Wookiee Unicaster. Mind you it was the Linux version of the game, but I don't see why the Windows version would use a different port... (I hope not).

... but the one I'm most excited about is Anno 1701, which also supports UDP Direct IP and works :).
Post edited November 01, 2022 by WinterSnowfall
While working on adding remote multi-peer support to the Wookiee Unicaster, I stumbled upon a harsh reality of UDP multiplayer games. Since UDP is essentially a P2P oriented protocol, most games will find them selves in one of two situations:

a) Their Direct IP multiplayer mode is P2P, meaning all peers must have a "line of sight" to each other and must be able to exchange UDP packets. There's no central server and a local game instance relies on every other participating peer sending updates regarding their game status (unit movements and so on). This, unfortunately, seems to be the case with Supreme Commander.

b) Their Direct IP multiplayer follows a client-server approach, so only the game host must have direct visibility to any joining peers and game status is only exchanged between the game host and its remote peers. This is what you'd normally expect from TCP-based multiplayer as well. Some games, such as Anno 1701, follow this model even in their UDP-based Direct IP implementation.

While the Wookiee Unicaster will soon fully support any number of remote peers in case b), case a) can only ever support a maximum of 2 players (one host and one remote peer, with full direct visibility between each other ensured by the UDP relaying logic of the Wookiee Unicaster).

In case a), even though any number of remote peers will be able to connect to the game host, the host won't be able to start a game, because it will complain about remote peers not having direct connections to each other - which is not possible anyway, since they will typically be behind NAT, on separate LANs. This design approach of multiplayer code sort of breaks the purpose of having a Direct IP option in the first place IMHO, beside providing an option of getting around broadcast traffic being limited somehow in your LAN, perhaps.

So, for more than 2 player enjoyment with games that went with implementation a), a VPN is still very much required. But I guess it's easier to convince a bunch of people to get this kind of setup going than it is to convince a single person, so for quick 1 on 1 versus matches, or 2 player cooperative play, the Wookiee Unicaster will still serve you well, and any-number-of-remote-players support will be added for b) in an upcoming code update.
Post edited November 03, 2022 by WinterSnowfall
avatar
WinterSnowfall: While working on adding remote multi-peer support to the Wookiee Unicaster, I stumbled upon a harsh reality of UDP multiplayer games. Since UDP is essentially a P2P oriented protocol, most games will find them selves in one of two situations:

a) Their Direct IP multiplayer mode is P2P, meaning all peers must have a "line of sight" to each other and must be able to exchange UDP packets. There's no central server and a local game instance relies on every other participating peer sending updates regarding their game status (unit movements and so on). This, unfortunately, seems to be the case with Supreme Commander.
Sounds like a different protocol needs to be made and adopted to work around the ever growing 'behind a firewall/lan' configuration. I'm sure most systems/software still relies on IPv4, which uses 4 8bit codes for identification of addresses, add in a portion (1/8?) are special code ranges used as an overhead, routing rules, private LANs, DHCP and other stuff.

IPv6 gets around the range problem, having 8 16bit addresses (going from 32bit to 128bit address space) but with more systems sharing a single IP it doesn't really seem to handle the situation, as far too much is hidden behind another system. Though with bot problems, hacking and probing this seems unavoidable.

As for UDP, curious to learn it's more 'line of sight', I'd always thought the main difference primarily was in the way it handled packets, or more specifically handling packets that didn't arrive/acknowledge and re-sending them. TCP has an ID number per packet per group, so if you are missing say Packet 5&6 the system would eventually request 5&6 and eventually get them. Packets also have a 'Time-To-Live', or how many times it can bounce/move before it self terminates returning a failed-to-send packet back to the source. This would mean a server sending packet 5 and didn't get a response may send a second or third copy of packet 5, and packets getting lost in different paths won't clog up the buffers forever, instead eventually coming to a close.

With the possibility of packet loss you have data loss. But is that data as important? We typically would see this as 'lag' in a game, especially in dial-up where we see a character running, either stop or keep going a path, then seemingly hop to another spot. Data included may include location, health status, how much damage was being dealt, etc, while the system can infer and fill in certain amounts of data without the packet it won't be quite as accurate.

But we're a long ways off from where we were when doing dial-up LAN with say StarCraft, where likely individual clicks and commands, or orders of units and changes that were sent between all systems and the game itself handled the bulk of the data, and games today, moving at a relatively slow pace.
Post edited November 03, 2022 by rtcvb32
avatar
rtcvb32: As for UDP, curious to learn it's more 'line of sight', I'd always thought the main difference primarily was in the way it handled packets, or more specifically handling packets that didn't arrive/acknowledge and re-sending them.
And you are correct, UDP as a protocol has no such preference, it simply is a stateless way to send information over IP.
Point proven by the fact that Anno 1701 uses UDP traffic in its client-server implementation of multiplayer.

UDP is however predominantly used in the P2P space, where some form of "line of sight" or tunneling typically applies as an underlying principle. And of course most games designed for LAN exclusively will use UDP for multiplayer in a predominantly P2P fashion.

It is rather strange to see it used like this along with a Direct IP option... but that's Supreme Commander for you. At least it has a Direct IP option, unlike other games that rely exclusively on UDP broadcasts to find peers.
Wintersnowfall, thanks for your work developing this!
avatar
Hapygoo: Wintersnowfall, thanks for your work developing this!
My pleasure. I'm already getting my development's worth and only really played some Supreme Commander :).

Another game that works, but in a P2P fashion (so only one remote peer is supported) is Civilization IV. Sort of the same strange choice again here, to veer away from client-server and require a direct connection between all players in a game, kind of a spoke model in networking terms if you will. Oh well, at least it's something.

Thinking back to the long turns I've spent in Civ IV along the years, can't imagine more than 2 people at it in multiplayer anyway to be honest.
Post edited November 03, 2022 by WinterSnowfall
Something I should have probably mentioned earlier is that relaying UDP traffic over the internet is not all that safe. Or better said it's as safe as the game makes it to be in the first place, but since most of these things are designed with LAN multiplayer in mind, that's usually not safe at all (meaning all traffic is exchanged in cleartext and no encryption is used).

You're only exchanging game data, so it's no state secret of course, but the game code underpinning the multiplayer implementation of any games you are using may potentially be exploited to carry back nastiness onto your systems, regardless if you are behind a firewall or not.

So, caveat emptor. Since I'm using it with Wine on Linux, that's not much of a problem for me, but as a Windows user you may want to be extra careful and not do over-the-internet UDP gaming on security-critical systems. A VPN typically provides end-to-end encryption and is overall a lot more secure.

To be extra clear, the Wookiee Unicaster does not make Direct IP multiplayer over the internet any more unsafe than it already is. If you were to play any of these Direct IP games by connecting directly to someone's own ISP-provided Public IP while they'd be hosting a game (without using any form of relay, like the Unicaster) it would be equally unsafe.
Post edited November 04, 2022 by WinterSnowfall
I see Supreme Commander Gold Edition is on sale now, going for €3... you're getting a hell of a game (actually 2 games in 1 pack) for that price.

And the notes on the game page saying:

Supreme Commander supports only LAN Multiplayer

Supreme Commander - Forged Alliance supports only LAN Multiplayer
... go away with the Wookiee Unicaster. At least if you only want to play it with a single friend over the internet :).
Post edited November 04, 2022 by WinterSnowfall
I was today years old when I found this:
https://www.gog.com/forum/general/drmfree_multiplayer_list_of_games_that_actually_are_100_drmfree/page1

Will definitely test out more Direct IP games from that list.
Post edited November 06, 2022 by WinterSnowfall