Regedit, and how it works

People have this misconception that tweaking your Windows Registry (aka regedit) will make you have more reach, take less knock-back and improve your ping (latency) in Minecraft. This is all false!

In this thread I will explain in detail:

  1. What is RegEdit?
  2. What is Nagle’s Algorithm?
  3. What is TCP/IP?
  4. What Protocol does Minecraft use (UDP or TCP)?
  5. What is Delayed ACK?
  6. What is the prupose of TCPNoDelay & TcpAckFrequency?

What is RegEdit?

The Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the Registry. The kernel, device drivers, services, Security Accounts Manager (SAM), and user interface can all use the Registry. The Registry also allows access to counters for profiling system performance.

In short, it is the place where all of your applications / games / system information is stored.

The registry is made up of “Keys”. Each key is like the branch of a tree. Each key has one parent key, and zero or more child keys. Each key can contain zero or more “Values”, each of which contains a single piece of data.

To make navigating the registry a bit easier, you can think of the registry’s construction like your hard drives.

Hard drive <-> Registry
Folders <-> Keys
Files <-> Values

The registry contains 6 main keys:

  • HKEY_CLASSES_ROOT ---- Contains information on file types, including which programs are used to open a particular file type.
  • HKEY_CURRENT_USER ---- Contains user-specific settings that are built from information in the HKEY_USERS key during the logon process.
  • HKEY_LOCAL_MACHINE ---- Contains computer specific information including installed hardware and software. This is the one users tend to spend the most time in.
  • HKEY_USERS ---- Contains information about all of the users who log on to the computer. This includes settings for programs, desktop configurations, and so on. This key contains one subkey for each user.
  • HKEY_CURRENT_CONFIG ---- Contains information about the computer’s hardware configuration .

What is Nagle’s Algorithm?

Nagle’s algorithm is a means of improving the efficiency of TCP/IP networks by reducing the number of packets that need to be sent over the network.

Nagle’s algorithm works by combining a number of small outgoing messages, and sending them all at once. Specifically, as long as there is a sent packet for which the sender has received no acknowledgment, the sender should keep buffering its output until it has a full packet’s worth of output, thus allowing output to be sent all at once.

Basically, it’s a way so that the computer doesn’t need to ask unnecessary questions before proceeding in sending packets and wasting time.

What is TCP/IP ?

TCP/IP is used to refer to two different things. On one side TCP/IP is a suite of protocols that rule the Internet containing protocols like HTTP, Telnet, ICMP,SSH and many others. On the other side TCP/IP is also a pair of protocols themselves. TCP as a protocol in the transport layer, and IP as a protocol in the Internet Access Layer.

UDP, in contrast with TCP, is a transport protocol with no guarantee of delivery, ordering, or duplicate protection. There are some scenarios where UDP is better than TCP (for example VoIP), but TCP is by far much more used. Lets focus on TCP protocol, as it is the relevant protocol for explaining Delayed ACK.

As TCP needs to guarantee the delivery of the segments, every segment being sent from the source (client) to the destination (server) needs to be acknowledged.

Basically, the way TCP & UDP works, is as follow:
When TCP has a packet, it sends it as soon as it gets it, then waits for a reply from the server (to where it sent the packet) to verify that is has received the packet, before sending another packet.

UDP on the other hand, sents the packets in groups, rather then one at a time. This makes it so that the server doesn’t need to verify each and every packet, but only once for the entire group.

What is Delayed ACK?

Delayed ACK was invented to reduce the number of ACKs required to acknowledge the segments, so protocol overhead is reduced.

Basically Delayed ACK is the destination retaining the ACK segment a period of time, expecting one of two things to happen:

  1. That a new segment will arrive that will also require acknowledge, so we can ACK two segments in one pure ACK instead of in two separate ACKs.

  2. That, perhaps, before the ACK timer expires, the destination will need to send some data back to the source in which we can include the ACK bit and the right ACK sequence number to acknowledge the segment (piggybacking).

So delayed ACK is basically a bet.

Think of it like this: Your PC is betting (even though it already has data to send) that you will conjure up more data to send in just a few milliseconds, so it will wait for that data and send all the data in groups, reducing the amount of acknowledgement needed for the data.

Example:
Is the bet of destination saying “I bet 200 ms (or the value of the delayed ACK timer) that a new packet will arrive before the delayed ACK timer expires, or that we will need to send our own data back to the sender before 200 ms (in which we can include an ACK bit flag enabled). If I win, I save 41 bytes of the extra ACK I am avoiding. If I loose I lost a maximum of 200 ms”

What Protocol does Minecraft use (UDP or TCP)?

Minecraft uses both, even though people tend to think it is only TCP.
Meaning, when you disable the delay on TCP, you will still have to endure UDP.

What is the prupose of TCPNoDelay & TcpAckFrequency?

Some of you might be wondering what does any of what I explained above have to do with RegEdit in Minecraft. Before you can understand what TCPNoDelay and TcpAckFrequency do, you first need to understand the way networking works, and how packets are transferred.

When you add TCPNoDelay into the registry, you basically disable Nagle’s Algorithm, which in turn changes the way your PC intercepts and transmit data (packets).

Think of it like this:
Instead of your PC that keep asking the server if it received the data, before sending another packet, it just sends it no matter if it didn’t receive it. The ups and downs of this is, it increases the speed of sending data, but also increases the likelihood of not sending the correct packets (which can cause lag spikes in-game).

When you add TcpAckFrequency into the registry, you basically disable the Delayed ACK, which in turn disables the way your PC can avoid multple ACK’s (Acknowledgements)

Think of it like this:
Instead of your PC “betting” on whether there will be more data to group up or not, it just doesn’t bet anymore. The ups and downs of this is, it doesn’t waste time on bets, but does loose out when it could have scored with avoiding multiple ACK’s.

In Conclusion:

Adding TCPNoDelay and TcpAckFrequency into your registry does not affect in-game mechanics in Minecraft (neither does the TCPNoDelay mod). It’s just a placebo effect.

A lot of time and effort was spent researching this, gathering information from trusted sources and known sites.

9 Likes

I’ve written essays shorter than this lol.

2 Likes

You can look at the original post in the badlion forum, which already explains it.
You’ve been beaten by 2 years.

And regedit does improve your ping.

1 Like

This 110% false regedit and tcpnodelay give u much more reach and reduce ur kb a ton i have verzide and stimpy real regedit and i paid for private proxies on kohi badlion and pvplounge and i take way less kb and better hit detection . I also have custom DNS settings so i can improve my reach by 0.35 blocks.

Also here’s a screenshot of my mode folder i have just a couple extra mods that improve my kb and reach by giving me better connection!!1!

edit: people dont know how to take a joke smh

7 Likes

ready 2 get proven wrong stupid noob @PineappleJuice
with tcpnodelay: https://image.prntscr.com/image/gGp95wVXRKav9X1eMdsnHA.png
without: https://image.prntscr.com/image/0yZ5Y1nGRIyGxB1zWUptwg.png

1 Like

The post on badlion “proofs” how regedit works…

Are you stupid or something? When a certain mod gives you more reach, or less KB, that is a cheat… I am here talking about regedit. If you bothered reading anything I posted there, you will see explain why regedit aint a thing.

Ok, clearly you did not read everything I posted… But maybe it’s just in terms you don’t completely comprehend. So let me simplify it for you. TCPNoDelay directs the data you are sending to the server in a different way. When using TCPNoDelay, it just makes your latency shows different, but all this is defined by TCP AND UDP (proxies that Minecraft servers run off).It in-fact does NOT change your latency IRL. It’s a placebo effect.

But it’s like arguing with a monkey that does not understand the way networking works, and what registry files do…

1 Like

Jesus i said it was a joke in my post lol and thats obviously not my molds folder, it some kid’s who i ss’d on a server and found like 30 fake mods in his mods folder.

Knew it didn’t really do anything!

Nice one don’t even read other peoples comment before responding.

And does not change Ping lmao

youre fucking dumb i was lagging like a australian without regedit, i put it in and i was perfectly fine. there is no placebo effect

I’m one of those people it did not do anything too.

Like did not make Anything better or worse

Yes it is true that it affect latency. But it does NOT improve it. It’s just a different route the packets take to get to the same location.

Think of it like this:
Instead of using the bus to transport 20 people to a certain location. Now every person uses their own means of transport. Yes it does make the time traveled faster. But now you have 20 cars behind each other in traffic because one guy forgot to buy a ticket and is holding up the line… That’s the same effect when disabling TCPNoDelay in your registry

1 Like

My Ping has always been 60 after we got a new router

Yes, seems like you understand the concept. Just keep in mind that the Acknowledgement is a way to determine which packets are faulty. Disabling it means faulty packets can also slow down the travel time, therefore increasing your latency.

But yes, the scenarios you gave is 100% correct.

it improves my latency i gave u proof???

You clearly don’t understand the way networking sends / receives packets (data). So it’s pointless arguing with you. Believe what you want…

The post was made by archybot, who was badlion since developed. I’m sure he has more knowledge than you.
Also, explain why the title of archybots post is "improve latency to most online games"
That’s why you should actually check out the post before you speak.

Clearly you have no knowledge about how networking works, and how packets are being sent and received. You are one of those kids who just blindly follows people because they seem like they know everything without questioning it…

I am not going to argue with someone who has no clue about what he is talking about. You are free to believe whatever you want, even though I stated the facts here…