3 ms·
You could also do it over multicast. The big downside is that if some people are on WiFi then they'll be reduced down to 802.11b speed. A better solution woul
by jandrese 4y ago
You could also do it over multicast.
The big downside is that if some people are on WiFi then they'll be reduced down to 802.11b speed.
A better solution would be to do server/player discovery via multicast and then stitch up unicast links for the actual gameplay.
- bombcar 4y agoYeah, anything actually doing it today will do something like multicast/bonjour and then do direct links. Though I have seen games that apparently use an internet service to coordinate direct links ...
- eklavya 4y agoI seem to have never had a reliable and working mDNS on any OS. Would not recommend.
- MobiusHorizons 4y agoIs it possible your network disables multicast? On a typical home network I've never really had any issues with mDNS. It works great on Mac and I've got it running fine on various bsd's and linux. I found mdnsd worked surprisingly well on FreeBSD, and took less configuration that Avahi. I will admit that windows doesn't seem to play that well with it. I'm curious what you tried that didn't work.
- bombcar 4y agoOnly problem I've ever observed is not letting it "calm down" as some mDNS implementations (maybe no more) used to try to cache/answer for other machines.
- WorldMaker 4y agoThat's all IPX/SPX was was link local multicast. I see all the "no configuration" required love for it in surrounding comments, but I suppose few remember the failure states when it didn't work as expected, including drowning an entire switch (or worse token ring) in multicast noise. I know I hit IPX/SPX config hell a few times over the years in home LAN gaming, and I can't believe I was that alone in it, so I'm assuming the nostalgia goggles are in play in some of these "it just worked" memories. > A better solution would be to do server/player discovery via multicast and then stitch up unicast links for the actual gameplay. That's basically what most mDNS applications do today (the modern standards compliant name for used to be called Bonjour): use .local multicast for service discovery and then often use that to bootstrap to unicast links. It's not a bad way to go, with the only caveats that to get good mDNS support in Windows I believe that you still have to dig into WinRT components rather than old school Win32 sockets APIs and that especially seems to cramp many games from even trying to use it for LAN discovery today despite it being a mostly reliable standard in 2022.
- bombcar 4y agoMost people did the "two cards connected" setup and let it work - or already had an IPX/SPX network setup and running and used that (Doom could crash them IIRC). Few people actually built IPX networks, let alone routed them, etc.
- jandrese 4y agoIMHO Bonjour/mDNS adds a lot of points of failure and doesn't really buy you much. It's so easy to just open a multicast listener port on a specific address and port and then just send out UDP packets to communicate.
- WorldMaker 4y agomDNS [0] itself is "just" send/listen to multicast UDP packets on a specific address (224.0.0.251 and/or ff02::fb) on a specific port (5353). The only real complication to mDNS itself is that the format of the packets you send/receive are designed to resemble (regular, unicast) DNS and it's a complex (but well known) binary packet format. The complications most people associate with Bonjour/Avahi and its "points of failure" are most often issues with optional add-on standards such as DNS-SD [1] UPnP [2], and other related add-on standards on top of mDNS that make up so called "zero-conf networking". You don't need DNS-SD or UPnP to use mDNS for basic hostname discovery. [0] https://en.wikipedia.org/wiki/Multicast_DNS https://en.wikipedia.org/wiki/Multicast_DNS [1] https://en.wikipedia.org/wiki/Zero-configuration_networking#DNS-SD https://en.wikipedia.org/wiki/Zero-configuration_networking#... [2] https://en.wikipedia.org/wiki/Universal_Plug_and_Play https://en.wikipedia.org/wiki/Universal_Plug_and_Play
- rasz 4y agoDooms first networking implementation was very inconsiderate and had a habit of killing whole networks. https://doom.fandom.com/wiki/Doom_in_workplaces https://doom.fandom.com/wiki/Doom_in_workplaces >The first version of the Doom IPX network code transmitted its data as broadcast data. As a result of this, all machines on a network where a game of Doom was being played would receive the data, even if the machine was not involved in the game. The degrading effect on network performance forced the system administrators for many office networks to ban Doom.