Post inspired by a couple of questions I saw posted on here recently about server selection and the daily posts about desync, stutters, etc.
First, a handful of disclaimers. I am not a network engineer, sysadmin, or even particularly knowledgeable about networking or infrastructure. The guide below is based on trying a bunch of things out, things I've googled, things I've read. My understanding of game-related network traffic comes almost exclusively from my time as a League of Legends player, and the efforts Riot undertook to improve their networking - I highly recommend reading this:
Basically, the genesis of my approach to try and address the issues I was having in Tarkov: hops that drop packets = the worst, jitter (large variation in ping) = bad, more routing hops = more potential for issues. Closer geographic servers may not be the most optimal based on how packets get handled and routed.
The below worked for me to reduce desync, stutters, and ping spikes, but YMMV. I live in the US and have no idea how much any of this will help someone in other regions.Part 1: Gather Background Info
Before you can start to sniff out what your connection to a server looks like from a routing standpoint, you'll need it's IP address. You can use Wireshark or similar tools, but for a filthy casual like me, that shit looked scary and inaccessible. So I poked around in log files and found that...Tarkov records the IP address of the server you connect to every raid. Easy!
That won't help you though, unless you can isolate a server and match it with an IP address. So to start, select a single server in the launcher and run an online raid. Once you complete the raid, you'll be able to grab the IP address of the server you connected to in your log files. You'll have to exit Tarkov for the log file to be created.
To access your logs:
C:Battlestate GamesEFT (live)Logs
(Or whatever drive you have EFT installed on)
Sort by date modified to get the most recent logs first, open the most recent one up. The specific log file you're looking for is the one that ends in 'application'. The line you're looking for is the one that contains your 'Profileid'. It should look like this:
TRACE-NetworkGameCreate profileStatus: 'Profileid: (redacted by me), Status: Busy, Ip: 18.104.22.168, Port: 17016, Location: bigmap, Sid: 22.214.171.124-17016_PID_24.03.21_04.24.26, GameMode: deathmatch, shortId: MVUL'
The IP is the Ip address of the server you connected to.
Do this for every server you'd like to test. I ran this test for every server that had sub 90 ping in the launcher (~9 servers for me).
**Edit: Thanks towho provided a list of IPs:
I can't vouch for all of them, but the Denver US and Phoenix US IPs match what I have. Use at your own risk.**Part 2: Test Your Connection
So, now you have a list of servers and their IP addresses to test. If you don't want to download a third party application to test your connection, you can use the tracert command in Windows 10 through the CMD console: Microsoft support article on tracert
I've also been told you can use the netstat -b command, but again, I'm a pleb and have no idea what I'm doing with that. Here's a link if you'd like to explore it: Microsoft support article on netstat
I found it better to use a third party application, because tracert seemed limited in how many packets it sent, and netstat looked like greek to me. I downloaded WinMTR for my testing:
WinMTR is pretty easy. Run the application, punch the server IP into the 'host' field, and click 'start'. You'll see every hop your data is taking, packets sent/received, best-average-worst-last ping to each hop. You can also export your results as raw text or HTML to compare.
You should run these tests during the time(s) you normally play, so you can get the best picture of your network routing as it normally happens when you're raiding. I would also suggest doing this test whenever BSG adds new servers (as happened recently) or makes server changes, and once a month or so, as some of your routing may change over time.Part 3: Conclusion
With data at your disposal now, you can make a decision as to which server or servers you want to use. The server I play on now has 9 hops from my computer to the server - including pushing to my home network, my ISP, then routing out of my city and to the game server. Of all of the servers I tested, this was the second fewest number of hops. More hops = more potential failure points IMO, so fewer hops are desirable. It's also the server that had the smallest # of packet drops during my testing.
Since I did this, my issues with micro-stuttering have all but disappeared and instances of obvious desync are considerably lower. I almost never experience ping spikes. The downside, with only one server selected, is that during off-peak hours my queue times are longer and I've had more 'dead raids' than before.
Some additional notes: Hops that drop packets are going to be your worst enemy. 'Jitter' - large variation in highest/lowest ping, is also pretty bad. For me, my biggest issues were with the interface between my ISP and 'backbone' connections - this is probably pretty common. The closest server to where I live (Los Angeles) was actually one of the worst for me in terms of packets dropped and jitter.
Again, YMMV, and I am not an expert in networking. Feedback is welcome and I'll answer any questions to the best of my ability.
Edit: Just want to add that you can use this method to check to see if a raid you had issues in is server or network related. Crack that log file after you're out of raid, punch the IP into WinMTR or tracert, and if the packetloss is fucky or ping is all over the place, it wasn't the server, it was the network. Or if everything looks fine, then you know it was likely server related. The log file also contains the shortcode or raid ID (4 character code in the bottom left of your raid), so even if you have multiple servers selected you'll be able to find it in the log file.
Thats was interesting to read. Way better then all these toxic posts .ID: gs2xojw
Thanks 🙂ID: gs39pyq
Ah yes T0XiC PoSt.
The game is literally the most unstable its been since I've played in 4 years and consumers complaining about the lack of reliability is T0xICID: gs3e8se
You've stated multiple times you don't play anymore. And you've commented over 65 times in the last 24 hours in this sub, all negative. Seriously man get some help.ID: gs3d06g
This post itself is toxic. You have no idea what was being referred to as “toxic” - you’re making shitty assumptions.ID: gs43ub4
You’re... objectively wrong. The netcode isn’t great, but it’s a hell of a lot better than it was even one year ago.
FYI, if you want a good baseline to compare the traceroute to you can use Google's 126.96.36.199 DNS or CloudFlare's 188.8.131.52. Both Google and CloudFlare have all types of background stuff going on to try and get the fastest possible content delivery to us normal Joe Schmoes. It'll probably be the fastest possible traceroute you can run for stuff that leaves your home internet network.
Mine for example:
3ms to Google over 2 hops
6ms to CloudFlare over 2 hops
6ms to the last the EFT server I played on over 2 hopsID: gs35gwp
6ms to an EFT server, 2 hops? My god man, I'm jealous!
It takes me 4 hops minimum just to get out of my city!ID: gs372e0
It's important to remember that it's only the TTL time. Essentially, it's how fast can your computer say hi to another one. It's not quite reflective of real world performance. The round trip time (RTT) is what would be closer to the actual ping in a game.
A better command line to run might be ping, which is how long it takes for your computer to say hi to the server, the server gets your greeting and says oh r4zen said hello I'll say hello back, and then your computer gets the server's answer
ping EFT server
184.108.40.206 is google so it's kinda expected they'll be pretty much the fastest possible connection.
Thanks for the post! I'll have to give this a try!
Quality post in opposite to the majority of people here where BSG is the sole evil and global network issues are their fault.
They could add a bit more logic into the server selection and instead of just pinging all servers run some diagnostics on it for a few mins and give you a estimate how those servers will perform from your location, then give you a suggested selection from that.
This would probably decrease the amount of whining a lot.ID: gs3dfi6
Having this programmed in would be kind of a dream. This stuff is always going to be out of date eventually and trying it out seems to take a few hours of manually selecting servers and gaming to harvest the IPs. Maybe there's a list of the server IPs out there somewhere already?ID: gs3e105
It's out of date because BSG have added servers since, but here's an old one that was floating around. I don't know how accurate it still is. Best to go through the above steps yourself, I think.
I think whoever originally put this together used Wireshark.ID: gs3lypt
See my comment below ^..^ID: gs39t2l
Yea this is complete and utter bullshit but okID: gs39xwf
I am not sure if it is worth replying but...what?
Is there anything, other than manually picking better servers, that we can do with this type of info to increase performance? Maybe something locally to ensure we aren't bottlenecking or blocking any connections?ID: gs3dnll
Caution: lightly informed opinion
From a networking perspective, not much other than making sure you're not bottlenecking yourself with your PC/home network connections. Having a modern routeand easing your home network load (device management) is about all you can do yourself. Everything else is at ISP / backbone operator / server provider level.
Your isp has a huge impact on your ping btw
Did you just invent client-side QoS ?
Great post, I'm sure it will help a heap of people - well done.
however: *Cries in being Australian with only one reliable server to select anyway* (but I don't really experience much in the way of de-sync, stutters or Ping-Spikes anyway)
Deffo going to try this. It makes sense because I’ve connected to servers in other countries and had a better connection which didn’t make sense to me. You obviously know your shit bro gee fooking geesID: gs2zng8
Lol thanks - I actually don't know shit about shit, but people way smarter than me have made their knowledge pretty accessible. Can't recommend that Riot Games article at the beginning of the post enough. Really opened my eyes.ID: gs3ldba
90% of knowing your shit is knowing how to research a solution to your problem.
You may not know everything, but you know how to find out what you need to know. Thats not nothing.ID: gs3rxfr
you an aussie? interested to see if other servers are actually better lolID: gs3s3mi
Im from the UK bro but i have better performance and less lags/desync problems when i use french servers rather than london. Fucknoes why lol
This would all help very much:) my favorite part of the post is the title "(mostly)" because we all know tarkov is a little special inside hahaID: gs333lz
Yeah...definitely still notice issues when scavs spawn, or big fights sometimes, though I'm not entirely sure how much of that is my hardware vs. server hardware vs. poorly optimized code (probably all three)ID: gs3471l
I don't know how long you might have played but I'm happy to say it's much better than is ever has been thankfully, I think they're on the right path for sure
Hey OP, nice post. I would also like to share about using CloudFlare's WARP VPN. This is a free VPN service that will use CloudFlare's dedicated international network, reducing network hops, ping and etc. EFT uses CloudFlare services, so it is a good simple solution. Go toto download the client. It is also a nice solution for improved privacy on other internet services.
When I play with friends overseas, this reduces roughly 30ms from my ping and keeps the connection stable.
All this to make the game function at the baseline expectation for a $40-100 game. SadgeID: gs39zvi
Agreed. Hey while your at it download more ram and buy and SSD. Because it's all your fault.
The thing is, the BEST servers available to me are infested with Chinese cheaters. Let the stutters begin!
Edit: thanks for down votes, Chang.ID: gs3dmeu
These bandaid fixes don't work and for some reason people keep thinking that an issue that is clearly on BSG's end is going to be magically fixed by this.ID: gs3mva3
It's not a bandaid if willful ignorance is causing some of your issues. A month after I started playing a few wipes ago, I went through and tried a few servers and found the ones that I don't have issues on.
Are there issues with Tarkov netcode? Sure. Can you take zero responsibility and blame not spending a night on the issue exclusively on them? No.
I play with the lag across the country to avoid the Chinese.