Page 5 of 5

Re: Add SRV Record support

Posted: Wed Oct 05, 2022 6:29 pm
by Rseding91
Saklad5 wrote:
Wed Oct 05, 2022 5:33 pm
Could someone at Wube please register the "factorio" service name with IANA? You're just squatting on the name right now, and that's a serious problem.

The relevant form is here: https://www.iana.org/form/ports-services. It's very easy to use: I could do it on your behalf if you prefer.

Also consider registering UDP port 34197 for Factorio, since that's the same form. It's similarly bad practice to use an unregistered port by default (really, modern software should be using dynamic ports until configured otherwise, with SRV/SVCB records if you don't want to make people specify ports themselves), but that ship has sailed.
I don't see any other games in their registration list. Even Minecraft which has used SRV records since 2012 and is now owned by Microsoft isn't in there (that I can find anyway).

Re: Add SRV Record support

Posted: Wed Oct 05, 2022 6:37 pm
by Saklad5
First off, port 666 is reserved for Doom. It is not the only game there, but it is the funniest one.

Second, I was just discussing this in the IETF mailing list, and the general consensus is that the applications squatting on names should register: https://mailarchive.ietf.org/arch/msg/d ... 6G3rsoVlE/.
I think the right approach here would be for us (especially relevant chairs
and ADs) to reach out to the squatters and try to get them to join the
process.
An IANA employee also added a link to the form at the registry in response.

Minecraft is another high-profile squatter, and they are being reached out to as well.

Re: Add SRV Record support

Posted: Thu Oct 06, 2022 9:26 am
by posila
Saklad5 wrote:
Wed Oct 05, 2022 5:33 pm
Also consider registering UDP port 34197 for Factorio, since that's the same form. It's similarly bad practice to use an unregistered port by default (really, modern software should be using dynamic ports until configured otherwise, with SRV/SVCB records if you don't want to make people specify ports themselves), but that ship has sailed.
How does modern software handle connecting over LAN without internet?

Re: Add SRV Record support

Posted: Thu Oct 06, 2022 11:34 am
by Saklad5
Ideally? DNS Service Discovery: <https://www.rfc-editor.org/rfc/rfc6763>. This is the standardized form of Apple's Bonjour multicast DNS system (used for AirDrop, etc.), and it basically works the same way as unicast DNS. macOS, Windows, most Linux distros, this is how they detect and communicate with other devices on a network.

Note that this doesn't just determine the correct port: it also determines which devices on the network are offering a given service. That aspect can actually be used for unicast DNS as well, but requires clients to designate search domains beyond local multicast. Most operating systems support this (you've probably seen the setting), but it is rarely deployed in practice.

Speaking of which, in practice? DNS-SD is used less than I'd personally like for games, so many things just have you specify a pre-determined IP address and port if they offer offline multiplayer at all.

Re: Add SRV Record support

Posted: Thu Oct 06, 2022 11:50 am
by Saklad5
Minecraft has a particularly flaky approach to LAN. Assuming their wiki is accurate: every 1.5 seconds, LAN hosts send a multicast packet on the UDP port registered to whatever "upnotifyp" is. In my experience, Minecraft LAN detection fails to work on most networks I've used it with, and I end up manually connecting with an IP address and port as previously described.

Re: Add SRV Record support

Posted: Fri Oct 14, 2022 10:22 pm
by SixV
Thanks @vinzenz for implementing SRV record support :D

----

@Saklad5 : What Wube is doing isn't "name squatting". I believe that the industry's current take on this is "as long as you aren't afraid someone will "steal" your name, you might as well skip registration". Although this is common practice, I believe the best practice would be to register a name against the IANA's service name registry, and I recommend Wube to do it. No need to register the port though, you're wrong on this part, @Saklad5. The port number isn't enforced at all and AFAIK no "well known" port is required for Factorio MP to work.