6 ms·
IPX worked very well for LAN games, it required no configuration. Compared to how difficult it is to play together now (steam friends. xbox...), it was much bet
by kuon 4y ago
IPX worked very well for LAN games, it required no configuration. Compared to how difficult it is to play together now (steam friends. xbox...), it was much better.
Of course it had drawbacks, but for that it was great.
- jandrese 4y agoThat's just LAN play dying off in favor of (routeable) Internet play. If developers wanted to they could add IP LAN play to games, but there's just not enough demand.
- bombcar 4y agoThe assumption is that if you're on an IP network, you already have addresses, etc (because you're routable to the internet). IPX/SPX worked without that assumption; it was bog simple to find some IPX cards, shove them in the computers, connect them, and go, even if you knew nothing. The closest for TCP/IP would be to support gaming over link-local links (those 169.* addresses) but everything is assumed to be on the internet now. And if you have TCP/IP for the internet, rarely do you care or need anything else for local comms.
- jandrese 4y agoYou 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
- contravariant 4y agoI can see why it died off. There were preciously few ways to have LAN play over a distance without weird connection issues. At some point I recall that Hamachi did work fairly well, but that meant you still had to rely on a third party in the end. Even now it's only somewhat doable to do it without relying on 3rd parties by using wireguard. So I can see why relying on a third party became the default.
- Thlom 4y agoI remember back in the 90’s and early 00’s my cousin and his neighbors had a neighborhood LAN going. They had stretched I believe Ethernet cables across the street and from house to house. It might actually have been coax cables in a ring network of some sorts. Anyway. They had an IRC server going and shared files and played games. Seemed like good times.
- Karrot_Kream 4y agoIt all comes down to NAT and dynamic IPs. Let's say Anu and Bob and Chen are trying to play a game. Anu runs the server and wants Bob and Chen to connect to her server. Anu follows some guide to get her IP and gives it to the others, but it's not routable publicly because of some form of NAT, or her IP is dynamic and changes and so packets become unroutable to Anu. Now all Anu needs to do is press "Start Game", where a remote server either hosts the game metadata or just acts as a glorified STUN/TURN server and the remote server gets a friendly name that Bob and Chen can use to connect to the game. If IPv6 and NAT was not a thing then IP LAN games would have probably had no trouble. Factorio still does multiplayer through direct UDP/IP, so you can definitely play it online purely IP P2P. I've played Factorio games served using ZeroTier before with no issue and it's allowed me to host Factorio on my laptop from both home and a hotel.
- jbverschoor 4y agoBonjour / mDNS / broadcasting doesn’t play nice on all routers. Scanning your/24 network works, but many people are on 10.x.x.x these days And I don’t know how this works on ipv6
- Wohlf 4y agoTCP LAN games were also easy to set up.
- bluedino 4y agoWay back when I first started working for a small networking outfit, we were informally split into 'Team Red' and 'Team Blue'. Everyone agreed that Novell was on the way out, and the younger guys with their MCSE's made up most of Team Blue. I had un-officially started 'Team Yellow' and was sticking Linux boxes in when I could. Anyway...one afternoon I was at a law office installing some legal library software (or something), and one of the younger lawyers asked me into his office. He had a couple copies of Warcraft and Command & Conquer, he had installed them on a couple of the office computers but couldn't get network play going. Not really knowing what I was doing, I opened up the properties dialog for the network adapter, added the IPX/SPX protocol, and started the game up on two computers. It worked! It was that simple. I remember the guy pulling a $50 out of his wallet and handing it to me. And, since they were within walking distance of our office, I got invited back over a couple times and we played a lot of games (and drank a lot of beer) over there.
- EamonnMR 4y agoThe difference between then and now is less protocol and more pervasive authentication.