[DE]Glen 9,222 Posted August 6, 2014 Share Posted August 6, 2014 We have changed the default network ports used by Warframe; this should have been done a long time ago but we kept putting it off because of the trouble it is going to cause. Since there has been increased attention on matchmaking bugs after the massive changes in Update 14 we felt like it was time to act. In short: the default UDP ports used by Warframe are now 4950 and 4955. This change is currently live for PC and will be coming to PS4 with Update 14. If your router supports UPnP you should not have to change anything (it should update everything automatically) but if you have configured manual port-forwarding rules they will have to be updated. If you have multiple PCs on your home network that play Warframe you probably have configured Warframe on each PC to use unique ports to avoid conflicts (hit ESC, select Options, Network Ports is near the bottom); since all port settings have been reset to defaults and you will have to reconfigure these. You should know if there is a problem shortly after arriving in your ship; it runs a diagnostic test to confirm your network is working properly and a dialog will pop out to warn you of any problems. You can run the test manually from your ship: hit ESC, select Options, and press the Analyze Network button at the bottom of the first page. If everything is fine it should say “All systems nominal.” If there is a problem there should be a help button on the warning dialog that should bring you to a web-page with more information. We regret any inconvenience this may cause but hope that in the short term it will improve connectivity for everybody. The problem with 3960 & 3962 Many years ago when we picked ports to use for Dark Sector we had no idea the lengths we would have to go to work around the quirks of various routers and firewalls; we just picked a pair of unused ports and got on with making the game (which was primarily single-player at the time). Since Dark Sector we have learned all kinds of tricks for dealing with routers. In cases where there is no UPnP service to forward ports for us we have to try to hint to the router what kind of mapping we will need and then try to figure out how it ended up forwarding the ports so that we can coordinate connecting with other players. Here is a simplified example of how it should normally work: The game sends a packet out of UDP port 4950 to the matchmaking service. Your router forwards this out of the public IP on port 4950 and makes a temporary port-forward so that packets can come back along the same chain. The matchmaking service tells your friend he can reach you on port 4950. Your friend sends data to your router, your router forwards it to you, and you go kill some crewmen. The problem is that the port selected by the router is beyond our control – it is up to the router to pick a port that it feels is appropriate. If the port you would expect was currently reserved (possibly by another PC on your home network) it is free to select a different port for the mapping. The game does not care what public port is mapped – it just cares that it stays mapped (or that the mapping will work for all your friends). The problem is that a router can sometimes decide to change the mapping on the fly – this can happen if the router decides to expire a mapping before you are done with it and replace it with a different port. Coincidentally, strict NAT is a very closely related to this problem; if your router is strict the mapping depends on who you are talking to: the matchmaking service might think that port 4950 is mapped for you but when your friend tries to use 4950 to reach you the router ignores your friend because the router has decided that 4950 is *strictly* for the matchmaking service everybody has to get their own mapping. There is a whole lot more to how we handle strict NAT but it has nothing to do with why we changed the default ports so we will leave that for another time. Let us continue with the example above: Time passes and your router expires the mapping; when renewed it decides to map 4951 instead (since 4950 was used recently and it does not want reuse it right away). Your friend tries to send data to you via port 4950 but it is no longer being forwarded so the data goes nowhere. The game attempts to cope with this by predicting that your router will use port 4951 because it is the next port in sequence; this turns out to be correct and you get to kill some more crewmen. Currently if there is a problem the game will try the next two ports after the one it hoped would be mapped. If we are trying to connect to 3960 and it is not working we will try 3961 and then 3962 which astute readers might have already noticed is the other default port for the game! By changing the default ports so that they are spaced wider apart we can not only avoid conflicting mappings but we can also safely try predicting more ports in the event that the first 3 fail. Link to post Share on other sites
Cleesus 7,790 Posted August 6, 2014 Share Posted August 6, 2014 Thanks glad you have made progress on the issue Link to post Share on other sites
the-matt-hatter 995 Posted August 6, 2014 Share Posted August 6, 2014 Please, please, for the love of Lotus pin this to players helping players, I know a ton of people who'd appreciate that information after returning from Warframe burnouts and hiatuses (hiatum?). Link to post Share on other sites
Executor_Aeternus 219 Posted August 6, 2014 Share Posted August 6, 2014 Oh cool, this should actually be fairly useful. Link to post Share on other sites
GhostSwordsman 2,880 Posted August 6, 2014 Share Posted August 6, 2014 Is this why Ordis says "I've run diagnostic regressions, all systems nominal, no need to thank me." or is it just part of his diologue? Link to post Share on other sites
Rajko 1,796 Posted August 6, 2014 Share Posted August 6, 2014 Thanks for the detail and the change! Link to post Share on other sites
0zatos 25 Posted August 6, 2014 Share Posted August 6, 2014 Hotfix kick me out of the game cannot login anymore error internet cannot connect Link to post Share on other sites
-CM-Saymus 241 Posted August 6, 2014 Share Posted August 6, 2014 Great change, thank you. Link to post Share on other sites
Anatolius 7,764 Posted August 6, 2014 Share Posted August 6, 2014 Lovely. I just got rid of strict Nat Link to post Share on other sites
La6yrinth 81 Posted August 6, 2014 Share Posted August 6, 2014 Is this why Ordis says "I've run diagnostic regressions, all systems nominal, no need to thank me." or is it just part of his diologue? No. This was Ordis being... Ordis. Just checking himself after you got all the parts to repair him. Link to post Share on other sites
(PSN)IIIDevoidIII 15,518 Posted August 6, 2014 Share Posted August 6, 2014 Everything sounds good, but I know nothing about this. I'm going on your word Glen. Don't let me down. Link to post Share on other sites
PookieNumnums 5,595 Posted August 6, 2014 Share Posted August 6, 2014 deep. thanks for enlightening us Link to post Share on other sites
MomoEzmi 3 Posted August 6, 2014 Share Posted August 6, 2014 i wonder with this change will we still see that failed to connect issues that pops up alot for many if not most in warframe when joining others most have to do it twice i wonder if this will fix that problem since this issue has been here for years now ill be really happy to see that issue finally gone Link to post Share on other sites
BlutAdler 742 Posted August 6, 2014 Share Posted August 6, 2014 I love DE so much because of posts and updates like this. Man If I could one day work for this company.. It's official, working at DE is my dream job. I have been inspired and awe-stricken. Link to post Share on other sites
Agent_Maine 525 Posted August 6, 2014 Share Posted August 6, 2014 Glen, you changed your profile picture!!! I like it. Link to post Share on other sites
unknow99 10,929 Posted August 6, 2014 Share Posted August 6, 2014 (edited) If that means that my game won't stutter even on solo, I'm happy. Explanations of your work in posts like this also make me happy. :) Edited August 6, 2014 by unknow99 Link to post Share on other sites
Mak_Gohae 8,743 Posted August 6, 2014 Share Posted August 6, 2014 Is it safe? Link to post Share on other sites
Kraizer 73 Posted August 6, 2014 Share Posted August 6, 2014 Now I get Strict Nat and can't get rid of it. Lovely... Link to post Share on other sites
Gekker 1,009 Posted August 6, 2014 Share Posted August 6, 2014 I am not sure if I follow your explaination but shouldn't we have to open ports ranging from 4950 to 4955 instead of just 4950 and 4955? I assume this since you stated "The game attempts to cope with this..." (port 4950 no longer being forwarded by the clients router) "... by predicting that your router will use port 4951 because it is the next port in sequence". If we only open 4950 & 4955, 4951 will never be an option to be considered by the router or am I missing something here? Im asking because I had more luck configuring my strict NAT manually since warframe always complained in the past when I left it to UPnP to configure them automatically. It should not be a bad idea to activate UPnP on both, game settings and router configs as well as opening ports manually, right? Strict NAT still confuses me so please bear with me if Im talking gibberish. Link to post Share on other sites
0Pinger 1,140 Posted August 6, 2014 Share Posted August 6, 2014 Had one test tun to the void with one other player and seems to be working after a year. Strictnat might have been fixed finally. Link to post Share on other sites
0Pinger 1,140 Posted August 6, 2014 Share Posted August 6, 2014 Gekker it uses both ports, one is in bound and other is out bound, so just set it to 4950 and 4955 but not 4950 too 4955. On my router its: As for upnp, you cannot have both port forwarding and unpup at the same time, its one or the other Link to post Share on other sites
arsyadpower 255 Posted August 6, 2014 Share Posted August 6, 2014 i dont understand what thats mean but it sound awesome, thx Link to post Share on other sites
Cyborger1 659 Posted August 6, 2014 Share Posted August 6, 2014 (edited) Does this all means that we should be seeing much less "Failed to join session"s? If it is so... FINALLY! :D Edited August 6, 2014 by Cyborger1 Link to post Share on other sites
[DE]Glen 9,222 Posted August 6, 2014 Author Share Posted August 6, 2014 I am not sure if I follow your explaination but shouldn't we have to open ports ranging from 4950 to 4955 instead of just 4950 and 4955? I assume this since you stated "The game attempts to cope with this..." (port 4950 no longer being forwarded by the clients router) "... by predicting that your router will use port 4951 because it is the next port in sequence". If we only open 4950 & 4955, 4951 will never be an option to be considered by the router or am I missing something here? Im asking because I had more luck configuring my strict NAT manually since warframe always complained in the past when I left it to UPnP to configure them automatically. It should not be a bad idea to activate UPnP on both, game settings and router configs as well as opening ports manually, right? Strict NAT still confuses me so please bear with me if Im talking gibberish. If UPnP isn't working for you and you're getting warnings you should only have to forward the two ports: 4950 and 4955 (but if you're going to do this turn UPnP OFF in Warframe first so they don't fight). Forwarding the whole range isn't necessary because Warframe is only listening on those two exact ports -- it's the router's external ports that will move around. Prediction is our last resort for routers that don't work the way we'd expect (ie: there's no UPnP or manual mappings and and the automatic temporary mappings are uncooperative). Link to post Share on other sites
[DE]Glen 9,222 Posted August 6, 2014 Author Share Posted August 6, 2014 Gekker it uses both ports, one is in bound and other is out bound, so just set it to 4950 and 4955 but not 4950 too 4955. On my router its: As for upnp, you cannot have both port forwarding and unpup at the same time, its one or the other More specifically: one is for hosting and one is for connecting -- they're both bidirectional. You're absolutely right: if you're setting up mappings by hand you should turn off UPnP in the Warframe settings becasue as you can see in your case UPnP is making the exact port mappings you'll be doing by hand. Link to post Share on other sites
Recommended Posts