What's new

My #1 idea to improve MKX Online Experience. Thoughts?

CrimsonShadow

Administrator and Community Engineer
Administrator
So since a lot of people still seem to have outdated rumor-based knowledge dating back to 1999, I will post this again here:

It hardly matters whether you're on a wired or wireless connection.

Shock and awe, right? How is this possible? There was an era where wireless speeds and latencies simply weren't fast enough for the kind of reliability and throughput necessary to play an online fighting game. The hardware simply did not support a fast enough signal with enough throughput.

However, we now live in 2015. Your PS4 supports wireless N, and your Xbox One even supports Dual-Band Wifi with the 5 Ghz band. Transfer is fast enough to be near-imperceptible compared to the over-the-wire endpoint-to-endpoint latency from you to the game host/server, as long as you use good practice and proper, up-to-date hardware.

Yet, in the same sence that people keep repeating "MK is a simple braindead game for n00bs" because they heard someone else say it, people are still repeating platitudes from the days when we had 802.11b connections.

So what DOES matter?

The following keys:
  1. If you *are* using wireless, you need to make sure that your system is an acceptable distance from the router, as the signal will decay (and become more susceptible to interference in the 2.4 Ghz band) with distance. If the router is in the next room, great. If the router is 4 floors down in the basement, not so great. If you have the 5ghz band available, you want to use that, as it will further minimize outside interference.
  2. Network traffic: Regardless of whether you use wireless or wired, you need to be aware of what else is happening on your home network. If you have a fancy Gigabit Ethernet connection, with spiffy Cat 6 cable to the router, and a nice $70/month line to your ISP, but there are two other people in your home watching Netflix HD while you're playing MKX, you aren't going to get the benefit of your setup. If you're on wireless, it goes without saying, but obviously you want to make sure you're on a password-protected network as well.
  3. Connection and peering: All connections are not made alike. There's a lot that can happen to a packet between your system and the server, and your ISP's advertised speed or bandwidth (including what you measure on a site like Speedtest) doesn't even begin to tell the whole story. Reliability and speed are not the same thing. You can ping well, but suffer from momentary spikes and interruptions. You can have great average bandwidth, but suffer from packet loss and erratic ping. Etc. There is no common metric or number that will tell you have you have a good connection to a server or a player -- you either do, or you don't; and it's based on multiple factors outside of your control.
So the moral of the story is, if you really want to have a system that determines who does or doesn't qualify for online tournament play, you need to have an automated test that simulates some kind of representative transfer *over time* and analyzes the quality of the connection. No more no less, and no silly platitudes repeated by people who couldn't tell you the different between wireless B and G or what a TCP packet is :)
 
Last edited:
Games can know whatever the system API let's them know. I am not sure if XONE API allows games to know if connection is "wired"
Yeah, the console knows how it's connected. Anything further upstream from there is a mystery. So long as the game is able to see that info, it would probably be the only restriction in making it a simple thing to code adding a wireless/ethernet symbol next to a players name.

Would atleast cut down the wireless users drastically, the people using bridges in a gaming environment be rare
I doubt it would cut down wireless users, unless you mean playing against them, then yes. Anyone who gives a shit about playing online should/would already be wired. But will definitely help out by being able to easily see who has a wired connection. And the tournament mode idea would at least give people the option to play players with known good connections.

Overall a great idea. Make it better for those that want to play with decent connections, and no one loses out, apart from NRS of course who have to put the time into coding it.
 
Last edited:

Rip Torn

ALL I HAVE IS THE GREEN.
So since a lot of people still seem to have outdated rumor-based knowledge dating back to 1999, I will post this again here:

It doesn't matter whether you're on a wired or wireless connection.

Shock and awe, right? How is this possible? There was an era where wireless speeds and latencies simply weren't fast enough for the kind of reliability and throughput necessary to play an online fighting game. The hardware simply did not support a fast enough signal with enough throughput.

However, we now live in 2015. Your PS4 supports wireless N, and your Xbox One even supports Dual-Band Wifi with the 5 Ghz band. Transfer is fast enough to be near-imperceptible compared to the over-the-wire endpoint-to-endpoint latency from you to the game host/server, as long as you use good practice and proper, up-to-date hardware.

Yet, in the same sence that people keep repeating "MK is a simple braindead game for n00bs" because they heard someone else say it, people are still repeating platitudes from the days when we had 802.11b connections.

So what DOES matter?

The following keys:
  1. If you *are* using wireless, you need to make sure that your system is an acceptable distance from the router, as the signal will decay (and become more susceptible to interference in the 2.4 Ghz band) with distance. If the router is in the next room, great. If the router is 4 floors down in the basement, not so great. If you have the 5ghz band available, you want to use that, as it'll also help minimize outside interference.
  2. Network traffic: Regardless of whether you use wireless or wired, you need to be aware of what else is happening on your home network. If you have a fancy Gigabit Ethernet connection, with spiffy Cat 6 cable to the router, and a nice $70/month line to your ISP, but there are two other people in your home watching Netflix HD while you're playing MKX, you aren't going to get the benefit of your setup. If you're on wireless, it goes without saying, but obviously you want to make sure you're on a password-protected network as well.
  3. Connection and peering: All connections are not made alike. There's a lot that can happen to a packet between your system and the server, and your ISP's advertised speed or bandwidth (including what you measure on a site like Speedtest) doesn't even begin to tell the whole story. Reliability and speed are not the same thing. You can ping well, but suffer from momentary spikes and interruptions. You can have great average bandwidth, but suffer from packet loss and erratic ping. Etc. There is no common metric or number that will tell you have you have a good connection to a server or a player -- you either do, or you don't; and it's based on multiple factors outside of your control.
So the moral of the story is, if you really want to have a system that determines who does or doesn't qualify for online tournament play, you need to have an automated test that simulates some kind of transfer *over time* and analyzes the quality of the connection. No more no less, and no silly platitudes repeated by people who couldn't tell you the different between wireless B and G or what a TCP packet is :)
I'm honestly shocked that you posted this...
 

Barrogh

Meta saltmine
It goes WAAAY beyond people having shitty connections. KI and halo work great online, NRS and WB should take after microsoft and invest in better online play. WB has the money, with arkham knight and mkx they are makin bank so why is this literally the worst online experience i and a lot of people have ever had in a game?(excluding other NRS a titles of course). People with shitty connections are in every game but it is so so so much worse in mkx.
Why would they invest into something like that if people buy their shit anyway, bitch and moan about netcode, then buy two more games regardless?
The fact that you, as well as all others, are still here after all these years is the reason why they won't lift a finger.
 

BillStickers

Do not touch me again.
So since a lot of people still seem to have outdated rumor-based knowledge dating back to 1999, I will post this again here:

It hardly matters whether you're on a wired or wireless connection.

Shock and awe, right? How is this possible? There was an era where wireless speeds and latencies simply weren't fast enough for the kind of reliability and throughput necessary to play an online fighting game. The hardware simply did not support a fast enough signal with enough throughput.

However, we now live in 2015. Your PS4 supports wireless N, and your Xbox One even supports Dual-Band Wifi with the 5 Ghz band. Transfer is fast enough to be near-imperceptible compared to the over-the-wire endpoint-to-endpoint latency from you to the game host/server, as long as you use good practice and proper, up-to-date hardware.

Yet, in the same sence that people keep repeating "MK is a simple braindead game for n00bs" because they heard someone else say it, people are still repeating platitudes from the days when we had 802.11b connections.

So what DOES matter?

The following keys:
  1. If you *are* using wireless, you need to make sure that your system is an acceptable distance from the router, as the signal will decay (and become more susceptible to interference in the 2.4 Ghz band) with distance. If the router is in the next room, great. If the router is 4 floors down in the basement, not so great. If you have the 5ghz band available, you want to use that, as it will further minimize outside interference.
  2. Network traffic: Regardless of whether you use wireless or wired, you need to be aware of what else is happening on your home network. If you have a fancy Gigabit Ethernet connection, with spiffy Cat 6 cable to the router, and a nice $70/month line to your ISP, but there are two other people in your home watching Netflix HD while you're playing MKX, you aren't going to get the benefit of your setup. If you're on wireless, it goes without saying, but obviously you want to make sure you're on a password-protected network as well.
  3. Connection and peering: All connections are not made alike. There's a lot that can happen to a packet between your system and the server, and your ISP's advertised speed or bandwidth (including what you measure on a site like Speedtest) doesn't even begin to tell the whole story. Reliability and speed are not the same thing. You can ping well, but suffer from momentary spikes and interruptions. You can have great average bandwidth, but suffer from packet loss and erratic ping. Etc. There is no common metric or number that will tell you have you have a good connection to a server or a player -- you either do, or you don't; and it's based on multiple factors outside of your control.
So the moral of the story is, if you really want to have a system that determines who does or doesn't qualify for online tournament play, you need to have an automated test that simulates some kind of representative transfer *over time* and analyzes the quality of the connection. No more no less, and no silly platitudes repeated by people who couldn't tell you the different between wireless B and G or what a TCP packet is :)
Stop. You're conflating theoretical performance with practical performance and using an appeal to authority to attempt to sway people who may not know better into believing you.

For reasons I've already covered in this thread, Wi-Fi (yes, even in the 5GHz range) is *at best* 1/3 as performant as Ethernet. Furthermore, the variance in ping (jitter) and throughput that is inherent to Wi-Fi is a major factor in online gaming quality.

In NRS games, where the netcode is basically the most naive implementation of P2P possible, a constant ping is *the* most important factor. When the two players sync at the beginning of the match, they're basically writing a scheduling contract that dictates the frequency of when to expect packets and when packets from the other player should be expected.

This contract on Wi-Fi is very easily broken due to CSMA/CA. For those that don't know, CSMA/CA is the standard way that Wi-Fi clients check to see if they can send information. Here's a breakdown from the wireless client's perspective:

1. Is there a carrier feed (data) on the channel I'm on right now?
A. No --> data gets sent
B. Yes --> wait a random amount of time, then repeat step 1.

The random amount of time part is the killer for NRS games because the other side of the connection is relying on a constant stream of packets.

Now, you might be thinking that this isn't a big deal because chances are the channel won't be busy, but consider how many wireless devices the average home has now, and how many of them are constantly sending and receiving micro-updates. Everything from the smallest push notification to your phone, to even the rudimentary ARP traffic that goes to and from each network device (note that CSMA/CA is a layer 1 responsibility, so even sub-TCP/IP traffic is included in what affects jitter).

The switched nature of Ethernet nowadays is what really helps guarantee that constant flow of data and ultimately makes NRS games a lot more playable. The switching algorithms used basically act as a scheduler that, even in situations where there are a large number of devices talking, data will be sent and received over the wire in a consistent interval.

That said, you may place your apology here:
||
||
||
\ /
V
 

JDM

Noob
Even the best connections are straight garbage in this game online. The netcode itself is the problem and should be the most important thing they work on for Injustice 2. I swear I will not purchase injustice 2 if the netcode is garbage.
 

BillStickers

Do not touch me again.
I should note that, I mean, yes, improving the netcode would certainly be the preferable option. As others have said, there are games with better netcode that are playable on wireless (even though wired will still give you a better experience; it just won't be as noticeable to the human eye).

However, I think @Pig Of The Hut 's proposal was more meant in the spirit of, "if changing the netcode at this point is too difficult, could you at least throw us serious players a bone and reward those with optimal connections?"

Depending on how deeply coupled the netcode is to the engine, improving the netcode could be a very challenging task (I'm still holding out hope that NRS is going to surprise us with GGPO adoption, though). Pig's solution is more of an "add-on" type of enhancement that could probably be done without messing too much with the internal wiring. THAT's what I think the biggest selling point of this proposal is.
 

Dankster Morgan

It is better this way
Why would they invest into something like that if people buy their shit anyway, bitch and moan about netcode, then buy two more games regardless?
The fact that you, as well as all others, are still here after all these years is the reason why they won't lift a finger.
Yeah you're right to some extent. It's more the fact that Ed Boon told us that netcode would be improved and it turned out to be bullshit. I(and others) waited to preorder this game untill they touched on netcode. In an interview with angry joe, Ed said it would be waaaay better so I was thrilled and pre ordered immediately. Then it turned out to be shit online but great offline. I didn't play mk9 and I just bought injustice for 20 dollars because i knew the netcode was fucking trash. We are part of the problem and I won't buy another NRS title untill they can get their shit together.
 

CrimsonShadow

Administrator and Community Engineer
Administrator
Stop. You're conflating theoretical performance with practical performance and using an appeal to authority to attempt to sway people who may not know better into believing you.

For reasons I've already covered in this thread, Wi-Fi (yes, even in the 5GHz range) is *at best* 1/3 as performant as Ethernet. Furthermore, the variance in ping (jitter) and throughput that is inherent to Wi-Fi is a major factor in online gaming quality.

In NRS games, where the netcode is basically the most naive implementation of P2P possible, a constant ping is *the* most important factor. When the two players sync at the beginning of the match, they're basically writing a scheduling contract that dictates the frequency of when to expect packets and when packets from the other player should be expected.

This contract on Wi-Fi is very easily broken due to CSMA/CA. For those that don't know, CSMA/CA is the standard way that Wi-Fi clients check to see if they can send information. Here's a breakdown from the wireless client's perspective:

1. Is there a carrier feed (data) on the channel I'm on right now?
A. No --> data gets sent
B. Yes --> wait a random amount of time, then repeat step 1.

The random amount of time part is the killer for NRS games because the other side of the connection is relying on a constant stream of packets.

Now, you might be thinking that this isn't a big deal because chances are the channel won't be busy, but consider how many wireless devices the average home has now, and how many of them are constantly sending and receiving micro-updates. Everything from the smallest push notification to your phone, to even the rudimentary ARP traffic that goes to and from each network device (note that CSMA/CA is a layer 1 responsibility, so even sub-TCP/IP traffic is included in what affects jitter).

The switched nature of Ethernet nowadays is what really helps guarantee that constant flow of data and ultimately makes NRS games a lot more playable. The switching algorithms used basically act as a scheduler that, even in situations where there are a large number of devices talking, data will be sent and received over the wire in a consistent interval.

That said, you may place your apology here:
||
||
||
\ /
V
No, it's actually the reverse. Unless both the server (and the network topology) are capable of using 100% of the performance home network provides, 100% reliably (and they aren't -- not in MKX or any other online game), you are throwing our theoretical performance numbers that have no actual relevance to the task at hand.

A good analogy is a highway -- say we're on the freeway, and there's traffic today. Imagine you are driving a car which gets great performance in the 70mph to 100mph range, which my car does not. But on this particular stretch of road, the speed limit is 50mph, and with fluctuations in traffic there's no car moving, on average, faster than 60mph. So the highway isn't able to accept the upper limit of your car's ability, and your theoretical performance in that range means little in this situation.

If you are maintaining that home network jitter is the biggest factor in relative transit time and performance for your connection to MKX, you either 1) Haven't taken a look at the traffic, or 2) your network is not setup properly.

There are no absolutes in game network performance -- only relatives based on
A) The topology and performance of the entire network connection, from endpoint to endpoint
B) The specific abilities and demands of the particular game's host and your client, combined with (A)

When you actually do the math, most jitter on the home network's end should affect the transit and processing times by a significantly smaller amount than what's actually happening between your client and the server. As a matter of fact, I doubt you'd even be able to tell the difference as a player. What most people register as a "bad internet connection", to the point that it ruins tournaments, is usually from one of the following factors:
  • People setting up their network incorrectly -- much too far from the router, old hardware, etc.
  • Other traffic on the network, not policing the usage correctly
  • Connection issues related to the ISP and/or the hops each packet has to take from source to destination and back
So no, the platitudes about dramtically reducing your actual performance, in practice, on the connection between you and the MKX host, are inaccurate and don't properly take practical examples into account. It takes a lot more to go from "good connection" --> "bad connection" in practice than typical WiFI jitter on a proper setup.
 
Last edited:

Mikemetroid

Who hired this guy, WTF?
@CrimsonShadow @BillStickers

I mean before we get into more theoretical analogies about how data and speeds "work" lets take a step back and think about what could be the initial issue causing the netcode to suck in the first place.

Has the connection tree ever been like confirmed for NRS games? Is it two peers connecting to a server, then those two play off of a server? Is it two people connecting to each other, one being host? I know there is a "server" online, but there is no indication of what it is and what sort of connection you have to it, since the fucking ping button never works appropriately.

I feel that MKX needs to switch to numerical, real time ping. I also would like to see the options of what data server we are connected to and see the server capacity. That way, I can be like, shit the East US server is at 98%, maybe I could switch to a mid-west server?

Playing Blops 3, which has not only a terrific network interface (showing real time ping, via graph, data servers, IPs received, etc) makes me believe its not the infrastructure of the player (usually) but the game's infrastructure.
 

Cerebru

Noob
What really needs to happen is NRS needs to step up in this department
@tylerlansdown @colt

There needs to be a tournament mode online added. It would only allow people to enter tournament mode w a detected wired Xbox/ps4 connection and a required threshold ping/download/upload and this check occurs throughout the user's online stint.

If for any reason a sister, brother , etc turns on Netflix and pulls the connection down then tournament mode instantly kicks you off w a penalty timeout before trying to get back in tournament mode.

There needs to be a strong foundation put in place to prohibit people getting away w dumpster connections and NRS, while hoping they're finally improving net code, can eliminate 95% of the issues in the meantime just by implementing a mode such as this.

People w crap connections and wireless can play each other in the regular mode but people who can access tournament mode play people w wired confirmed connections and great internet

Thoughts? Does this make You nervous reading this ?
I like the idea but I think its unrealistic in terms of they already got our money.
 

Rip Torn

ALL I HAVE IS THE GREEN.
No, it's actually the reverse. Unless both the server (and the network topology) are capable of using 100% of the performance home network provides, 100% reliably (and they aren't -- not in MKX or any other online game), you are throwing our theoretical performance numbers that have no actual relevance to the task at hand.

A good analogy is a highway -- say we're on the freeway, and there's traffic today. Imagine you are driving a car which gets great performance in the 70mph to 100mph range, which my car does not. But on this particular stretch of road, the speed limit is 50mph, and with fluctuations in traffic there's no car moving, on average, faster than 60mph. So the highway isn't able to accept the upper limit of your car's ability, and your theoretical performance in that range means little in this situation.

If you are maintaining that home network jitter is the biggest factor in relative transit time and performance for your connection to MKX, you either 1) Haven't taken a look at the traffic, or 2) your network is not setup properly.

There are no absolutes in game network performance -- only relatives based on
A) The topology and performance of the entire network connection, from endpoint to endpoint
B) The specific abilities and demands of the particular game's host and your client, combined with (A)

When you actually do the math, most jitter on the home network's end should affect the transit and processing times by a significantly smaller amount than what's actually happening between your client and the server. As a matter of fact, I doubt you'd even be able to tell the difference as a player. What most people register as a "bad internet connection", to the point that it ruins tournaments, is usually from one of the following factors:
  • People setting up their network incorrectly -- much too far from the router, old hardware, etc.
  • Other traffic on the network, not policing the usage correctly
  • Connection issues related to the ISP and/or the hops each packet has to take from source to destination and back
So no, the platitudes about dramtically reducing your actual performance, in practice, on the connection between you and the MKX host, are inaccurate and don't properly take practical examples into account. It takes a lot more to go from "good connection" --> "bad connection" in practice than typical WiFI jitter on a proper setup.
If you're going to use the highway analogy, wireless would be like a 2 lane highway (1 Eastbound, 1 Westbound) where the Westbound lane is closed due to construction and there is a worker there with a stop sign telling the traffic to take turns using the Eastbound lane to get through.

What I'm saying is that wireless only works in one direction at a time. Normally, with the way we use traffic, the router would be 80% in download mode (let's say Eastbound = down, Westbound = up) and 20% upload mode because we mostly receive info when browsing the internet/using Netflix etc... With fighting games, we are sending really small bits of data and receiving really small bits of data (like under 1MB), but it needs to happen at the same time and happen very quickly. The sending and receiving of those bits of data must happen 100's of times per second. The fact that you have one of those sending/receiving lanes constantly closed at all times is the single biggest problem with wireless.

Now, since your home has other devices connecting to the wireless network - it creates huge problems because your router gets confused. Your little brother loads up the Testyourmight.com homepage to post his latest ideas on Khrome's moveset. That homepage is probably over 150MB. Your router see's this and says to itself "Oh, this network is pulling max bandwith downloads for the last 1.5 seconds, I better switch to 90% download and 10% upload in order to make that tym homepage load faster." The problem is that you are now not sending the data out nearly as often, and if that data doesn't reach your opponent in about 5ms, you are going to start introducing lag.

Wireless will never be good for fighting games. Playing fighting games online is already nearly an impossibility due to physical constraints (i.e. the speed of light) so any type of handicap you introduce into the process is going to hinder performance dramatically.
 

CrimsonShadow

Administrator and Community Engineer
Administrator
Now, since your home has other devices connecting to the wireless network - it creates huge problems because your router gets confused. Your little brother loads up the Testyourmight.com homepage to post his latest ideas on Khrome's moveset. That homepage is probably over 150MB. Your router see's this and says to itself "Oh, this network is pulling max bandwith downloads for the last 1.5 seconds, I better switch to 90% download and 10% upload in order to make that tym homepage load faster." The problem is that you are now not sending the data out nearly as often, and if that data doesn't reach your opponent in about 5ms, you are going to start introducing lag.

Wireless will never be good for fighting games. Playing fighting games online is already nearly an impossibility due to physical constraints (i.e. the speed of light) so any type of handicap you introduce into the process is going to hinder performance dramatically.
I hate to call this out, but you have no idea what you're talking about.

150MB TYM Homepage? Try 5 MB, a good chunk of which is cached and will won't be loaded once you've been there. And you're not going to reach max download on a bunch of tiny individual files -- that's not how the browser forms connections.

Also note that the router is going to handle the requests for data the same way regardless if both of you are on a Wired LAN. That's why I mentioned that you need to be aware of who else is using your net -- but everything mentioned is way off in terms of how this works.

What player do you have 5-10ms ping to in an online MKX match? Someone living next door to you on a LAN?
 
Last edited:

BillStickers

Do not touch me again.
@CrimsonShadow @BillStickers

I mean before we get into more theoretical analogies about how data and speeds "work" lets take a step back and think about what could be the initial issue causing the netcode to suck in the first place.

Has the connection tree ever been like confirmed for NRS games? Is it two peers connecting to a server, then those two play off of a server? Is it two people connecting to each other, one being host? I know there is a "server" online, but there is no indication of what it is and what sort of connection you have to it, since the fucking ping button never works appropriately.

I feel that MKX needs to switch to numerical, real time ping. I also would like to see the options of what data server we are connected to and see the server capacity. That way, I can be like, shit the East US server is at 98%, maybe I could switch to a mid-west server?

Playing Blops 3, which has not only a terrific network interface (showing real time ping, via graph, data servers, IPs received, etc) makes me believe its not the infrastructure of the player (usually) but the game's infrastructure.
I've run Wireshark over MK9 for PC while playing some 1v1 matches. I might've done it for MKX as well, but i forget what the differences were, if any.

In the days of MK9 and Gamespy, there were 2 or 3 different servers used (I'm pretty sure authentication is its own server but I might be remembering that incorrectly). There's an authentication server (for your user name and stats), a matchmaking server (for ranked/player matches, possibly koth data forwarding as well), and a chat server (for rooms).

Outside of those "administrative" servers, each 1v1 match itself is entirely peer-to-peer except for 1) UDP hole punching (NAT traversal) and 2) match results reporting.

In a match, each peer sends a UDP datagram every frame and expects to receive a similar datagram from the opponent with a matching frame number and equivalent match time, player 1 fighter data, player 2 fighter data, and controller inputs. This data is collectively termed a KombatHeartbeat by NRS.

Every time the frames get out of sync, one of the clients will send a packet that looks basically like 0xFFFFFFFF repeated over and over as a signal that a resync needs to happen. Every time this occurs, the game will randomly pick a new UDP port to establish a connection from (which starts another UDP hole punching session -_____-), and after NAT traversal the process starts all over again at the mutually agreed upon frame.

If you look at the logs of a match and compare wireless and wired,you can see the difference in packet frequency.

Wired looks something like this:
(Where > is an outgoing packet and < is an incoming packet)
> [P1 0001 ...]
< [P2 0001 ...]
> [P1 0002 ...]
< [P2 0002 ...]
> [P1 0003 ...]
< [P2 0003 ...]
> [P1 0004 ...]
< [P2 0004 ...]

And wireless looks like this:
> [P1 0001 ...]
> [P1 0002 ...]
< [P2 0001 ...]
> [P1 0003 ...]
< [P2 0002 ...]
< [P2 0003 ...]
< [P2 0004 ...]
> [P1 0004 ...]
< [P2 0005 ...]
< [P2 0006 ...]
< [P2 0007 ...]
> [P1 0005 ...]
< [P2 0008 ...]
< [P2 FFFF ...]
> [P1 0006 ...]
> [P1 FFFF ...]

The lack of consistency in the wifi connection causes the two clients to gradually fall out of sync every few frames, requiring frequent resyncs that get even worse when you add NAT traversal into the mix.
 

Mikemetroid

Who hired this guy, WTF?
I've run Wireshark over MK9 for PC while playing some 1v1 matches. I might've done it for MKX as well, but i forget what the differences were, if any.

In the days of MK9 and Gamespy, there were 2 or 3 different servers used (I'm pretty sure authentication is its own server but I might be remembering that incorrectly). There's an authentication server (for your user name and stats), a matchmaking server (for ranked/player matches, possibly koth data forwarding as well), and a chat server (for rooms).

Outside of those "administrative" servers, each 1v1 match itself is entirely peer-to-peer except for 1) UDP hole punching (NAT traversal) and 2) match results reporting.

In a match, each peer sends a UDP datagram every frame and expects to receive a similar datagram from the opponent with a matching frame number and equivalent match time, player 1 fighter data, player 2 fighter data, and controller inputs. This data is collectively termed a KombatHeartbeat by NRS.

Every time the frames get out of sync, one of the clients will send a packet that looks basically like 0xFFFFFFFF repeated over and over as a signal that a resync needs to happen. Every time this occurs, the game will randomly pick a new UDP port to establish a connection from (which starts another UDP hole punching session -_____-), and after NAT traversal the process starts all over again at the mutually agreed upon frame.

If you look at the logs of a match and compare wireless and wired,you can see the difference in packet frequency.

Wired looks something like this:
(Where > is an outgoing packet and < is an incoming packet)
> [P1 0001 ...]
< [P2 0001 ...]
> [P1 0002 ...]
< [P2 0002 ...]
> [P1 0003 ...]
< [P2 0003 ...]
> [P1 0004 ...]
< [P2 0004 ...]

And wireless looks like this:
> [P1 0001 ...]
> [P1 0002 ...]
< [P2 0001 ...]
> [P1 0003 ...]
< [P2 0002 ...]
< [P2 0003 ...]
< [P2 0004 ...]
> [P1 0004 ...]
< [P2 0005 ...]
< [P2 0006 ...]
< [P2 0007 ...]
> [P1 0005 ...]
< [P2 0008 ...]
< [P2 FFFF ...]
> [P1 0006 ...]
> [P1 FFFF ...]

The lack of consistency in the wifi connection causes the two clients to gradually fall out of sync every few frames, requiring frequent resyncs that get even worse when you add NAT traversal into the mix.
Why the fuck does it start a hole nother punching session wtf
 

Doctor Rektangle

Think outside the Box
@CrimsonShadow @Pig Of The Hut correct me if I'm wrong here or reaching. But with the newest sey of features with the Xbox One and Ps4 alike contribute to lag? I mean half the people out there are streaming as they play. And since people don't need a PC or capture card to stream now, it breaks down that barrier to entry.

Wouldn't trying to stream in HD while fighting an opponent who is streaming while on wireless cause signal decay? Genuine question based on hypothesis.
 

Rip Torn

ALL I HAVE IS THE GREEN.
I hate to call this out, but you have no idea what you're talking about.

150MB TYM Homepage? Try 5 MB, a good chunk of which is cached and will won't be loaded once you've been there. And you're not going to reach max download on a bunch of tiny individual files -- that's not how the browser forms connections.

Also note that the router is going to handle the requests for data the same way regardless if both of you are on a Wired LAN. That's why I mentioned that you need to be aware of who else is using your net -- but everything mentioned is way off in terms of how this works.

What player do you have 5-10ms ping to in an online MKX match? Someone living next door to you on a LAN?
So what if the TYM homepage is only 5mb, it was a purely theoretical example. The point is, almost all forms of internet traffic are going to trick your router into going into mostly download side of the pipe.

Also, it is possible to get 10ms ping, although unlikely... that is why netcode is there to mask the problem. I indicated that playing fighting games online is already a losing proposition, due to the nature of how data travels. The game updates itself every 16ms, so yeah you are in a constant battle to send and receive data in time because once your data sent misses that 16ms cutoff, the netcode is going to have to compensate somehow.
 

CAM THE SAGE

THERE IS FEAR IN YOUR HEART
What really needs to happen is NRS needs to step up in this department
@tylerlansdown @colt

There needs to be a tournament mode online added. It would only allow people to enter tournament mode w a detected wired Xbox/ps4 connection and a required threshold ping/download/upload and this check occurs throughout the user's online stint.

If for any reason a sister, brother , etc turns on Netflix and pulls the connection down then tournament mode instantly kicks you off w a penalty timeout before trying to get back in tournament mode.

There needs to be a strong foundation put in place to prohibit people getting away w dumpster connections and NRS, while hoping they're finally improving net code, can eliminate 95% of the issues in the meantime just by implementing a mode such as this.

People w crap connections and wireless can play each other in the regular mode but people who can access tournament mode play people w wired confirmed connections and great internet

Thoughts? Does this make You nervous reading this ?
I'm totally down with this idea!!!#
 

CrimsonShadow

Administrator and Community Engineer
Administrator
So what if the TYM homepage is only 5mb, it was a purely theoretical example. The point is, almost all forms of internet traffic are going to trick your router into going into mostly download side of the pipe.
This isn't actually true though -- and it depends a lot more on your ISP and the throughput of what/who you're connected to than your router.
 

Rip Torn

ALL I HAVE IS THE GREEN.
This isn't actually true though -- and it depends a lot more on your ISP and the throughput of what/who you're connected to than your router.
I'm specifically talking about how a wireless connection works. You don't seem to understand how it must switch between up and down and how it determines those intervals.