Mojang/Microsoft introduce packet transfer to minecraft Java edition

Mojang/Microsoft introduce packet transfer to minecraft Java edition
Essentially, we need a way to transfer players across IPs. Just a little background, the server currently works based off of a proxy system, but that is for the individual game servers. When you join mc.hypixel.net, you get sent to the lobby. Let's say that the actual server software for the lobby is hosted on computer 1. You then go ahead and try to join a game, and your player is sent to computer 2. But how are you being sent between two servers? Isn't that what we are saying is impossible, and why we need the transfer packet?
Yes, but you're not actually being sent between two servers. What's happening, is when you originally connected to mc.hypixel.net, you're actually connecting to a separate server which we'll call computer 0. Computer 0 takes all of the data your client sends it, then just forwards it to another computer. (i.e. computer 1 or 2). Computer 1 or 2 then sends the data back to computer 0, which then sends the data back to you. Computer 0 acts as a messenger. When you want to change between computer 1 and 2, computer 0 just tricks the client into thinking you're switching worlds (like going from the overworld to the nether). This is what we call a proxy.
N.B. You can determine which proxy you are on by doing /proxy, and it can be helpful to developers when debugging things. You can find out what game server you're on by doing /whereami. This is also useful.
So why can't we do this across the world? Because you still have to be routed through the proxy. Take a look at this diagram.
You're the green dot in the UK, and the proxy is hosted in the US. We have a bunch of blue dots all around the world representing each individual server. Maybe you're seeing the problem now. In order to communicate information about your connection to all the individual servers, you always have to be connected to the proxy. With this setup, the closest game server to you is in Spain. So, you connect to mc.hypixel.net, which connects you to the proxy in the US. The proxy then contacts the server in Spain, which sends data back to the proxy and then back to you. This actually doubles your ping, instead of decreases it. Data has to go back and forth across the ocean twice, instead of once.
So... why not just have mc.hypixel.net find the closest proxy to you, which has a bunch of game servers around it? That would minimize ping, right? Yes, but it splits up the community. Everyone will be connected to their closest proxy. The more proxies we have, the slower games start and the less people you will see online. In order to play with your friends, you'd have to connect to a very specific IP. You can think of this idea as essentially being the same as having many different IPs for different Hypixel servers around the world, except instead of typing in the IP for your region, it automatically finds it for you. This causes the same problem we have now.
This is where the transfer packet comes into play.
We can place these red proxies all around the world, and have individual game servers with those proxies. For the purpose of the example, each one will have it's own individual IP (i.e. jp.hypixel.net, au.hypixel.net, sa.hypixel.net, us.hypixel.net, & eu.hypixel.net). When you connect to mc.hypixel.net, it'll send you to one of these proxies (likely the US one at first), where you'll be in a lobby with all the players from around the world. When you go to join a game, the proxy will tell the player something along the lines of "transfer this player over to eu.hypixel.net" (considering that's the closest proxy to where you live). You'll then be able to join a game with other people from the EU area, while still maintaining the players in the lobby.
This isn't just about the lobby player count, though. What if not many people from the EU are playing when you are? Your game isn't starting. The server then transfers you to the US server, where games are starting, because more people are online there at the moment. Yes, you have lower ping for now, but at least you get to actually play the game. This is also useful for parties. If you have a party of two people, one from the AU and one from the US, it'll take the average and send you both to the EU servers.