Skip to content

Parsing Broadcasts

Markus edited this page May 15, 2019 · 3 revisions

Work In Progress ...

This page lists some of my discoveries while trying to parse broadcast data (https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Broadcast).

I attempted to create a fake demo file with the broadcast data. To get the data I used https://github.com/BeepFelix/csgo-broadcast

  1. The header needs to be created manually (I copied the first 1077 bytes from a working demo - this also includes the signon command)
  2. It looks like the first 6 bits from 0_start need to be removed, after that follows a net message chunk. Also p.bitReader.Skip((152 + 4 + 4) << 3) in Parser.parsePacket needs to be removed
  3. Now we can just cat 0_start 1_full 1_delta 2_full 2_delta ... n_full n_delta

Or just use this command: { head -c 1077 ~/dev/demoinfocs-golang/cs-demos/set/vitality-vs-mousesports-m3-dust2.dem; tail -c +6 0_start; for i in $(ls *_full | cut -c 1); do cat ${i}_full ${i}_delta; done; } > test3.dem and (for now) the broadcast-parsing branch which can read the generated demo.

Clone this wiki locally