A writeup of the network protocol used in Among Us, a game by Innersloth.
Note: This repo is outdated, it is correct up to and partially including the Airship Update. PRs are welcome!
Contained in this repo is my detailed explanation of the netcode behind Among Us, a game by Innersloth. Myself and others have spent countless hours scanning the game's decompiled source code as well as manually dissecting each and every packet sent by the game. Not all of this information will be correct, though it is safe to assume that almost all of it is, and those parts that I am uncertain of will be labeled as such.
I do not work for Innersloth, however Innersloth has provided support in the construction of this wiki; for the most part this is just the result of an obsession in discovering how the game works.
This repo does not currently contain instructions on how to decompile/deobfuscate the game.
To intercept packets, I recommend using Wireshark with one of the display filters below.
To show all game traffic:
udp.port in { 22023 22123 22223 22323 22423 22523 22623 22723 22823 22923 }
To show only reliable packets (recommended as movement, pings, and acks can add a bunch of noise):
udp.port in { 22023 22123 22223 22323 22423 22523 22623 22723 22823 22923 } and data[0] == 01
If you would like to discuss the Among Us protocol or client modding with me or others interested in such topics, you are welcome to join the NodePolus Discord server, or Reactor
GameData
and GameDataTo
Message Types
RPC
Message Types
0x00
PlayAnimation
0x01
CompleteTask
0x02
SyncSettings
0x03
SetInfected
0x04
Exiled
0x05
CheckName
0x06
SetName
0x07
CheckColor
0x08
SetColor
0x09
SetHat
0x0a
SetSkin
0x0b
ReportDeadBody
0x0c
MurderPlayer
0x0d
SendChat
0x0e
StartMeeting
0x0f
SetScanner
0x10
SendChatNote
0x11
SetPet
0x12
SetStartCounter
0x13
EnterVent
0x14
ExitVent
0x15
SnapTo
0x16
Close
0x17
VotingComplete
0x18
CastVote
0x19
ClearVote
0x1a
AddVote
0x1b
CloseDoorsOfType
0x1c
RepairSystem
0x1d
SetTasks
0x1f
ClimbLadder
0x20
UsePlatform
InnerNetObject
Types
SystemType
Implementations