---
title: Transfer
description: "Play 0x81, server → client."
---

`play` · `0x81` · **clientbound** (server → client)

Tells the client to disconnect and connect to another server at the given host and port. The server sends it to move players between servers. The client reconnects with the handshake intent set to transfer, and cookies stored with `StoreCookie` are carried over.

Sent by the server, read by the client. Listen for it with `client.on("Transfer", (data) => …)` on the receiving side.

## Fields

| Field | Type | Notes |
|---|---|---|
| `host` | String |  |
| `port` | VarInt |  |

## Send it

```ts
await client.sendPacket("Transfer", { host: "play.example.com", port: 25565 });
```

The client closes this connection and reconnects to `host:port`, sending `Intension` with `nextState: 3`. Cookies stored with `StoreCookie` travel with it. The same packet exists in `config`.

Field aliases listed under Notes are accepted as alternative keys when writing.

Source: [`src/Core/Versions/776/Packets/play/clientbound/Transfer.ts`](https://github.com/GDLev/mc-protocol/blob/master/src/Core/Versions/776/Packets/play/clientbound/Transfer.ts)
