Skip to content
This repository was archived by the owner on Feb 12, 2021. It is now read-only.
Edward Smale edited this page Oct 23, 2020 · 12 revisions

Among Us protocol wiki

In this wiki, I will attempt to describe as easy to understand as possible, while retaining the details, the Among Us protocol, so you can make your own implementation, or just to understand what's happening behind the scenes.

Among Us uses this fork of Hazel, so look there for more detailed descriptions and usage.

If you wish you try yourself at reverse-engineering the game, I suggest the following programs for packet capturing, disassembly or dumping game data.

Most of the information in this wiki I have compiled from other sources, and some is from my own reversing.


Every Hazel message follows a specific format, the most basic of which is the first byte, which represents the opcode of the message. Most messages will be sent either using the Unreliable or Reliable opcode, in the form of a Payload, however other messages are considered Special, and usually follow less strict structures and affect the connection rather than the client or game.

Packet Opcode Description
Unreliable 0x00 Used to transfer client or game data in an unreliable way, e.g. movement packets which don't need to be acknowledged and the client is OK with missing out on one or two.
Reliable 0x01 Used to transfer client or game data in a reliable way, including a nonce that must be sent back to acknowledge that the packet has been received, else the packet is sent over again until acknowledged.
Hello 0x08 Used to identify the client's connection with a username, the first packet that a client wanting to connect might send.
Disconnect 0x09 Used by either the client or the server to signal a disconnect to stop receiving and sending packets.
Acknowledge 0x0a Used to acknowledge that reliable packets have been received.
Ping 0x0c Used for checking the connection is still active and alive. If pings are repeatedly missed, the server sends a disconnect opcode packet with no reason.
Clone this wiki locally