---
title: Pong
description: "Configuration 0x05, client → server."
---

`config` · `0x05` · **serverbound** (client → server)

Response to a clientbound `Ping` in the configuration state. `id` echoes the ping id. Used by the server or proxies for ordering and latency checks; it is not the keep-alive mechanism.

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

## Fields

| Field | Type | Notes |
|---|---|---|
| `id` | Int |  |

## Send it

```ts
// Client side, echo the server's Ping id.
client.on("Ping", async (data) => {
  await client.sendPacket("Pong", { id: data.id });
});
```

The `id` must match the preceding `Ping`. This packet is used for ordering or latency checks and is separate from `KeepAlive`.

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

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