Network Flush and Reset

Just like we restart our devices and purge clutter, there’s the network flush that I recommend doing every quarter. From Powershell or CMD.

Flush DNS
IPCONFIG /FLUSHDNS
ipconfig /registerdns
ipconfig /release
ipconfig /renew

 

This when you really mess something up and nothing works as it should.

Reset Winsock
netsh winsoc reset
netsh int ip reset
netsh int tcp reset
netsh int ip reset resettcpip.txt

Some things which I assume you already know [right? :)]

  • try the speed test, and by speedtest I mean the dslreports speed test, not the speedtest.net one;
  • turn off mouse smoothing and acceleration;
  • play on lan instead of wifi, if possible;
  • ultra settings don’t equal good system performance for 95 % of us. Try playing at modest[er] settings;
  • forward ports
  • overclock responsibly [!] gpu’s are expensive, here at least;
  • more FPS on monitor (refresh rate + fps output from gpu) = better experience.
  • kb+mouse trumps controller. Just because of the nature of approximation required while using either.
  • keep your pc clean.

*TBC

Network Settings for better HITREG – Part 4 – LAN Settings

Making all the changes posted earlier and then not configuring your LAN card, will nullify those changes. None of the things I’m posting here are an either/or, you have to do them ALL for things to work well. If you miss one, it will degrade your experience to a point where you will think nothing is working.

General theme to optimize your LAN card is to turn off everything (except the card of course!!) here.

 

I have a Killer E2500 lan card + 1550i WiFi card, they have all those gimmicky things, like “doubleshot pro” and “xtend”. Which are feelgood things but need to be turned off for gaming. There’s also the software handler for the hardware –  the Killer performance center which “optimizes streams”. Again, another hoop for packets to pass. Not needed at all.

Killer had a great page with optimizations for a perfect state for your LAN card, they themselves recommend turning most things except RSS off. Here’s the text, (had to go to wayback machine since intel took over killer and that page was taken down):

Below is the text – it’s very useful:

Link 


Optimizing E2200/E2400/E2500 Advanced Driver Settings

Optimizing E2200/E2400/E2500 Advanced Driver Settings

Some users have asked for optimal advanced settings for their Ethernet adapters. Keep in mind that, in most cases, the default settings for your Ethernet adapter will provide the same results.

These settings can be found in your Device Manager by double-clicking your adapter, then click the Advanced tab.

Keep in mind that these settings assume that your CPU is not overworked when you are gaming or otherwise making heavy use of your network adapter. If this is not the case, it may be advantageous to leave the default settings.

Even after optimizing these settings, you may not see an improvement in performance. For most situations, the default settings provide the same result as optimized settings.

You may see improved results by setting your advanced settings as such:

ARP Offload: Disabled (When enabled, this offloads some CPU work to the network adapter. Unless your CPU is struggling, this is undesirable)

ECMA: Disabled (Specific Wake-On-LAN technology that can be a potential security issue. Disable unless you know you need it.)

Energy Efficient Ethernet: Disabled (may use slightly more power, but will prevent conflicts with switches, routers, or modems that do not use this feature appropriately)

Flow Control: Disabled (TCP has its own flow control, and this can cause conflicts. UDP usage is rare enough that a dropped packet should not cause any impact.)

Interrupt Moderation: Disabled (Groups packets before sending them. Not desirable for most uses and can cause slowdowns)

IPv4 Checksum Offload: Disabled (When enabled, this offloads some CPU work to the network adapter. Unless your CPU is struggling, this is undesirable)

Jumbo Frame: Disabled (Unless you know you are using the machine as a server with jumbo frame support, this is not desirable.)

Large Send Offload: Disabled (When enabled, this offloads some CPU work to the network adapter. Unless your CPU is struggling, this is undesirable)

Max IRQ per Second: Doesn’t matter. (This is a setting for Interrupt Moderation, and will be ignored if Interrupt Moderation is disabled.)

Maximum Number of RSS Queues: 2 for dual-core CPUs, 4 for quad-core CPUs(This will only increase performance if CPU cores are underutilized when receiving large amounts of data. Unlikely to affect latency.)

Network Address: Not Present(The Windows Operating System handles this. This setting will not affect NIC performance)

NS Offload: Disabled (When enabled, this offloads some CPU work to the network adapter. Unless your CPU is struggling, this is undesirable)

Receive Buffers: 1024 or experiment(Increasing this setting will cause your network adapter to use more RAM for processing received data, but may improve performance. Experiment with your specific machine. May not affect latency at all.)

Receive Side Scaling: Enabled (This will allow the NIC to send received data to multiple CPU cores)

Shutdown Wake Up: Disabled. (Only relevant if you intend to use Wake-on-LAN when the machine is shut down. Most BIOSes do not support this. Might cause the computer to wake unexpectedly when enabled.)

Speed & Duplex: Auto-Negotiation (This allows the NIC to operate at 1 Gbps link speeds if the rest of the network negotiates appropriately. Will otherwise revert to 100 Mbps link speed.)

SWOI: Doesn’t Matter (Security Wake On Internet – only relevant for Wake-On-LAN applications over the Internet using compatible technology – does not affect latency.)

TCP Checksum Offload: Disabled (When enabled, this offloads some CPU work to the network adapter. Unless your CPU is struggling, this is undesirable)

UDP Checksum Offload: Disabled (When enabled, this offloads some CPU work to the network adapter. Unless your CPU is struggling, this is undesirable)

Transmit Buffers: 1024 (Increasing this setting will cause your network adapter to use more RAM for processing transmit data but may improve performance. Experiment with your specific machine. May not affect latency at all. 1024 is maximum.)

VLAN ID: This setting doesn’t matter. (Only used if your ISP requires your Ethernet to use VLAN, as is the case where one modem is serving multiple households. This setting will not affect latency.)

Wake-on-magic-packet: Disabled (only relevant for Wake-On-LAN applications over the Internet using compatible technology. Will not affect latency, and may cause the machine to wake unexpectedly when enabled.)

Wake on pattern match: Disabled (only relevant for Wake-On-LAN applications over the Internet using compatible technology. Will not affect latency, and may cause the machine to wake unexpectedly when enabled.)


Most important ones are marked in green. But would recommend implementing all these recommendations. This will work for all lan cards.

This concludes this post.

 

Network Settings for better HITREG – Part 3 – Registry

I’ve read many posts and articles which talk about editing all sorts of things [dnscache and msmq etc.],  please stay away from changing things too much, they don’t make any difference, as far as I could tell. The only changes which are needed are changes to parameters and one or two more which change after you use the tcp optimizer. Even the tcp optimizer changes nagle’s algorithm, but it misses a few settings, I’ve covered everything here.

Also, export and back up the registry, one full backup and one for the keys that you are changing before you make any changes, just to be safe and if you’re doing this the first time.

Here is my default state setting of registry settings of parameters

[Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

Now there are two ways to go about this, depending on the game you play, I play MW and BF4.

For MW I use

And for BF4

Interfaces

[Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\]

Find the key with your ip, [if you’re reading this post, I’m assuming  I shouldn’t have to explain what and where to find your ip.]

Only thing needed is these, rest should be left default, most you can do is add “MTU” as a dword key with a decimal value of your MTU. In my case its 1492. You can check TCP optimizer for your MTU if you’re not sure. It will be 1500 or 1492. Never ever seen anything else. Some say it should be lowest as possible, but it really doesn’t make a difference.

 

End.

Network Settings for better HITREG – Part 1 – Powershell

So I’ve been searching for the perfect settings in windows to get the best out of my connection for the past 10+ years!!!!

Multiplayer Gaming in India is not as much fun as it is for our American or European counterparts. Especially for people like me who play FPS’s. 

Here’s everything I’ve learnt and implemented to my machine. These settings make a HUGE difference. I cannot imagine playing without implementing these first. Especially in FPS style games.

 

If you want detailed explanations of what these settings do you can go to these links:

https://www.speedguide.net/articles/gaming-tweaks-5812

http://n1kobg.blogspot.com/2018/08/fps-gaming-online-gaming-tweaks.html

 

This is the first part in my posts on settings for pc gaming starting with Powershell commands.

The aim here is to provide an unhindered path to the packets and create a situation where there are no additional hoops/interfaces for the packets to go through. I’ve come to these conclusions after hours of playing with these settings turned off and on. Just try these out, counterintuitively if need be.

Here is my speedguide analysis page screenshot for reference.

PowerShell Commands [Run as admin]

netsh int tcp show global

 

Default State

 

Although most of the games need free passage for UDP packets rather than TCP, I’ve seen these settings add up to buffer bloat and packet loss and general connectivity issues in games.

Commands – 

netsh int tcp set global rss=disabled

netsh int tcp set supplemental custom congestionprovider = ctcp

netsh int tcp set global autotuninglevel=disabled

netsh int tcp set global rsc=disabled

netsh int tcp set global maxsynretransmissions=2

netsh int tcp set global initialRto=2000

* rss – now i have a decent processor but still I had better experiences with this setting turned off.  

* autotuning will reduce your speed but improve the quality of your connection, Turning it off will limit windows from increasing the size of the TCP receive window, again for tcp but makes a difference.

* RTO and SYN Retransmissions will also feature in the next post with the TCP optimizer, so you can skip doing that here , TCP Optimizer is much easier. You can do that here as well.

* If the congestion provider doesn’t change from CTCP, ten you need to add this code to a text file and save as .reg file an open it to add ctcp to your machine.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNsi{eb004a03-9b1a-11d4-9123-0050047759bc}]
“0200”=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
“1700”=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

After State

 

netsh int ip show global

 

Default / After State

Commands – 

netsh int ip set global taskoffload=disabled

*you can try and see how this effects your experience. 

 

This concludes the first part.