Page 1 of 3

Solutions for connection issues in Arcade1Up NBA Jam

Posted: Sat Jun 20, 2020 12:13 am
by CodeMystics
Hi,

In response to reports and concerns about issues connecting successfully to another game in Arcade1Up's NBA Jam, we'd like to offer some suggestions as the developer:

What's Likely Happening

Typically the problem isn't bandwidth. Not yours and not your opponent's unless you have a 20-year-old WiFi router. Most WiFi routers have sufficient bandwidth to support the game's modest needs.

If there's a problem connecting, it's more typically an issue with what's called "NAT restrictions". It's a fancy term for your router's rules on who from the outside world can connect to a machine on your LAN and when.

On Xbox Live, they have a notion of "open", "moderate" and "strict" NATs. You can read more about that here.

Like Xbox Live multiplayer, NBA Jam is peer-to-peer, so it works on similar principles. Two "strict" NATs can't talk to each other, since, basically, neither is willing to let their security guard down first.

If your router is employing a strict NAT and you try to connect to another user who has a strict NAT, it will fail. This is why some users have no issues while others could have a dodgy 50/50 success rate.

What Can I Do?

There are three basic strategies for overcoming this problem, which are similar to what you would do for Xbox:
  1. Examine your router's security settings. It may have an option to select a less restrictive NAT, such as "Open NAT".
  2. Your router may allow you to assign your NBA Jam cabinet's LAN IP to a "Demilitarised Zone" (DMZ)
  3. If your router provides virtual server options, try setting up a virtual server to forward port 1972 to the LAN IP for your NBA Jam machine. If given the option, be sure to allow it to forward UDP (or "both") types of data packets.
For those last two options, you will probably need to assign your NBA Jam machine a fixed IP on your LAN. The details of how to do these things vary from brand to brand of router, so please consult your router's manual for more details.

But... When a Stall is not a Stall

When someone chooses to join your game, you can set in the Social Options (under the Live menu) what happens. You may want to allow them to pop in without asking, which can result in your game being interrupted unexpectedly at any time. Or, you can choose to have a small "toast" (pop up) appear in the corner announcing someone wants to join. In that case you can let them wait and keep playing until you have a moment you're comfortable being interrupted and are ready to add (or decline) them.

Most people have the second option set for people they don't know. (You can add people you know to your Favourites list, and the rules can be set to be more relaxed for them.)

If you join a game, you will see "Requesting to join ___'s game..." while the machine is waiting for them to answer their popup and decide to add or decline you. You will have to wait as long as they decide to leave the pop up unanswered, or until you give up.

To give up and look for someone else, hit the Live button and select "Leave This Game". (You may also hold P1 Start for 5 seconds to return to the main menu.)

Dispelling Some Other Myths

Before we close off, we'd like to dispell a few myths about peer-to-peer and our netcode in particular:
  • Peer-to-peer vs. servers: it's generally not true that server-based online multiplayer gives better performance than peer-to-peer in a game like this. Peer-to-peer is direct communication between two machines while server-based multiplayer requires the data to take a detour through a third party server. Unless you and your opponent both have a better routing to that server than the direct line from A (you) to B (them), latency will actually be higher through a server than via peer-to-peer. If it's something like Google then you might both reach different Google servers quickly and those servers may have an "express route" to each other, but that's an infrastructure out of reach of most companies without their resources. When a game server is involved, they tend to offer two advantages: (a) they can punch through restrictive NATs easier, which can help with these router issues, and (b) for arena style games (e.g. Call of Duty) the loss of performance is worth it because it's easier to synchronise a lot of players on a big map (whereas we just share user inputs where everyone is on one screen). That said, even Xbox doesn't offer server-mediated online gameplay on its own servers.
  • Arcade1Up NBA Jam does use a server to help you find other machines and to maintain your high scores. It only hands off to peer-to-peer for game play.
  • There is no host advantage in a match. While it's true some peer-to-peer netcode may offer an advantage in responsiveness vs. visiting guest players, we have designed our netcode to be "democratic." If your Ping (data round trip time) with your opponent is 100ms, we'll allocate 50ms of that delay to your inputs and 50ms of that delay to your opponent. It doesn't matter who the "host" was. The only advantages the host has are (a) being the person whose game is shared with newcomers and (b) having the privilege to kick guests.
  • No one's input can lag by more than about half a second. There have been suggestions that your opponent's inputs can be many seconds behind you in the game, but this isn't possible. If the input lag exceeds around 1/3 to 1/2 a second for any player, the game will stall to allow them to catch up. It doesn't have the ability to store a multi-second history of inputs. So a poor connection which can't keep up would stutter rather than lag. If the game stalls for 4 seconds, it will disconnect.
  • Rage quitters don't steal your win. It's true a person can leave a game when they're losing, but it's roughly the same as them walking away from the controls. You can still finish the game and record the win for yourself against their now-defenceless players. Control of their players even returns to you (at their respective player stations) should you need to move them to aid in finishing the game. That said, a game will only count toward your record if you were in it from the start. If you weren't asked to enter you initials and birthday (or if you don't play all four quarters), your win or loss won't be recorded.

Re: Solutions for connection issues in Arcade1Up NBA Jam

Posted: Sun Jun 21, 2020 6:40 pm
by Celticspride18
NBA Jam has forced me this week to learn a lot about routers and do some research, and this post was helpful. 🙂 I had no problems with other players joining my game, but I couldn't join other games. Step by step, I created an open NAT, created a static IP for NBA Jam, put NBA Jam in a DMZ, and did port forwarding. Finally, after the port forwarding, I was able to join someone's game. However, now I cannot join anyone's game. Is anyone else in the same boat I am? I'm getting frustrated. Are we going to see an update that will help our cabinets connect, or is there something else I can do? Thank you.

Re: Solutions for connection issues in Arcade1Up NBA Jam

Posted: Sun Jun 21, 2020 10:33 pm
by CodeMystics
Celticspride18 wrote:
Sun Jun 21, 2020 6:40 pm
NBA Jam has forced me this week to learn a lot about routers and do some research, and this post was helpful. 🙂 I had no problems with other players joining my game, but I couldn't join other games. Step by step, I created an open NAT, created a static IP for NBA Jam, put NBA Jam in a DMZ, and did port forwarding. Finally, after the port forwarding, I was able to join someone's game. However, now I cannot join anyone's game. Is anyone else in the same boat I am? I'm getting frustrated. Are we going to see an update that will help our cabinets connect, or is there something else I can do? Thank you.
So you're saying you were able to join someone else's game for a time, but now you can't again? Have any settings reverted in your router? Has the IP of the NBA Jam machine changed? You should not need to do all three measures. Any single one should solve the problem, though most likely the third one would be the most successful. In any case, issues with routers cannot be solved with an update to the machine, so it's definitely something that has to be investigated on your network hardware.

Re: Solutions for connection issues in Arcade1Up NBA Jam

Posted: Mon Jun 22, 2020 2:36 pm
by Celticspride18
Yes, it worked once. I then closed my NAT thinking I didn’t have to have all these security measures open. I then had problems again, so opened my NAT again. The settings were the same as the one time I could join a game, but now I can’t join again. I even disabled my Nighthawk security settings for NBA Jam.

Re: Solutions for connection issues in Arcade1Up NBA Jam

Posted: Mon Jun 22, 2020 7:47 pm
by CodeMystics
Celticspride18 wrote:
Mon Jun 22, 2020 2:36 pm
Yes, it worked once. I then closed my NAT thinking I didn’t have to have all these security measures open. I then had problems again, so opened my NAT again. The settings were the same as the one time I could join a game, but now I can’t join again. I even disabled my Nighthawk security settings for NBA Jam.
Sounds like the router may have been "confused" by the multiple config changes. Have you tried rebooting both the router and cabinet together (turn off both, then turn on the router first)? Or maybe erasing the custom settings for the cabinet and starting over?

Re: Solutions for connection issues in Arcade1Up NBA Jam

Posted: Mon Jun 22, 2020 8:22 pm
by Celticspride18
I did try rebooting the router and the cabinet. I could change the settings back on my router.

Also, I was able to join a game tonight, but all other attempts failed.

Re: Solutions for connection issues in Arcade1Up NBA Jam

Posted: Tue Jun 23, 2020 7:24 pm
by Celticspride18
Is there something else I can try? I'm very disappointed after spending the money on this, that I'm having these issues.

Re: Solutions for connection issues in Arcade1Up NBA Jam

Posted: Tue Jun 23, 2020 7:48 pm
by Furitaed
I haven't been able to connect to an online game at all since getting the cabinet on Monday.

I configured my WiFi settings in the cab and it was able to download the machine update with no problems.

Trying to connect to anyone's online game errors out as soon as the Joining progress bar shows up. It only moves a tiny bit on the progress bar and then bombs out with the message "Sorry, the connection to Furiated [me] was lost while trying to join the game."

I have a Comcast internet modem that is set to Bridge Mode and a Linksys EA6900 router. My Xbox is also connected to this router and shows Open NAT when I run the NAT test on it. I tried setting the NBA Jam cab to be in the DMZ, that didn't work. I tried adding Port Forwarding for port 1972 to the NBA Jam cab, that didn't work.

Is there anything else I can try?

Are there any updates being planned for the WiFi setting for the cab to make this easier for people to connect?

Thanks

Re: Solutions for connection issues in Arcade1Up NBA Jam

Posted: Tue Jun 23, 2020 8:29 pm
by CodeMystics
Celticspride18 wrote:
Tue Jun 23, 2020 7:24 pm
Is there something else I can try? I'm very disappointed after spending the money on this, that I'm having these issues.
You wrote previously
Celticspride18 wrote:
Mon Jun 22, 2020 8:22 pm
I could change the settings back on my router.
What was the outcome of that?

You could also contact your provider and tell them you're trying to connect a device on your LAN that needs UDP port 1972 and see if they can provide any instruction specific to your router. (BTW, please do be sure you use UDP not TCP for the virtual server port forwarding.)

We could also set up a session where you try to connect to one of our systems, or we try to connect to yours, and see what we can learn from our session diagnostics.

Re: Solutions for connection issues in Arcade1Up NBA Jam

Posted: Tue Jun 23, 2020 8:32 pm
by CodeMystics
Furitaed wrote:
Tue Jun 23, 2020 7:48 pm
I haven't been able to connect to an online game at all since getting the cabinet on Monday.

I configured my WiFi settings in the cab and it was able to download the machine update with no problems.

Trying to connect to anyone's online game errors out as soon as the Joining progress bar shows up. It only moves a tiny bit on the progress bar and then bombs out with the message "Sorry, the connection to Furiated [me] was lost while trying to join the game."

I have a Comcast internet modem that is set to Bridge Mode and a Linksys EA6900 router. My Xbox is also connected to this router and shows Open NAT when I run the NAT test on it. I tried setting the NBA Jam cab to be in the DMZ, that didn't work. I tried adding Port Forwarding for port 1972 to the NBA Jam cab, that didn't work.

Is there anything else I can try?

Are there any updates being planned for the WiFi setting for the cab to make this easier for people to connect?

Thanks
Bridge mode may be the issue. There is no consistent defect that an update could address. Rather, outside the NAT restrictions, the issues that have been reported appear to be a result of uncommon network topologies. (With the port forwarding, you specified it to be UDP, correct?)

But to be clear when you try to connect to someone else's game it claims its trying to connect to you? Is this other machine you're trying to connect to also on the same network?

As above, we could also set up a session where you try to connect to one of our systems, or we try to connect to yours, and see what we can learn from our session diagnostics.