Elite Dangerous Network Guide
Please note I am an enthusiast, not a network professional; should you find any information you see here untrue or disagree with, please let me know - in a polite and civilized way. Also, there are some procedure that might lead to exposing the security of your PC. Do anything on our own risk!
How the game connects?
In order for game to work properly the road between the computer and other coumputers and server must be open. Because of security concerns there are safeguards that protect your computer. That is a good thing. Except it might get in your way when you want to play.
For most setups there are two layers of security: Firewall and modem/router. And there are two ways of communication - to your computer and from your computer.
What you want to achieve is to make sure both in and out computer communications are open for - and only for - Elite Dangerous (This is true for any other MMO or program) while being closed to any other unwanted attention.
There are three communication elements TPC/UDP, Port, and IP address. I'll explain the role of each of these in communication.
Awkward attempt to explain by paralell:
Computers communicate from address(IP) to address(IP) in a protocol (read language: TPC or UDP) using a certain channel (port).
You can get from town MyComputer (my IP address) to the town OtherPlayer (other player) in a red car(UPD protcol) or blue car (TCP protocol) via Highway 5100 (Port 5100) or Higway (Port 5101).
IP:
You won't need to configure this for Elite, you might skip this text, it's only for educational purpose. I'll delve into troubleshooting lag a bit.
All you really need to know is that every computer in the network has an IP address. It's a unique identifier (I see some knowledgeable geek interdicting me here ;p) that allows computers to reach each other. You can think of it as phone number or street address. Basically the only time when you could possibly need these numbers are when you are trying to determine where on the route to the server is the problem. The typical scenario is when you get finally frustrated enough with poor connection to the server and try to find out what the hell is wrong. You'll find the server's IP address and do a network route check. You'll Traceroute it or Ping it. Tracerout will give you information about delay between each checkpoint on the route while Ping only gives you the overall number.
Typically you can sum up the route like this:
Your computer - your router (if present) - your modem - your Internet Service Provider (ISP) - All the servers beteen ISP and game server - game server.
If you see a sudden spike somewhere you'll know the problem is there. For online gaming ideal OVERALL value is up to around 50 ms (Miliseconds. One second has 1000 miliseconds, ms) with 80is being not noticable to most but extreme hardcore gamers and 150ms being the upper acceptable value for competitive PvP.
However you need to count in that the signal usually has to go server and back in order for you to see actual result - you make an action on your end, signal reaches server in 50 ms, server computes results and sends it back to you (usually the same-ish 50ms). The matter is somewhat more complicated as it would be inefficient for the game server to make ALL the calculations so games leave as much computation on your computer as possible and do only the most necessary operations. Basically they only make referee.
This leaves room to hacking as the cheater is able to adjust the values that server relies on your machine to compute. The server doesn't judge if you actually CAN do 20 times more damage than normal. Or if it's possible to be at full health all the time. It just asks: How much damage did you do? And if you say 1000 instead of usual 50 it doesn't care. It just takes the number and tells the other player he got hit for 1000. Surprise. All he can do is make a complaint to the game company and if by some miracle they choose to look into it and and they keep logs, they can check out the logs and see the impossible damage spike and possibly punish the offender. Of course this process might be somewhat automatized.
Funfact: Megabits are different from megabytes. The connection speed in megabits was invented to inflate connection numbers for marketing. The only idea was to trick the customer who won't notice the difference between bit and byte. One byte is 8 bits. That means that if you advertise in bites instead of bytes you are getting 8 times better number than competition. As you can imagine everybody started using the higher number for advertising. So if your connection is 100 megabites per second you will not download 100 megabytes every second. You will download 8 megabytes. Just so that you know...
Anyway, back to tracerouting.
So you send your date packet to the server and it gets lost or comes back in 800ms.
You do a Traceroute and find that it takes 1ms to reach your modem then another 700ms to reach ISP and finally 99ms distributed over various servers on the way. You can bet that the problem is within your network. Probably somebody at home downloading stuff.
If the spike is at your modem it's probably YOU downloading stuff. Or using lot of network resources. Stop it. Run ONLY the game and see if that helps you.
If the spike is at your ISP it's probably primetime and your ISP is getting overwhelmed by traffic. The thing here is you are not getting the bandwidth you are promised in the advertisement. They number they show you is the MAXIMUM they allow you. Then there is (usually) another number - the actual guaranteed speed you get no matter how many people are online at the moment. This in turn depends on how many people are on the same connection line and how big that is. Bandwidth and latency are two different things but with more connections on the line more lag is introduced.
Example: The ISP has 1.000 megabit line. You are promised 100 megabit internet. But there are 100 people assigned to it. If all at once connected the line would need to be 10.000 megabit. What ISP does is it adjusts the actual maximum according to number of users connecting now. So if all 100 users would connect to the 1000 megabit line, everybody would get 10 megabits instead of the 100 megabits promised by ISP. Except the can be rather different. This is called Bandwidth Aggregation. It really depends on your ISP but I have been on a line with 60 other people (connection over phone lines) and now I am alone on the whole line (optical connection). The more people share the same connection(higher aggregation), the more sever will the lags become in prime times.
What the useful part in this? If you are getting unplayable lags and poor speed in prime times (usually Friday evenings, weekends) and you are sure it's not somebody on inner part of the network, ask your ISP what is the aggregation of your line and what is your guaranteed speed. You may find that you need to change to a connection with lower aggregation or change ISP altogether.
Of course servers experience more load during prime time too, and it might be them not being able to satisfy so many connection attempts but in my experience it's ISP who is to blame first. ;p
TCP vs UDP:
Not really important to delve into this, just bear in mind that these two are usually required for connection. So the request can be to open TCP, or UDP or both TCP and UDP traffic for the game. I always enable both. The safe thing to do is to enable only the one you really need.
Ports:
Your computer communicates via so called "ports". You can think of it as counters that are either open or closed. Like in the cash register in supermarket. Or even better - queues in airports. Each person (data packet) must show his passport but some have first class and have special - faster - queue while others have to wait in a loong line.
If you open a port to an application you are giving it a passport to go trough your security (firewall and modem firewall).
Removed p2p part as I was advised it's inaccurate.
Finally...
So as you see it's important to have a properly configured computer for gaming. Your first and foremost concern is to have your network configured for client-based gaming. This means making sure you are not running programs that eat unnecessary network resources and your Firewall, router and modem are all configured properly.
NEVER ever play on WiFi. To do that you have to be a networking badass and/or be very lucky. WiFi can EASILY add HUGE latency and is very susceptible to connection disruptions. (A neighbor with his phone connection into one of what - five? - available WiFi bands can easily slow you down or even kick you out.) ALWAYS use cable to connect.
Actual checklist:
First, set up your connection properly in your firewall. Make sure that the not only the game but also the launcher and overlay have free route. You will make this by enabling TCP and UDP connection (or if you are sure only one is needed, the use only that one) for that particular application. Make sure it's enabled both IN and OUT of the computer. It's assumed that OUT is not needed as it's open on default but in practice this proved to be false many times. Make sure that you use either all ports or the range that you need for the game.
Frontier instructions here: https://support.frontier.co.uk/kb/faq.php?id=344
So the rule in Firewall would look like this:
ALLOW EDLaunch.exe IN and OUT over UDP, ports 5100, 5101, 5102, 5111, 5200.
Now, you COULD allow only one port, you could choose another port as per their instructions. But I am lazy and I'll go with all to make sure it works every time.
So my Firewall rule would be:
ALLOW EDLaunch.exe IN and OUT over UDP, All ports.
Please note that this for is FIREWALL setup. Not router. On router I would specify ports. Opening all ports would be EXTREMELY STUPID as it would open my computer wide open to everyone!!!
If you have sensitive data on your computer ask your local PC freak to help you out to set up things as tight as possible.
Antivirus: While technically it's only the Firewall that needs to be set up do make sure your antivirus is not doubling on connection protection. More robust ones may do that. I found out it helped me to make an exception for the game in antivirus. While this may not be the safest thing to do it makes sure that it won't be scanned over and over and over and delayed and scanned and scanned and blocked and whatever. If you choose to do so, you do it on your own risk.
Same goes for runnign the game as admin. While the theory is that all the good programs get access where ever they need I have met some instances where the game installed themselves into computer system areas and but didn't get access to them later on when they needed them because they ...well tried to access the protected system areas. Quite stupid if you ask me. I go over this problem by lowering UAC to very low level (basically don't bother me and do whatever you want) and running the game as admin. Again, both are security risks, you do both on your own peril! *UAC - User Accout Control - the annoying window that pops up and asks you if you really want to run the stuff you just clicked on and asks for admin priviledges.
Since your router and modem work as firewalls too you'll define similar things as above. But here you need to be very careful. Do not open all ports! Open only those you need and only for the duration you have to.
There are basically three ways to make sure that the game gets the connection it needs:
uPnP
Port Forwarding
Port Triggering
They are three ways of doing the same thing in a different way. The goal is to open ports. uPnP open all ports the application requests. Unfortunately it also opens ports when EXTERNAL applications request it. If there was a hacker trying to get into your computer he would get free access. Think not locking your door when going to a holiday.
What uPnP does it opens the ports to any request. Makes it easy to connect. In unsecure way.
Port opening, port forwarding. This tells the router/modem/firewall to let let traffic through a specific port. The port should be open ONLY when the application runs. For our non-professional devices only one application can use a port at a given time. So if you can set up your rule like:
For EDLaunch.exe open ports 5100, 5101, 5102, 5111, 5200
you are golden. However a compromise will most likely be needed. You probably won't have the ability to define the rule by application, only by ports. And here the problem lies. The solution to this is called Port Triggering. It's opening ports whenever any internal application requests but for a limited time only. So if Elite Dangerous would request traffic via port 5100, the router would not only allow, it but it would keep the port open for certain time afterwards (think minutes) thus making sure the traffic may flow.
So which one? Ideally Port Triggering. If not possible choose between two evils: Port Opening or uPnP. Both can lead to attacker getting access to your computer. The bad thing about having permanently opened ports is that once a hacker finds it he can gain access to you anytime he pleases. It's a hole in a wall that would be there forever. What you can possibly do is open ports manually whenever you go play Elite Dangerous and turn them off then you stop. It's very responsible. Yeah, I see you doing that...
Most routers - and modems - come pre-configured in a way that will open ports once an application from PC requests it (and will keep them open for a while) but won't open when external traffic (application) requests it (unless it's been already open by request to send data to that particular IP address).
You can allow the port to be opened when the access is requested by a specific IP address. For example if your game server had a fixed IP address you could specify a rule to open specific ports on demand when they come from that particular IP address. However due to the p2p nature of Elite Dangerous PvP this is not an option as IP addressee are dynamic (they are not fixed, they change. Even same users get different IPs over time.).
So the best thing? Open ports only while you play Elite Dangerous. How? That depends on your router/modem model. You can try this site. https://portforward.com/
Since CQC doesn't have many players you might PM me and I may find the time to help you. Or even better, try to catch me on CQC Discord. But only if I have spare time and I am inclined to do so. Don't take it as a promise.
If you are lazy and feel risky, try uPnP. But no need to set up anything special in router or modem if everything works all right.
Another thing that might come in handy is QoS (Quality of Service) on your Modem. What it does is it's giving bandwidth allotment according to rules you specify. While it doesn't affect latency it might prevent you from getting drained on bandwidth. The game uses very little bandwidth, but it might have to wait until Youtube finishes buffering. I suggest you just create a rule to give priority to any traffic coming through your Elite Dangerous ports. That would ensure you'll get through even on Friday evening with your wife chatting over Skype with her friend and your kids gaming / watching Youtube. There are some "smart" QoS such as prioritize gaming, but I suggest you just prioritize traffic with the ports rule as that is specific to Elite Dangeorus. And the "smart" solutions are unreliable. Don't use Layer7 rules if you can. It has a performance impact and slows things down as the router has to go deeper into packets to sniff out the particular program.
Some programs are particularly aggressive about taking up bandwidth when downloading. Everything else literally freezes until the download is complete.
QoS helps only with outboud traffic, it can't help you with inbound. But, that's usually not the problem part anyway.
If you do have full access to your router you can limit maximum number of open ports / connections / peers. This might help you. Make sure you make a sure that anything using ED port range will get a connection slot and rest can do whatever they want. ;p This will however be not possible on most moderms/routers.
Let's face it. Lot of routers and modems are crap. Many times because of their built-it software (firmware to be more specific). Check out if there is an update. If you are not computer savvy ask somebody to do it for you. Botched up firmware update/replacement may "brick" your routed/modem and make it good for a ride in a trash bin.
Sometimes the problem may be that the router is just crap and can't handle the traffic. Try logging in and looking at stats. It may get overflowed by requests, particularly by p2p - which ED is using. ;p If you reset both modem and router and it works fine but the lags return after a while each time you do that, the bet is that the problem is there.
If you are feeling particularily adventurous you can try DD-WRT or OpenWrt firmware. Installing them IS a pain. And it IS EXTREMELY RISKY. Don't do it. Never on your only modem. If you have spare cash and you are feeling like wasting many hours reading that will quite possibly lead to a useless bricked router, then go ahead. You are hacking your modem and replacing the firmware by a 3rd party one. You are voiding your warranty. Manufacturers are actively defending against this. The reward? Complete control over your router functions, on a level that normally 1000USD routers offer. Even functions that the expensive modem might not support from vendor. Like excellent QoS. Adjustable antenna strength. Port opening, forwarding, triggering. Like setting up adblock on router level (can't be countered bu anti adblocks). List goes on. I was lucky enough to get DD-WRT on my 20USD router. Was worth it in every respect!
Don't forget that if you are using both router and modem, both should be configured.
If you are using Discord you should consider setting it up the same way you did with ED. Set up Firewall, router + modem. And possibly other things.
So we have been through everything. We set up Firewall, we made sure antivirus or admin rights don't interfere, we have set up router and modem. We made sure that the traffic to at least ISP level is flowing smoothly both in and out a we understand perils of aggregation, we can manage traffic by QoS.
The only thing that may get into our gaming is when the traffic gets stuck between ISP and game server. This, however, is a big problem in Elite Dangerous as it uses p2p for CQC. Normally, if the game were server based I would advice you to try a traffic rerouting program (I prefer WTFast, but there are others too). They change the route your data travels from backwater mudholes to polished hitech servers with you having a priority ticket. Or should, in theory. ;p But with p2p there is no one point you are trying to connect to and rerouting won't help. I can imagine, in theory specific cases where this could help but trying to describe them would make more harm than good.
Overlays. Try diabling overlays such as Steam when playing the game if you can. And/or running them as admin. I remember having no water in Guild Wars 2. Until I turned off TeamSpeak. It turned up that the Teamspeak overlay was interfering with water (and ONLY water) drawing of the game engine. Once I set it to admin, everything worked like charm.
Overclocking. Some software hates overclocking. Even the sort you might not suspect. Like OC cards (cards overclocked from factory). Or overclocking software that is just running and actually not overclocking. Was the case with bundled software package with one of my nVidia cards.
If you really read it all up to this point kudos!!! It should help you get not only through this game but it should give you a VERY solid foundation for setting other games and programs in the future and troubleshooting.
I wrote this in hurry, there are bound to be tons of typos. The reading might be awkward, far from structured, at this point but I am keen on actually starting to play now!!
I might at some point come back and reorganize and correct typos. Based on popular demand. 
Hope you enjoyed it and let me know what you think. Did you like it? Did you think it was informative? Did it help you? Did I miss something?
Please note I am an enthusiast, not a network professional; should you find any information you see here untrue or disagree with, please let me know - in a polite and civilized way. Also, there are some procedure that might lead to exposing the security of your PC. Do anything on our own risk!
How the game connects?
In order for game to work properly the road between the computer and other coumputers and server must be open. Because of security concerns there are safeguards that protect your computer. That is a good thing. Except it might get in your way when you want to play.
For most setups there are two layers of security: Firewall and modem/router. And there are two ways of communication - to your computer and from your computer.
What you want to achieve is to make sure both in and out computer communications are open for - and only for - Elite Dangerous (This is true for any other MMO or program) while being closed to any other unwanted attention.
There are three communication elements TPC/UDP, Port, and IP address. I'll explain the role of each of these in communication.
Awkward attempt to explain by paralell:
Computers communicate from address(IP) to address(IP) in a protocol (read language: TPC or UDP) using a certain channel (port).
You can get from town MyComputer (my IP address) to the town OtherPlayer (other player) in a red car(UPD protcol) or blue car (TCP protocol) via Highway 5100 (Port 5100) or Higway (Port 5101).
IP:
You won't need to configure this for Elite, you might skip this text, it's only for educational purpose. I'll delve into troubleshooting lag a bit.
All you really need to know is that every computer in the network has an IP address. It's a unique identifier (I see some knowledgeable geek interdicting me here ;p) that allows computers to reach each other. You can think of it as phone number or street address. Basically the only time when you could possibly need these numbers are when you are trying to determine where on the route to the server is the problem. The typical scenario is when you get finally frustrated enough with poor connection to the server and try to find out what the hell is wrong. You'll find the server's IP address and do a network route check. You'll Traceroute it or Ping it. Tracerout will give you information about delay between each checkpoint on the route while Ping only gives you the overall number.
Typically you can sum up the route like this:
Your computer - your router (if present) - your modem - your Internet Service Provider (ISP) - All the servers beteen ISP and game server - game server.
If you see a sudden spike somewhere you'll know the problem is there. For online gaming ideal OVERALL value is up to around 50 ms (Miliseconds. One second has 1000 miliseconds, ms) with 80is being not noticable to most but extreme hardcore gamers and 150ms being the upper acceptable value for competitive PvP.
However you need to count in that the signal usually has to go server and back in order for you to see actual result - you make an action on your end, signal reaches server in 50 ms, server computes results and sends it back to you (usually the same-ish 50ms). The matter is somewhat more complicated as it would be inefficient for the game server to make ALL the calculations so games leave as much computation on your computer as possible and do only the most necessary operations. Basically they only make referee.
This leaves room to hacking as the cheater is able to adjust the values that server relies on your machine to compute. The server doesn't judge if you actually CAN do 20 times more damage than normal. Or if it's possible to be at full health all the time. It just asks: How much damage did you do? And if you say 1000 instead of usual 50 it doesn't care. It just takes the number and tells the other player he got hit for 1000. Surprise. All he can do is make a complaint to the game company and if by some miracle they choose to look into it and and they keep logs, they can check out the logs and see the impossible damage spike and possibly punish the offender. Of course this process might be somewhat automatized.
Funfact: Megabits are different from megabytes. The connection speed in megabits was invented to inflate connection numbers for marketing. The only idea was to trick the customer who won't notice the difference between bit and byte. One byte is 8 bits. That means that if you advertise in bites instead of bytes you are getting 8 times better number than competition. As you can imagine everybody started using the higher number for advertising. So if your connection is 100 megabites per second you will not download 100 megabytes every second. You will download 8 megabytes. Just so that you know...
Anyway, back to tracerouting.
You do a Traceroute and find that it takes 1ms to reach your modem then another 700ms to reach ISP and finally 99ms distributed over various servers on the way. You can bet that the problem is within your network. Probably somebody at home downloading stuff.
If the spike is at your modem it's probably YOU downloading stuff. Or using lot of network resources. Stop it. Run ONLY the game and see if that helps you.
If the spike is at your ISP it's probably primetime and your ISP is getting overwhelmed by traffic. The thing here is you are not getting the bandwidth you are promised in the advertisement. They number they show you is the MAXIMUM they allow you. Then there is (usually) another number - the actual guaranteed speed you get no matter how many people are online at the moment. This in turn depends on how many people are on the same connection line and how big that is. Bandwidth and latency are two different things but with more connections on the line more lag is introduced.
Example: The ISP has 1.000 megabit line. You are promised 100 megabit internet. But there are 100 people assigned to it. If all at once connected the line would need to be 10.000 megabit. What ISP does is it adjusts the actual maximum according to number of users connecting now. So if all 100 users would connect to the 1000 megabit line, everybody would get 10 megabits instead of the 100 megabits promised by ISP. Except the can be rather different. This is called Bandwidth Aggregation. It really depends on your ISP but I have been on a line with 60 other people (connection over phone lines) and now I am alone on the whole line (optical connection). The more people share the same connection(higher aggregation), the more sever will the lags become in prime times.
What the useful part in this? If you are getting unplayable lags and poor speed in prime times (usually Friday evenings, weekends) and you are sure it's not somebody on inner part of the network, ask your ISP what is the aggregation of your line and what is your guaranteed speed. You may find that you need to change to a connection with lower aggregation or change ISP altogether.
Of course servers experience more load during prime time too, and it might be them not being able to satisfy so many connection attempts but in my experience it's ISP who is to blame first. ;p
TCP vs UDP:
Not really important to delve into this, just bear in mind that these two are usually required for connection. So the request can be to open TCP, or UDP or both TCP and UDP traffic for the game. I always enable both. The safe thing to do is to enable only the one you really need.
Ports:
Your computer communicates via so called "ports". You can think of it as counters that are either open or closed. Like in the cash register in supermarket. Or even better - queues in airports. Each person (data packet) must show his passport but some have first class and have special - faster - queue while others have to wait in a loong line.
If you open a port to an application you are giving it a passport to go trough your security (firewall and modem firewall).
Removed p2p part as I was advised it's inaccurate.
One last part of the puzzle to understand is the p2p.
The abbreviations stands for Peer to (to -> 2) Peer. This type of connection got bad reputation from torrents and other piracy sharing activities. However it's like blaming knife for being responsible for death. It's only a tool that got a bad reputation. Now many games use this. Not only for connecting but also for downloading. World of Warcraft uses p2p too.
The idea behind p2p is that if you want to share a file with many people you would need to provide a HUGE bandwidth because everybody wants the file from them. This costs them money and potentially limits the maximum speed. (It's only about the money, really...). The solution was to give all users in the network the copy of the file and if a new guy wants to download it, he can get it from other people rather than from the server. The files are chopped into tiny pieces and he might get firs 10% from User1, another 30% from User2, 5% from the server and the rest from other users. He downloads the files from all users at once, not one by one. A used doesn't have to have the complete file in order to share. It's perfectly fine to share your WoW files when you yourself have only 28,5% of the game downloaded.
With piracy the important thing was that the file is not stored on a website that can be charged for providing illegal content. For game companies p2p mean lower costs. They try to sell it with nice words, but it's really disadvantegous for the user compared to server connection.
The usual model is that the server acts only as a group gathering tool. So it gathers players Sowelu, Steenpass and Blian and designates one of them - let's say Sowelu - as the Host (server) for that particualr session (game, match, series of matches). There are two HUGE advantages for Sowelu as long as he's the "server" now. He has no connection lag as he gets instant response (everything is computed on his machine) and if he chooses to hack he can hack basically anything because he's the referee. As you can imagine, since the actual Elite Dangerous game server just passed the mantle to Sowelu and doesn't care anymore there is no logging going on.
Now, let's assume Sowelu is not an evil hacker, but not very computer savvy either. While his game may be working fine when he's just connecting to others, but being a server is an entirely different thing! Now Steenpaas's and Blian's computer request access to his PC! The PC has probably not been optimized to work perfectly as a server for the game so some connection from outside is closed. This may range from delays up to complete connection failures between them.
The match begins. Sowelu is enjoying 0ms (instant) connection having no lags. Steenspass is having a solid a solid 30ms with occational lag, but nothing too bad. Blian is a few coutries away and while he gets a still decent 90ms he's getting disconnects and lag spikes. But he's persistent and logs back in whenever he gets kicked.
But then Dutchy enters the game. Since he's from beyond the wide blue ocean he's getting 150ms (usualy best overseas connection over normal lines). He's on the edge of the connectivity and hes' getting frequent disconnects and lag spikes as the server on the way he's connecting through in Amsterdam is getting unusually high traffic and drops him frequently.
After a while Sowelu ragequits and leaves. Dutchy takes over as a server. He's now enjoying the 0ms priviledge. He also occassinally hacks and boosts his damage by 50%. Steenpasse's latency becomes 230ms and game becomes almost unplayable. Blian get 150 and his situation is as about the same as it was. Maybe a bit less lags. Sowelu calmed down and reenters match. Now he has horrifying 350ms and the game is unplayable.
A new generation of p2p emerges (For Honor) where some weaknesses - particualrly server advantage and cheating - are being addressed, but for Elite Dangerous we are out of luck. For now.
The abbreviations stands for Peer to (to -> 2) Peer. This type of connection got bad reputation from torrents and other piracy sharing activities. However it's like blaming knife for being responsible for death. It's only a tool that got a bad reputation. Now many games use this. Not only for connecting but also for downloading. World of Warcraft uses p2p too.
The idea behind p2p is that if you want to share a file with many people you would need to provide a HUGE bandwidth because everybody wants the file from them. This costs them money and potentially limits the maximum speed. (It's only about the money, really...). The solution was to give all users in the network the copy of the file and if a new guy wants to download it, he can get it from other people rather than from the server. The files are chopped into tiny pieces and he might get firs 10% from User1, another 30% from User2, 5% from the server and the rest from other users. He downloads the files from all users at once, not one by one. A used doesn't have to have the complete file in order to share. It's perfectly fine to share your WoW files when you yourself have only 28,5% of the game downloaded.
With piracy the important thing was that the file is not stored on a website that can be charged for providing illegal content. For game companies p2p mean lower costs. They try to sell it with nice words, but it's really disadvantegous for the user compared to server connection.
The usual model is that the server acts only as a group gathering tool. So it gathers players Sowelu, Steenpass and Blian and designates one of them - let's say Sowelu - as the Host (server) for that particualr session (game, match, series of matches). There are two HUGE advantages for Sowelu as long as he's the "server" now. He has no connection lag as he gets instant response (everything is computed on his machine) and if he chooses to hack he can hack basically anything because he's the referee. As you can imagine, since the actual Elite Dangerous game server just passed the mantle to Sowelu and doesn't care anymore there is no logging going on.
Now, let's assume Sowelu is not an evil hacker, but not very computer savvy either. While his game may be working fine when he's just connecting to others, but being a server is an entirely different thing! Now Steenpaas's and Blian's computer request access to his PC! The PC has probably not been optimized to work perfectly as a server for the game so some connection from outside is closed. This may range from delays up to complete connection failures between them.
The match begins. Sowelu is enjoying 0ms (instant) connection having no lags. Steenspass is having a solid a solid 30ms with occational lag, but nothing too bad. Blian is a few coutries away and while he gets a still decent 90ms he's getting disconnects and lag spikes. But he's persistent and logs back in whenever he gets kicked.
But then Dutchy enters the game. Since he's from beyond the wide blue ocean he's getting 150ms (usualy best overseas connection over normal lines). He's on the edge of the connectivity and hes' getting frequent disconnects and lag spikes as the server on the way he's connecting through in Amsterdam is getting unusually high traffic and drops him frequently.
After a while Sowelu ragequits and leaves. Dutchy takes over as a server. He's now enjoying the 0ms priviledge. He also occassinally hacks and boosts his damage by 50%. Steenpasse's latency becomes 230ms and game becomes almost unplayable. Blian get 150 and his situation is as about the same as it was. Maybe a bit less lags. Sowelu calmed down and reenters match. Now he has horrifying 350ms and the game is unplayable.
A new generation of p2p emerges (For Honor) where some weaknesses - particualrly server advantage and cheating - are being addressed, but for Elite Dangerous we are out of luck. For now.
Finally...
So as you see it's important to have a properly configured computer for gaming. Your first and foremost concern is to have your network configured for client-based gaming. This means making sure you are not running programs that eat unnecessary network resources and your Firewall, router and modem are all configured properly.
NEVER ever play on WiFi. To do that you have to be a networking badass and/or be very lucky. WiFi can EASILY add HUGE latency and is very susceptible to connection disruptions. (A neighbor with his phone connection into one of what - five? - available WiFi bands can easily slow you down or even kick you out.) ALWAYS use cable to connect.
Actual checklist:
First, set up your connection properly in your firewall. Make sure that the not only the game but also the launcher and overlay have free route. You will make this by enabling TCP and UDP connection (or if you are sure only one is needed, the use only that one) for that particular application. Make sure it's enabled both IN and OUT of the computer. It's assumed that OUT is not needed as it's open on default but in practice this proved to be false many times. Make sure that you use either all ports or the range that you need for the game.
Frontier instructions here: https://support.frontier.co.uk/kb/faq.php?id=344
So the rule in Firewall would look like this:
ALLOW EDLaunch.exe IN and OUT over UDP, ports 5100, 5101, 5102, 5111, 5200.
Now, you COULD allow only one port, you could choose another port as per their instructions. But I am lazy and I'll go with all to make sure it works every time.
So my Firewall rule would be:
ALLOW EDLaunch.exe IN and OUT over UDP, All ports.
Please note that this for is FIREWALL setup. Not router. On router I would specify ports. Opening all ports would be EXTREMELY STUPID as it would open my computer wide open to everyone!!!
If you have sensitive data on your computer ask your local PC freak to help you out to set up things as tight as possible.
Antivirus: While technically it's only the Firewall that needs to be set up do make sure your antivirus is not doubling on connection protection. More robust ones may do that. I found out it helped me to make an exception for the game in antivirus. While this may not be the safest thing to do it makes sure that it won't be scanned over and over and over and delayed and scanned and scanned and blocked and whatever. If you choose to do so, you do it on your own risk.
Same goes for runnign the game as admin. While the theory is that all the good programs get access where ever they need I have met some instances where the game installed themselves into computer system areas and but didn't get access to them later on when they needed them because they ...well tried to access the protected system areas. Quite stupid if you ask me. I go over this problem by lowering UAC to very low level (basically don't bother me and do whatever you want) and running the game as admin. Again, both are security risks, you do both on your own peril! *UAC - User Accout Control - the annoying window that pops up and asks you if you really want to run the stuff you just clicked on and asks for admin priviledges.
Since your router and modem work as firewalls too you'll define similar things as above. But here you need to be very careful. Do not open all ports! Open only those you need and only for the duration you have to.
There are basically three ways to make sure that the game gets the connection it needs:
uPnP
Port Forwarding
Port Triggering
They are three ways of doing the same thing in a different way. The goal is to open ports. uPnP open all ports the application requests. Unfortunately it also opens ports when EXTERNAL applications request it. If there was a hacker trying to get into your computer he would get free access. Think not locking your door when going to a holiday.
What uPnP does it opens the ports to any request. Makes it easy to connect. In unsecure way.
Port opening, port forwarding. This tells the router/modem/firewall to let let traffic through a specific port. The port should be open ONLY when the application runs. For our non-professional devices only one application can use a port at a given time. So if you can set up your rule like:
For EDLaunch.exe open ports 5100, 5101, 5102, 5111, 5200
you are golden. However a compromise will most likely be needed. You probably won't have the ability to define the rule by application, only by ports. And here the problem lies. The solution to this is called Port Triggering. It's opening ports whenever any internal application requests but for a limited time only. So if Elite Dangerous would request traffic via port 5100, the router would not only allow, it but it would keep the port open for certain time afterwards (think minutes) thus making sure the traffic may flow.
So which one? Ideally Port Triggering. If not possible choose between two evils: Port Opening or uPnP. Both can lead to attacker getting access to your computer. The bad thing about having permanently opened ports is that once a hacker finds it he can gain access to you anytime he pleases. It's a hole in a wall that would be there forever. What you can possibly do is open ports manually whenever you go play Elite Dangerous and turn them off then you stop. It's very responsible. Yeah, I see you doing that...
Most routers - and modems - come pre-configured in a way that will open ports once an application from PC requests it (and will keep them open for a while) but won't open when external traffic (application) requests it (unless it's been already open by request to send data to that particular IP address).
You can allow the port to be opened when the access is requested by a specific IP address. For example if your game server had a fixed IP address you could specify a rule to open specific ports on demand when they come from that particular IP address. However due to the p2p nature of Elite Dangerous PvP this is not an option as IP addressee are dynamic (they are not fixed, they change. Even same users get different IPs over time.).
So the best thing? Open ports only while you play Elite Dangerous. How? That depends on your router/modem model. You can try this site. https://portforward.com/
Since CQC doesn't have many players you might PM me and I may find the time to help you. Or even better, try to catch me on CQC Discord. But only if I have spare time and I am inclined to do so. Don't take it as a promise.
If you are lazy and feel risky, try uPnP. But no need to set up anything special in router or modem if everything works all right.
Another thing that might come in handy is QoS (Quality of Service) on your Modem. What it does is it's giving bandwidth allotment according to rules you specify. While it doesn't affect latency it might prevent you from getting drained on bandwidth. The game uses very little bandwidth, but it might have to wait until Youtube finishes buffering. I suggest you just create a rule to give priority to any traffic coming through your Elite Dangerous ports. That would ensure you'll get through even on Friday evening with your wife chatting over Skype with her friend and your kids gaming / watching Youtube. There are some "smart" QoS such as prioritize gaming, but I suggest you just prioritize traffic with the ports rule as that is specific to Elite Dangeorus. And the "smart" solutions are unreliable. Don't use Layer7 rules if you can. It has a performance impact and slows things down as the router has to go deeper into packets to sniff out the particular program.
Some programs are particularly aggressive about taking up bandwidth when downloading. Everything else literally freezes until the download is complete.
QoS helps only with outboud traffic, it can't help you with inbound. But, that's usually not the problem part anyway.
If you do have full access to your router you can limit maximum number of open ports / connections / peers. This might help you. Make sure you make a sure that anything using ED port range will get a connection slot and rest can do whatever they want. ;p This will however be not possible on most moderms/routers.
Let's face it. Lot of routers and modems are crap. Many times because of their built-it software (firmware to be more specific). Check out if there is an update. If you are not computer savvy ask somebody to do it for you. Botched up firmware update/replacement may "brick" your routed/modem and make it good for a ride in a trash bin.
Sometimes the problem may be that the router is just crap and can't handle the traffic. Try logging in and looking at stats. It may get overflowed by requests, particularly by p2p - which ED is using. ;p If you reset both modem and router and it works fine but the lags return after a while each time you do that, the bet is that the problem is there.
If you are feeling particularily adventurous you can try DD-WRT or OpenWrt firmware. Installing them IS a pain. And it IS EXTREMELY RISKY. Don't do it. Never on your only modem. If you have spare cash and you are feeling like wasting many hours reading that will quite possibly lead to a useless bricked router, then go ahead. You are hacking your modem and replacing the firmware by a 3rd party one. You are voiding your warranty. Manufacturers are actively defending against this. The reward? Complete control over your router functions, on a level that normally 1000USD routers offer. Even functions that the expensive modem might not support from vendor. Like excellent QoS. Adjustable antenna strength. Port opening, forwarding, triggering. Like setting up adblock on router level (can't be countered bu anti adblocks). List goes on. I was lucky enough to get DD-WRT on my 20USD router. Was worth it in every respect!
Don't forget that if you are using both router and modem, both should be configured.
If you are using Discord you should consider setting it up the same way you did with ED. Set up Firewall, router + modem. And possibly other things.
So we have been through everything. We set up Firewall, we made sure antivirus or admin rights don't interfere, we have set up router and modem. We made sure that the traffic to at least ISP level is flowing smoothly both in and out a we understand perils of aggregation, we can manage traffic by QoS.
The only thing that may get into our gaming is when the traffic gets stuck between ISP and game server. This, however, is a big problem in Elite Dangerous as it uses p2p for CQC. Normally, if the game were server based I would advice you to try a traffic rerouting program (I prefer WTFast, but there are others too). They change the route your data travels from backwater mudholes to polished hitech servers with you having a priority ticket. Or should, in theory. ;p But with p2p there is no one point you are trying to connect to and rerouting won't help. I can imagine, in theory specific cases where this could help but trying to describe them would make more harm than good.
Overlays. Try diabling overlays such as Steam when playing the game if you can. And/or running them as admin. I remember having no water in Guild Wars 2. Until I turned off TeamSpeak. It turned up that the Teamspeak overlay was interfering with water (and ONLY water) drawing of the game engine. Once I set it to admin, everything worked like charm.
Overclocking. Some software hates overclocking. Even the sort you might not suspect. Like OC cards (cards overclocked from factory). Or overclocking software that is just running and actually not overclocking. Was the case with bundled software package with one of my nVidia cards.
If you really read it all up to this point kudos!!! It should help you get not only through this game but it should give you a VERY solid foundation for setting other games and programs in the future and troubleshooting.
I wrote this in hurry, there are bound to be tons of typos. The reading might be awkward, far from structured, at this point but I am keen on actually starting to play now!!
Hope you enjoyed it and let me know what you think. Did you like it? Did you think it was informative? Did it help you? Did I miss something?
Last edited: