Jump to content
Jade Shadows: Share Bug Reports and Feedback Here! ×

Ping matchmaking and how to improve it


truthless
 Share

Recommended Posts

I realize this issue may not be as highly prioritized in North America, but I happen to be a European player (nordic, actually), and we have some countries in Europe who still have tariffs for internet traffic. This leads many users on these kinds of ISP's to throttle their upload speeds to limit how much bandwidth they're allowing (and thus limiting their costs). This leads to issues with ping matchmaking in many situations in Warframe, because I'm guessing (based on experience) the game currently only does a single pass of pings and you're not using bigger (actual game packets) to check the ping. Essentially, you're driving on the speed lane while testing the ping, and once you connect you're stuck in a traffic jam.

The majority of my games on European public servers are ones where I'm stuck behind doors, enemies are warping around, enemies dying 10 seconds after they run out of health, unable to switch into operator, grey rooms until I enter them, and so forth and so on. And yes, I'm not exaggerating when I'm saying the majority. More than 50% of my games are like this when I'm connecting to another host. That's with the lowest possible ping limit for connections as well. I can only imagine it would be even worse if I allowed more connections.

I have some suggestions on how to fix this. You've probably already thought of some or all of these, but it's just low on your priority list. I'm hoping that other European players will chime in with how important this is for public play. I basically just want to play with my friends as it is, as we can force the game into host mode for one of us in these cases, but it's hard when there's content like the liches that forces us into solo or public play. Anyway, onwards to my suggestions:

  1. Make the ping check more substantial. Check with bandwidth as well. Avoid the cases where you get a lucky ping, and delay the connection to the host for a few more seconds just to make sure the connection is stable and the bandwidth is fine from the host to each player.
  2. Allow players to opt-out of hosting games. This won't fix every case, but it can at least allow players who know what they're doing to force themselves into taking a client slot rather than host a game and make life miserable for others. They're fully aware of their throttled upload, and I sincerely doubt they want to host the game.
  3. Before you can even attempt to host a public game, make the player go through a rigorous ingame bandwidth and ping test in the menu. This can be done via proxies placed in each region. Once you succeed this test, you are certified as a host player and can host public games. This certification can be removed if your players are continuously experiencing connection issues.
  4. Have players answer simple "how was your connection this game?" questions after a game if you can't do it in any other way. Players who get consistently bad reviews on their hosting speeds can lose the above mentioned certification.

I'll be honest, I'm mainly just spitballing here, and some of these are worse than others, I'm sure. But the fact is something needs to be done. Public games are a menace right now because of the huge excess of players in Europe that simply don't have enough bandwidth to be hosts.

Edited by truthless
  • Like 2
Link to comment
Share on other sites

Hum, I have a 50mbit/s connection and rarely get a host who lags out. 

On the other hand, I have been playing with people from Brazil with no lags and playing with people from my own country WITH lags...

KInda wierd to figure out whats the cause.

  • Like 1
Link to comment
Share on other sites

3 hours ago, NoSpax said:

Hum, I have a 50mbit/s connection and rarely get a host who lags out. 

On the other hand, I have been playing with people from Brazil with no lags and playing with people from my own country WITH lags...

KInda wierd to figure out whats the cause.

It’s simple, they uses potatoes. Even with a good connection, it’s still laggy if they used an ancient core duo PC to host Warframe.

Link to comment
Share on other sites

Dedicated servers would be a decent work around, rather than piggybacking on the hosts connection everyone connects to the game themselves. So while the host would start the squad, everyone would be connected to the Warframe servers themselves so they don't have to connect to the host and get their internet speed dictated by the host. Especially a game like this where reflex time matters it would be nice to not have lag on everything. 

Link to comment
Share on other sites

3 minutes ago, (XB1)Red Dough Boy said:

Dedicated servers would be a decent work around, rather than piggybacking on the hosts connection everyone connects to the game themselves. So while the host would start the squad, everyone would be connected to the Warframe servers themselves so they don't have to connect to the host and get their internet speed dictated by the host. Especially a game like this where reflex time matters it would be nice to not have lag on everything. 

And where would these servers be located?
And how would I, from Germany, then play with someone from France, or simply from Germany? Would we have to use a connection to the server, possibly located in Canada, where DE recides? Yeah, that would be way better than the connection straight to the party members...
Servers always sound great... until they don't... And servers aren't cheap. Adding dedicated servers is all fine and dandy, but DE won't make any more money just because the game got servers. But DE would still have to pay for those servers. How would they make that money back?

Link to comment
Share on other sites

On 2020-02-12 at 5:48 AM, truthless said:

I realize this issue may not be as highly prioritized in North America, but I happen to be a European player (nordic, actually), and we have some countries in Europe who still have tariffs for internet traffic. This leads many users on these kinds of ISP's to throttle their upload speeds to limit how much bandwidth they're allowing (and thus limiting their costs). This leads to issues with ping matchmaking in many situations in Warframe, because I'm guessing (based on experience) the game currently only does a single pass of pings and you're not using bigger (actual game packets) to check the ping. Essentially, you're driving on the speed lane while testing the ping, and once you connect you're stuck in a traffic jam.

The majority of my games on European public servers are ones where I'm stuck behind doors, enemies are warping around, enemies dying 10 seconds after they run out of health, unable to switch into operator, grey rooms until I enter them, and so forth and so on. And yes, I'm not exaggerating when I'm saying the majority. More than 50% of my games are like this when I'm connecting to another host. That's with the lowest possible ping limit for connections as well. I can only imagine it would be even worse if I allowed more connections.

I have some suggestions on how to fix this. You've probably already thought of some or all of these, but it's just low on your priority list. I'm hoping that other European players will chime in with how important this is for public play. I basically just want to play with my friends as it is, as we can force the game into host mode for one of us in these cases, but it's hard when there's content like the liches that forces us into solo or public play. Anyway, onwards to my suggestions:

  1. Make the ping check more substantial. Check with bandwidth as well. Avoid the cases where you get a lucky ping, and delay the connection to the host for a few more seconds just to make sure the connection is stable and the bandwidth is fine from the host to each player.
  2. Allow players to opt-out of hosting games. This won't fix every case, but it can at least allow players who know what they're doing to force themselves into taking a client slot rather than host a game and make life miserable for others. They're fully aware of their throttled upload, and I sincerely doubt they want to host the game.
  3. Before you can even attempt to host a public game, make the player go through a rigorous ingame bandwidth and ping test in the menu. This can be done via proxies placed in each region. Once you succeed this test, you are certified as a host player and can host public games. This certification can be removed if your players are continuously experiencing connection issues.
  4. Have players answer simple "how was your connection this game?" questions after a game if you can't do it in any other way. Players who get consistently bad reviews on their hosting speeds can lose the above mentioned certification.

I'll be honest, I'm mainly just spitballing here, and some of these are worse than others, I'm sure. But the fact is something needs to be done. Public games are a menace right now because of the huge excess of players in Europe that simply don't have enough bandwidth to be hosts.

 

 

Definite fix is DE allow's a host toggle, so people with bad internet don't have to host. 

 

I really don't want ping limits, it will crush matchmaking times in this game and it's not that big of a deal considering this game has A LOT of client side authoritive stuff which is excellent. The problem is upload bandwidth being saturated for certain hosts no matter the ping. 

 

  

21 hours ago, (XB1)Red Dough Boy said:

Dedicated servers would be a decent work around, rather than piggybacking on the hosts connection everyone connects to the game themselves. So while the host would start the squad, everyone would be connected to the Warframe servers themselves so they don't have to connect to the host and get their internet speed dictated by the host. Especially a game like this where reflex time matters it would be nice to not have lag on everything. 

There is no lag against enemies because everything is client side lol. Ever notice how there is no delay when you shoot someone with 400 ping?

The problem is de-sync when host upload is messed up, irregardless of current ping. 

 

The most efficient option for dedicated servers is ONLY FOR EIDOLON/ORBS. This is where the hosts mess up the most.

Edited by Daffan
Link to comment
Share on other sites

26 minutes ago, Daffan said:

 

 

Definite fix is DE allow's a host toggle, so people with bad internet don't have to host. 

 

I really don't want ping limits, it will crush matchmaking times in this game and it's not that big of a deal considering this game has A LOT of client side authoritive stuff which is excellent. The problem is upload bandwidth being saturated for certain hosts no matter the ping. 

 

  

There is no lag against enemies because everything is client side lol. Ever notice how there is no delay when you shoot someone with 400 ping?

The problem is de-sync when host upload is messed up, irregardless of current ping. 

 

The most efficient option for dedicated servers is ONLY FOR EIDOLON/ORBS. This is where the hosts mess up the most.

There's still a bit of delay depending on who's hosting, it's not as bad as other games and since it's not versus dedicated servers aren't as necessary since they're mostly used to keep a fair playing field with no one having a significant advantage because they're hosting. The reason I'd support them is so everyone can get the same feeling of when they host and they're not limited by the host connection. 

21 hours ago, WhiteMarker said:

And where would these servers be located?
And how would I, from Germany, then play with someone from France, or simply from Germany? Would we have to use a connection to the server, possibly located in Canada, where DE recides? Yeah, that would be way better than the connection straight to the party members...
Servers always sound great... until they don't... And servers aren't cheap. Adding dedicated servers is all fine and dandy, but DE won't make any more money just because the game got servers. But DE would still have to pay for those servers. How would they make that money back?

I'd imagine they could set up servers by region, so North America, Europe, possibly Asia. Most games have those 3 as their main servers with additional smaller ones if the need arises, and since you're playing in Germany I doubt it's making you connect to Canada anyway. 

 

By advertising that the game has dedicated servers and drawing in people with the fact they won't be stuck in host migrations. Other games in the past have hyped up dedicated servers and drawn a lot of attention for it, leading to more players and profit. How does any game with dedicated servers pay for them after all? 

  • Like 1
Link to comment
Share on other sites

On 2020-02-11 at 8:48 PM, truthless said:

The majority of my games on European public servers are ones where I'm stuck behind doors, enemies are warping around, enemies dying 10 seconds after they run out of health, unable to switch into operator, grey rooms until I enter them, and so forth and so on. And yes, I'm not exaggerating when I'm saying the majority. More than 50% of my games are like this when I'm connecting to another host. That's with the lowest possible ping limit for connections as well. I can only imagine it would be even worse if I allowed more connections.

Err... There are quite a few misconceptions in your post. The issues you're describing are neither a result of ping nor bandwidth. They're a result of packet packet loss causing desync. Doors and AI are controlled by the host. The visualisation for enemy damage is handled locally and synced with the host, but deaths have to be vetted with the host before you can see an enemy actually expire. If you're seeing them not expire for 10 seconds, that means the host's packets containing those calls are having to be retransmitted multiple times. The same goes for doors, which only open when your location host-side is within their trigger volume. If packets FROM YOU to the host drop, your location on the host will lag behind and the host will not "see" you by the door to open it. On rare occasions, complete desync could occur where your location stops being updated on the host side entirely. At this point, no doors will ever open for you and no enemies will shoot at you at your current location. Similarly switching to the Operator is - for whatever silly reason - synced with the host. If packets drop along the way, your attempt either fails or is delayed due to retransmitted packets.

I'm in Eastern Europe and routinely play with people all over the world, often with people as far apart as the Western US, Central Europe and Australia. I rarely have such severe packet loss outside of situations where I know either I or the other person are suffering severe connection issues. My friend from Australia once experienced the "complete desync" issue where his location stopped updating on my side as the host, but it's rare. I don't know how technically-savvy you are, but I'd recommend running some checks on your connection beyond just a speed test. Get yourself a traceroute programme of some kind - I use WinMTR but that's a bit old at this point. That'll usually give you a list of all the steps between you and a given IP, including packet loss along the way. Very often, the issue is neither you nor the host, but a node along the way. Maybe grab a programme which tracks your network uptime and scans for brief connection loss. I forget the name of the one I use, but there are free ones out there. If all else fails, call your ISP's customer support line and explain your issue. They may have more specific instructions on how to test your connection locally.

The reason I say all of this is I used to have consistent, irritating problems pretty much the same as you describe. Randomly, I'd start losing packets, disconnecting and otherwise having a miserable time. In my case, ISP CS were #*!%ing useless, but I tracked the issue down to an ancient malfunctioning routed. Replacing the router instantly fixed the vast majority of my connection issues. NOW I feel confident in blaming other people's connections.

Link to comment
Share on other sites

8 hours ago, Steel_Rook said:

Err... There are quite a few misconceptions in your post. The issues you're describing are neither a result of ping nor bandwidth. They're a result of packet packet loss causing desync. Doors and AI are controlled by the host. The visualisation for enemy damage is handled locally and synced with the host, but deaths have to be vetted with the host before you can see an enemy actually expire. If you're seeing them not expire for 10 seconds, that means the host's packets containing those calls are having to be retransmitted multiple times. The same goes for doors, which only open when your location host-side is within their trigger volume. If packets FROM YOU to the host drop, your location on the host will lag behind and the host will not "see" you by the door to open it. On rare occasions, complete desync could occur where your location stops being updated on the host side entirely. At this point, no doors will ever open for you and no enemies will shoot at you at your current location. Similarly switching to the Operator is - for whatever silly reason - synced with the host. If packets drop along the way, your attempt either fails or is delayed due to retransmitted packets.

I'm in Eastern Europe and routinely play with people all over the world, often with people as far apart as the Western US, Central Europe and Australia. I rarely have such severe packet loss outside of situations where I know either I or the other person are suffering severe connection issues. My friend from Australia once experienced the "complete desync" issue where his location stopped updating on my side as the host, but it's rare. I don't know how technically-savvy you are, but I'd recommend running some checks on your connection beyond just a speed test. Get yourself a traceroute programme of some kind - I use WinMTR but that's a bit old at this point. That'll usually give you a list of all the steps between you and a given IP, including packet loss along the way. Very often, the issue is neither you nor the host, but a node along the way. Maybe grab a programme which tracks your network uptime and scans for brief connection loss. I forget the name of the one I use, but there are free ones out there. If all else fails, call your ISP's customer support line and explain your issue. They may have more specific instructions on how to test your connection locally.

The reason I say all of this is I used to have consistent, irritating problems pretty much the same as you describe. Randomly, I'd start losing packets, disconnecting and otherwise having a miserable time. In my case, ISP CS were #*!%ing useless, but I tracked the issue down to an ancient malfunctioning routed. Replacing the router instantly fixed the vast majority of my connection issues. NOW I feel confident in blaming other people's connections.

That or the host has 1mbps upload, it gets saturated and the whole instance lags.

 

This is evident when you do Hydron and between waves the lag is non-existant and when all the enemies spawn it goes insane. 

Link to comment
Share on other sites

19 minutes ago, Daffan said:

That or the host has 1mbps upload, it gets saturated and the whole instance lags.

I doubt Warframe consumes anywhere near 1 Mb/s traffic, though admittedly I haven't kept track. Despite some odd choices, the game doesn't actually Sync all that much. It's why so much crap fails to sync between clients altogether. And what exactly do you interpret as the "whole instance lagging?" As I said - the symptoms from the OP are more consistent with packet loss than they are with poor throughput.

Link to comment
Share on other sites

it would be preferable if Host Election and Matchmaking would take a 5-10 second sample while creating some fake game traffic to test with, yes.

 

On 2020-02-11 at 5:45 PM, DrivaMain said:

Even with a good connection, it’s still laggy if they used an ancient core duo PC to host Warframe.

it's unlikely that Networking would have such poor performance even on quite a potato, their Framerate would just be awful, but Networking on weak Processors has been fine over the years. you'd have to get incredibly anemic to the point of approaching System unresponsiveness for it to have an effect.

 

On 2020-02-12 at 4:00 PM, (XB1)Red Dough Boy said:

I'd imagine they could set up servers by region, so North America, Europe, possibly Asia. Most games have those 3 as their main servers with additional smaller ones if the need arises, and since you're playing in Germany I doubt it's making you connect to Canada anyway. 

By advertising that the game has dedicated servers and drawing in people with the fact they won't be stuck in host migrations. Other games in the past have hyped up dedicated servers and drawn a lot of attention for it

that would generally be inferior to a direct P2P connection unless A and B are quite far away from each other - if A and B are within a few hundred Kilometers of each other, you could expect the same performance either way.

those were probably Competitive PvP games, where every Millisecond matters. but for the sort of Gameplay that is the majority of Warframe, Latency of several hundred Milliseconds isn't a problem. so long as it is consistent and not dropping Packets, it's almost the same as being much closer to one another. because you're mostly shooting at bots and acting fairly independently of each other. even doors will be fine in most situations, there will probably be a mild delay on them but they'll open about when you get there +/- a little bit.

17 hours ago, Steel_Rook said:

I doubt Warframe consumes anywhere near 1 Mb/s traffic, though admittedly I haven't kept track.

that's 125 KBytes/sec, which Hosting a busy Session in Warframe can on its own meet or exceed on rare occasions - ofcourse people rarely have literally nothing else running on their computer than just Warframe, there's often some Social Networking stuff running and perhaps exterior VOIP, other Game Launchers that have Social features, Et Cetera.
the keep alives for most of those sorts of things are pretty low, but the sort of active data they do transmit fairly regularly can quite easily consume 20-30 KBytes/sec.
small numbers and stuff that doesn't really matter, except ofcourse, when you're dealing with Bandwidth as low as suggested, then saturation is entirely plausible.

Edited by taiiat
Link to comment
Share on other sites

45 minutes ago, taiiat said:

that's 125 KBytes/sec, which Hosting a busy Session in Warframe can on its own meet or exceed on rare occasions - ofcourse people rarely have literally nothing else running on their computer than just Warframe, there's often some Social Networking stuff running and perhaps exterior VOIP, other Game Launchers that have Social features, Et Cetera.

Can it, though? I don't actually have specific numbers for this - keep meaning to track that. What are you basing these estimates on?

Link to comment
Share on other sites

13 hours ago, Steel_Rook said:

Can it, though? I don't actually have specific numbers for this - keep meaning to track that. What are you basing these estimates on?

amidst the height of intensive Survival testing and fixing, and probably elsewhere in time to some degree as well, Network performance needed to be audited on numerous occasions, so data had to be collected about how the game operates in different scenarios.
or in short, recording sample data from Players cross sharing Hosting in various Gamemodes & situations.

Link to comment
Share on other sites

  • 11 months later...
Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...