How to Use Server Transfer Packets (1.20.5+)
Learn how to use Minecraft 1.20.5+ server transfer packets to move players between servers without a traditional proxy.
What Are Server Transfer Packets?
Minecraft 1.20.5 introduced a new protocol feature: server transfer packets. This allows a server to tell a connected client to disconnect and reconnect to a different server address. Unlike traditional proxy-based networking (Velocity, BungeeCord), server transfer packets minecraft clients handle natively at the protocol level, meaning the client itself initiates a new connection to the target server.
How It Differs from Proxy Networking
With a proxy like Velocity, the player maintains a single TCP connection to the proxy, which internally routes them between backends. With server transfer packets minecraft sends, the client fully disconnects from the current server and connects to a new one. This means:
- There is a brief reconnection screen (similar to joining a new server).
- No proxy is required. Each server is independent.
- Session data is not carried over automatically. You need external sync systems.
- The client must be 1.20.5 or newer.
Enabling Transfer Packets
On Paper 1.20.5+, transfer packets are supported natively. Make sure your server is running Paper 1.20.5 or newer. In server.properties, set:
accepts-transfers=true
This tells the server to accept incoming transfer connections. Without this flag, the server rejects players who arrive via a transfer packet.
Sending a Transfer
To send a player to another server, use the Paper API in a plugin:
player.transfer(
InetSocketAddress("play.example.com", 25565)
);
Or use a command-based plugin that wraps this API call. When executed, the player's client disconnects from the current server and connects to the specified address.
Use Cases
- Server networks without a proxy: Small networks that do not want the complexity of running Velocity or BungeeCord can use server transfer packets minecraft offers to link a few servers together.
- Cross-network partnerships: Two independent servers can transfer players to each other without sharing a proxy.
- Overflow handling: A full server can transfer new players to a secondary instance.
Limitations
Server transfer packets minecraft introduces have significant limitations compared to proxy-based setups:
- No shared session: Player data, chat history, and connection state do not carry over. You need external data synchronization.
- Client version requirement: Only 1.20.5+ clients support transfers. Older clients ignore the packet.
- Security concerns: Malicious servers could transfer players to harmful addresses. Clients show a confirmation prompt for transfers to new servers.
- No single IP: Without a proxy, players need to know the address of their initial server. You cannot present a unified IP.
Combining with a Proxy
You can use transfer packets alongside a proxy. For example, a Velocity network could transfer a player to an entirely separate network running on different infrastructure. This is useful for partnered servers or event-based cross-server play.
For most networks, a proxy like Velocity or BungeeCord remains the better choice for seamless server switching. Server transfer packets minecraft provides are best suited for lightweight linking between independent servers where running a shared proxy is impractical.
Need a proxy-ready network? Astroworld Hosting supports Velocity, BungeeCord, and multi-server setups on every plan.