1. Dev: aurp format specification - Smertig/among-us-replay-mod GitHub Wiki

Basic types

Type Description Example
u8
u16
u32
u64
N-bit unsigned value with little-endian binary representation u8: 000
u16: 12 340x3412 (13330)
u32: 01 00 00 001
bool Same as u8, but contains only 01 (true) or 00 (false) 00false
01true
float IEEE-754 single precision floating point number with little-endian binary representation 00 00 80 3F1.0
66 66 9A C1-19.3
Type[N] Array of N elements of type Type, same as Type, Type, ..., Type (N times) u8[5]: 01 02 03 04 05
string utf-8 encoded string:
> u32 length
> u8 data[length]
03 00 00 00 46 6F 6F:
> length = 3
> data = 46 6F 6F"Foo"

Aurp format

Field Type Description Binary example Value example
signature u8[4] Signature of aurp format 44 55 52 50 "AURP"
version u32 Version of aurp format (currently only 3) 03 00 00 00 3
timestamp u64 File creation timestamp (unix-time) BF 5D 83 5F 00 00 00 00 10/11/2020 19:32:15
mod_version string Version of mod used to capture this replay 05 00 00 00 30 2E 35 2E 31 "0.5.1"
game_version string Game version 09 00 00 00 32 30 32 30 2E 39 2E 32 32 "2020.9.22"
map_id u32 Map ID (0 - Skeld, 1 - Mira, 2 - Polus) 02 00 00 00 2 (Polus)
player_count u32 Number of players 06 00 00 00 6 players
players Player[player_count] Array of players ... ...
events Event[] Array of captured events (till EOF) ... ...

Player

Field Type Description Binary example Value example
id u8 Player ID 05 5
name string Player name 03 00 00 00 61 62 63 "abc"
color_id u8 Color ID 0A 10 (cyan)
hat_id u32 Hat ID 05 00 00 00 CAPTAIN_HAT
pet_id u32 Pet ID 03 00 00 00 DOG
skin_id u32 Skin ID 04 00 00 00 MILITARY
is_impostor bool Is player an impostor 01 true

Event

Field Type Description Binary example Value example
type u8 Event type. One of the following:
0frame data
00 0frame data
dt u32 Event timestamp in milliseconds since round start 94 43 00 00 1730017.3 sec
event_data ? Event details. Type of this field depends on type value:
0 (frame data)FrameData
... ...

FrameData

Field Type Description Binary example Value example
is_complete bool See player_states below 01 true
state_count u8 Number of PlayerState stored in this frame 05 5
player_states PlayerState[state_count] Depending on value of is_complete:
false → only players with changed state since last FrameData event
true → state of all active players
... ...

PlayerState

Field Type Description Binary example Value example
id u8 Player ID 01 1
position float[2] Player position (x, y) 74 60 7C 41 CD 37 53 C0 15.77, -3.3
velocity float[2] Player velocity (x, y) D1 DE D0 37 00 00 F0 BF 0.000024, -1.875
is_dead bool Is player dead 00 false
is_disconnected bool Is player disconnected 01 true
task_count u8 Number of player tasks 05 5
tasks TaskState[task_count] Player tasks state ... ...

TaskState

Field Type Description Binary example Value example
is_complete bool Is task complete 01 true
type_id u8 Task type ID 01 PRIME_SHIELDS
id u32 Task specific ID (depends on current map) 05 00 00 00 Medbay: Inspect Sample (Skeld)
Electrical: Divert Power to Cafeteria (Mira HQ)
Office: Download Data (Polus)
⚠️ **GitHub.com Fallback** ⚠️