Being employed by one of these elusive game hosting companies, I can tell you that the dedicated server model is very much alive. And rather than the version of 20 years ago where there was one central server in the world, they are now deployed in a globally distributed manner.

Games ought to work just fine with NAT, but I have seen some cases where developers incorrectly assumed it was OK to have a fixed source-port & destination-port combination to initiate a session. This works fine for the first player to connect from behind that NAT, and for the second one it requires NAT + PAT which may still work without a hitch. Where it gets interesting is when $NAT-box also picks a fixed source-port if it had to apply PAT, for example by always translating $originalPort to UDP/1024. You could probably imagine that the third player attempting to connect from behind a $NAT-box like that will be having a hard time initiating the connection, maybe also disrupting the second player that was already connected.

TLDR, good netcode has no problems with NAT.

Best regards,
Martijn

From: NANOG <nanog-bounces+martijnschmidt=i3d.net@nanog.org> on behalf of Tom Beecher <beecher@beecher.cc>
Sent: 28 September 2020 16:21
To: Mike Hammett <nanog@ics-il.net>
Cc: North American Network Operators' Group <nanog@nanog.org>
Subject: Re: Gaming Consoles and IPv4
 
Why stray away from how PC games were 20 years ago where there was a dedicated server and clients just spoke to servers?
 
Much cheaper to just let all the game clients talk peer to peer than it is to maintain regional dedicated server infrastructure. 

On Mon, Sep 28, 2020 at 8:35 AM Mike Hammett <nanog@ics-il.net> wrote:
Why stray away from how PC games were 20 years ago where there was a dedicated server and clients just spoke to servers?


From: "Justin Wilson (Lists)" <lists@mtin.net>
To: "North American Network Operators' Group" <nanog@nanog.org>
Sent: Monday, September 28, 2020 7:22:28 AM
Subject: Re: Gaming Consoles and IPv4

There are many things going on with gaming that makes natted IPv4 an issue when it comes to consoles and gaming in general.   When you break it down it makes sense.

-You have voice chat
-You are receiving data from servers about other people in the game
-You are sending data to servers about yourself
-If you are using certain features where you are “the host” then you are serving content from your gaming console.  This is not much different than a customer running a web server.  You can’t have more than one customer running a port 80 web-server behind nat.
-Streaming to services like Twitch or YouTube

All of these take up standard, agreed upon ports. It’s really only prevalent on gaming consoles because they are doing many functions.  Look at it another way.  You have a customer doing the following.

-Making a VOIP call
-Streaming a movie
-Running a web server
-Running bittorrent on a single port
-Having a camera folks need to access from the outside world

This is why platforms like Xbox developed things like Teredo.

Justin Wilson
j2sw@mtin.net


https://j2sw.com - All things jsw (AS209109)
https://blog.j2sw.com - Podcast and Blog

On Sep 27, 2020, at 9:33 PM, Daniel Sterling <sterling.daniel@gmail.com> wrote:

Matt Hoppes raises an interesting question,

At the risk of this being off-topic, in the latest call of duty games I've played, their UDP-NAT-breaking algorithm seems to work rather well and should function fine even behind CGNAT. Ironically turning on upnp makes this *worse*, because when their algorithm probes to see what ports to use, upnp sends all traffic from the "magical xbox port" to one box instead of letting NAT control the ports. This does cause problems when multiple xboxes are behind one NAT doing upnp. If upnp is on and both xboxes are fully powered off and then turned on one at a time, things do work. But when upnp is off everything works w/o having to do that.

There are many other games and many CPE NAT boxes that may do horrible things, but CGNAT by itself shouldn't cause problems for any recent device / gaming system.

It is true that I've yet to see any FPS game use ipv6. I assume that's cuz they can't count on users having v6, so they have to support v4, and it wouldn't be worth their while to have their gaming host support dual-stack. just a guess there

-- Dan



On Sun, Sep 27, 2020 at 7:29 PM Mike Hammett <nanog@ics-il.net> wrote:
Actually, uPNP is the only way to get two devices to work behind one public IP, at least with XBox 360s. I haven't kept up in that realm.


From: "Matt Hoppes" <mattlists@rivervalleyinternet.net>
To: "Darin Steffl" <darin.steffl@mnwifi.com>
Cc: "North American Network Operators' Group" <nanog@nanog.org>
Sent: Sunday, September 27, 2020 1:22:51 PM
Subject: Re: Gaming Consoles and IPv4

I understand that. But there’s a host of reasons why that night not work - two devices trying to use UPNP behind the same PAT device, an apartment complex or hotel WiFi system, etc. 

On Sep 27, 2020, at 2:17 PM, Darin Steffl <darin.steffl@mnwifi.com> wrote:


This isn't rocket science.

Give each customer their own ipv4 IP address and turn on upnp, then they will have open NAT to play their game and host. 

On Sun, Sep 27, 2020, 12:50 PM Matt Hoppes <mattlists@rivervalleyinternet.net> wrote:
I know the solution is always “IPv6”, but I’m curious if anyone here knows why gaming consoles are so stupid when it comes to IPv4? 

We have VoIP and video systems that work fine through multiple layers of PAT and NAT. Why do we still have gaming consoles, in 2020, that can’t find their way through a PAT system with STUN or other methods?

It seems like this should be a simple solution, why are we still opening ports or having systems that don’t work?