VERY basic guide for ED networking

Number of discussions around the forum regarding the P2P networking nature of the game and wanted to give some basic support to other players.

(Network engineers, Server admins and general geeks can ignore [yesnod])

Quick basic Network 101:
In general:
  • If you start the conversation from your computer to the internet (like browse to a web site; check email; etc) as you initiated the conversation your router (normally provided by your ISP) will allow the conversation to work. The reply from the internet - results of your browsing / your Inbox / etc. are allowed back to your PC as the ISP device knows you asked for it.
  • If you didn't start the conversation though and receive some data by default your router will block it.
This is to protect your PC at home from unwanted connections (attacks)
How other games work:
Your normal multi-player games, like Diablo 3 / BF / WoW etc use a P2S model (Peer to Server) - the games company uses centralised servers and hosts the game along with your character. You initiate the connection to the server and it replies back with the results. Everything just works ! Your actions in game are performed on the server itself - all you are doing is instructing the server what to do and it replies back with the results.

Note: This is why combat logging on these types of game can be stopped - the server hosts your character and if you combat log (suddenly disconnect from the game) they can hold your character in game for a period of time.​
Elite Dangerous is different:
It uses some P2S links (login, mode selection, some character based transactions like buying / selling, etc) but in order to cut down on bandwidth, costs, and a whole host of other things Frontier decided to also use P2P (Peer to Peer) links. When you are about to meet another player in game you both need to set up a direct P2P connection to each other. Over this link you send information about what you're doing in space (moving, firing, etc) and generally it works quite well.

Note: This is why combat logging in ED can't be stopped. Your PC hosts your character (with some server validation) and if you combat log (suddenly disconnect from the game) there isn't a server hosting you to continue presenting it to the other player. The P2P link drops and the other player has no information about you any more.​

This is where the problem starts for many people:

  • If you initiate the conversation to set up the P2P link to the other player there isn't a problem for you - outbound is always allowed
  • If they initiate the link, then remember as you didn't initiate it your ISP router will block it by default.
How do Frontier get round this problem ?
Frontier can fix this in one of 2 ways, both available now in ED:

  • They can use uPnP (default setting)
  • They can use port forwarding

uPnP is supported by most ISP devices and technically it should work. It's a networking method of allowing unsolicited connections inbound from other players (IE you didn't start the P2P link but you told your router it was OK and it allows it to work) However, for it to work there are 2 things that have to be right : your ISP device & your PC. If one of them is wrong then uPnP won't work and you generally wont meet many people in ED if at all.

Remember though if you initiate the P2P link then technically even with a faulty uPnP setup it should work. You have no control over who initiates that link (AFAIK) which might explain why some people can see everyone and others only a subset (discounting bugs and things in ED :D)
How can check yourself if uPnP is working on your computer:
  • Check this LINK - describes some settings on your computer (windows)
  • A better option if you trust MajorGeeks (I do) is to download this software and run it - LINK - it does some tests and can enable services if they are disabled.

Sometimes the problem will be with your ISP router - it may just be too old or buggy :(
What if you can't fix uPnP ?
You can change to use port-forwarding:

In short - 3 changes:
  • Alter a configuration file located in the ED folder to use ports and not the uPnP service (AppConfig.xml)
  • Change your ISP router and enable port-forwarding
  • If you are using one allow traffic in and out through that port on your PC through your personal firewall
Should I use port forwarding ?
In short - given the choice - yes.


  • It's more secure - uPnP has some security issues
  • It's more deterministic - You know exactly what is arriving at your PC and from where
  • It's more reliable - uPnP has some problems. Port-forwarding is a tried and tested method.

Someone on Reddit linked to an outstanding website to help with this: www.portforward.com


  • Background information about port forwarding - what is it ?
  • More information - how to do it
  • Have a specific router at home ? It might be listed here for instructions.

There are plenty of other guides on the internet to help.

Bottom line - console users have to enable port forwarding to get online and my 12 year old nephew can do it (and that scares me .. kids today feel so comfortable around computers it makes me feel like a worn out cassette).

Read up around the subject to get some familiarity, ask questions in this thread (the community on the whole is friendly here) and you can do it too


Final comment: Ideally I would like FD to do 2 things in the Elite Dangerous menus that I feel would massively help players & their own support staff:


  • Enable a toggle to switch between uPnP and Port-Forwarding (to make it easier - the router is your responsibility though)
  • Enable a test button to determine if your set up is actually working inbound by FD initiating a test P2P link*

Good luck :)


---
EDIT:
Added links to help with port forwarding






*I know you can see that you're connected to the server on the main screen but AFAIK that's using the P2S links to the Frontier servers.
 
Last edited:
Great job commander!! Very interesting and informative.

I completely endorse your proposed changes to Elite Dangerous in this regard!! Given that PvP has more drawbacks than advantages, ED should be helping players to set up the network config so that their game can run as expected and people can actually see human players in the outer space...
 
Judging from the netlog ED also supports classic STUN for NAT traversal and it seems to be the default.

Agreed - Whilst it's nothing that a user can do anything about (that I know of) for sure your netlog file would be useful for FD support should you need to raise a ticket.
 
Please turn uPnP OFF as it is a major security risk. ANY application from anywhere in your home network will be able to modify firewall rules and configure port address translations. That's a no-no!

Further, several implementations have serious bugs that can be exploited via buffer overflow.

@Frontier:
Please include network configuration requirements in the game's manual, as all other software vendors usually do.
 
Enable the router for uPnP.

Well ... without wanting to derail my own thread:


  • uPnP is insecure and has many flaws so it's better to use port-forwarding
  • Not all computers (windows) have uPnP enabled - people like me harden the OS prior to use and turn off unnecessary services (like discovery)
  • Not all routers can properly support uPnP especially older models. Some may also have buggy/partial adherance to the RFC which causes issues
  • Not all routing devices support uPnP. Mine doesn't. (commercial UTM firewall)

That said, for the vast majority of people using SOHO equipment uPnP should work by default with little change / user interraction.

I simply wrote the thread to give people an insight into how ED networking works coupled with some steps to check uPnP on their equipment to rule out problems.

If you know what you're doing switch the game over to use port-forwarding.
 
Last edited:
Very good guide, also if you use port forwarding you can monitor the connections very easy from your router, especially if you have a full linux/bsd router. You can use a dedicated old pc for router, it's best for flexibility or you can use a openwrt router if you are fine with a lot less packages to use.
 
you deserve a ton of rep just because of time spent writting this. As a tech person, I've found the language more than appropriate for any one.

on a side note, might be neesed a reference to the MTU size? seems to have impact on performance as well.

great post!
 
really well written for people that don't know about that stuff.

You might want to add a small part about cheating/hacks in P2S and P2P games. Cheating is generally easier in P2P because no data validation is existent per se. Simply put it's the main reason why unlimited shield hacks exist...
 
You might want to add a small part about cheating/hacks in P2S and P2P games. Cheating is generally easier in P2P because no data validation is existent per se. Simply put it's the main reason why unlimited shield hacks exist...

You have a point, P2P games are far more insecure compared to P2S, but I don't know how much of the code is validated by FD during play. I know something is sent to FD during play (when in space) but exactly what that is I haven't reverse engineered just yet. (Too much time for a game I don't play massively)

At best it would be informative, at worst incite drama on an already nuts forum :D
 
That said, for the vast majority of people using SOHO equipment uPnP should work by default with little change / user interraction.

But if you follow best practices for home IT environments:
- you don't use soho equipment for routing/firewalling (either use a linux box or pay some money for a decent branch office router)
- you disable upnp on the router
- you disable/uninstall upnp services/daemons on hosts

on a side note, might be neesed a reference to the MTU size? seems to have impact on performance as well.

MTU size tuning is a related issue, but I think the debate would be out of scope for this thread. Worst case, a wrong MTU size can prevent you from communicating with some servers.

Also, other IP, UDP, TCP and network stack tunables exist. There is a growing issue with tuning for performance within the home environment (e.g. NAS, Backup, Streaming) and tuning for good internet connectivity. So it's not trivial anymore.
 
Last edited:
If you need to fiddle with your MTU to get decent throughput, a support ticket with your ISP is in order. If it works, don't muck around with it.

uPnP is insecure and rife with security issues. Decent routers have this turned off by default. Port forwarding is an excellent way to handle things. The rest of the items mentioned should only be modified by qualified IT staff who know the implications of what they are doing. No system is 100% safe if you are on the Internet no matter what you do. Diddle around with things you don't understand and you increase your vulnerability.

Don't depend exclusively on your router firewall. Have one on your PC as well. A layered defence is much more effective than a single strong device.

Make backups of your router settings when it is working before making changes, so you can recover in a hurry.
 
I can see other players no problem. But if theres a lot of them it gets laggy and everyone is rubber banding. My Internet connection is excellent on everything else.
 
I can see other players no problem. But if theres a lot of them it gets laggy and everyone is rubber banding. My Internet connection is excellent on everything else.

You tend not to see it much on P2S servers (if your connection is good / underlying game code written well) as all information flows to the server from each player and only 1 stream comes back to you with updates. P2P obviously has everyone talking to everyone else in the vicinity and if 1 of them has a poor internet connection that can cause issues.

FD mitigate that to some extent by having a quality score per island (group of players) and once the quality drops below a certain threshold they don't add more players.
 
I can see other players no problem. But if theres a lot of them it gets laggy and everyone is rubber banding. My Internet connection is excellent on everything else.

As the OP says, Frontier uses P2P for networking. As he explained, there is a direct connection between you and the other players. Anyone in the group lagging will cause lag to the others. You might have an excellent connection but if the data from the other players lags, then you will lag. That's why I think that p2p for multi-player is evil. It has its use but not for a real time multi-player experience.

And +1 Rep to the original poster!
 
Last edited:
Back
Top Bottom