V2 - Revamped with more explanation
to check your current settings: netsh int tcp show global
netsh interface tcp set global rss=enabled "best 99 % of the time"
netsh int tcp set global chimney=automatic "offloads overhead onto NIC (network interface card), this interacts with network adapter and its driver. Sometimes offload can be problematic, this also interacts with RX TX offload as well as LSO (large send). Sometimes disabling all of these can improve issues on older NICs and virtual machines (why offload onto a fake NIC?)!!!"
netsh int tcp set heuristics disabled "prevents auto-tuning restriction, this can narrow window for packets to travel. You don't want restriction especially if you have a very fast ISP that requires experimental window settings"
netsh int tcp set global autotuninglevel=normal "This setting makes it so that your RWIN window for your packets expands dependent on your network speed."
netsh int tcp set global autotuninglevel=expirimental "Only use this setting if you have very fast internet 250mbps and up. May cause issues and doesn't always help."
netsh interface tcp set global congestionprovider=ctcp "windows 8 and up users may notice that this says none or default in its window... do not fret, as these settings have been moved over to powershell settings and are generally enabled by default. This is primarily applied for windows 7 and below."
netsh int tcp set global netdma=disabled "if possible enable, but remember, this doesn't work with chimney enabled explicitly. Auto will toggle chimney off when DMA (direct memory access) is on if it functions correctly. Just like chimney offload, this depends a lot on the age and type of NIC you are using."
netsh int tcp set global dca=enabled "if possible (direct cache access-processor). This relies on certain Intel technologies, not available on all machines. This is also dependent on NIC type. if machine = virtual... also YES!"
netsh int tcp set global rsc=disabled "removes packet coalescing *clumping*. Prevents send delay.. remember this affects files transfers a bit."
netsh int tcp set global ecncapability=disabled " ECN stands for (Explicit Congestion Notification), it adds a 12 bit packet heading to the tcp packet.. I dont see why this would ever be good for gaming unless you are gaming on a very congested network. This setting is supposed to help prevent packet loss in very very busy environments. This setting is not very useful unless enabled in a congested environment with 2008 servers or up. Also, if you drop packets, this will throttle your connection. I have also observed in multi-server environments that ECN may cause massive issues with ones that have older 2003 servers. This causes the 12 bit packet header to be unrecognizable, thus causing packets to drop. When this happens,... you don't want this to happen. Also remember this only works in a network if everyone is using it."
netsh int tcp set global initialRto=2000 "for most current fast connections"
netsh int tcp set global pacingprofile=always initialwindow/slowstart "you can try these other settings, this helps prevent jitter... default = off"
For windows 8.1 and up:
to check your current settings: get-nettcpsetting
Set-NetTCPSetting -SettingName InternetCustom -InitialCongestionWindow 10 "default = 2"
Set-NetTCPSetting -SettingName DatacenterCustom -InitialCongestionWindow 10 "default = 4"
Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider CTCP
Set-NetTCPSetting -SettingName DataCenterCustom -CongestionProvider DCTCP
Disable-NetAdapterLso -Name* "not good for latency"
WiFi Users - "For wifi users enable WMM and Qos.. LSO and certain offloads may not be present in your ipv4 settings, these are generally found on Ethernet Adapters."
NO DAD I WANT TO GO BACK! "reset to default settings, workstation only... don't do this on a server please"
~ netsh winsock rest
~ netsh int ip reset logfile.txt
~ ipconfig /flushdns
~ ipconfig /registerdns
~ ipconfig /renew
Regedit (Nagling - Latency Fix) "find the correct interface that is related to your default gateway (open cmd & type ipconfig)"
Right click in blank area in correct interface on the right and create two new dword 32 values inside. The porrect interface has a DHCP server that includes your default gateway ip.
TcpAckFrequency = 1 "default 2, *CASE SENSITIVE* use 3+ for big files transfers!"
TCPNoDelay = 1 "default 0 *CASE SENSITIVE* Disables Nagling"
TcpDelAckTicks = 0 "ONLY IF TCPNoDelay = 0, as this affects nagling delay... can't affect disabled settings now can we? *CASE SENSITIVE*"
Increase Stack Size
Right click on the right hand side window and click New – DWORD (32 bit).
Right click ‘IRPStackSize’ and select Modify. Amend the value to 50 and Click Ok. "Default 15"
Set registry without reboot in cmd
RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True
DNS primary = default gateway "find with ipconfig"
DNS Secondary = 22.214.171.124 "google dns"
if regedit_change = true
reboot your machine
else if tcp_cmd_powershell_change = true && regedit_change=false
disable and enable NIC
x = "go lag more noob"
Edited by exeodius, 28 May 2017 - 12:51 AM.