{"type":"GameEvent","eventId":1,"serverSeq":1,"timestamp":"2026-01-27T10:28:01.1997743Z","actor":"60a019f2","eventType":"PlayerJoined","payload":{"clientUuid":"60a019f2","displayName":"SabOwner"},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":2,"serverSeq":2,"timestamp":"2026-01-27T10:28:03.8544722Z","actor":"2ef95622","eventType":"PlayerJoined","payload":{"clientUuid":"2ef95622","displayName":"SabPlayer"},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":3,"serverSeq":3,"timestamp":"2026-01-27T10:28:04.5191432Z","actor":"60a019f2","eventType":"GameStarted","payload":{"impostorCount":1,"taskCount":3},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":4,"serverSeq":4,"timestamp":"2026-01-27T10:28:04.5218628Z","actor":"60a019f2","eventType":"RoleAssigned","payload":{"clientUuid":"60a019f2","role":"Crew","tasks":[{"taskId":"task_0","name":"Opravit kabel","location":{"lat":50.085041839999995,"lon":14.42178266},"type":"MultiStep","durationMs":0,"steps":2},{"taskId":"task_1","name":"Zkalibrovat senzor","location":{"lat":50.0890353,"lon":14.4243006},"type":"MultiStep","durationMs":0,"steps":2},{"taskId":"task_2","name":"St\u00E1hnout data","location":{"lat":50.0875663,"lon":14.4204366},"type":"Progress","durationMs":8859,"steps":1}]},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":5,"serverSeq":5,"timestamp":"2026-01-27T10:28:04.523891Z","actor":"2ef95622","eventType":"RoleAssigned","payload":{"clientUuid":"2ef95622","role":"Impostor","tasks":null},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":6,"serverSeq":6,"timestamp":"2026-01-27T10:28:07.1045145Z","actor":"2ef95622","eventType":"SabotageStarted","payload":{"sabotageId":"fa186dc5","type":"CriticalMeltdown","initiatorId":"2ef95622","deadline":"2026-01-27T10:28:52.1044483Z","repairStations":[{"stationId":"reactor_alpha","name":"Reaktor Alpha","location":{"lat":50.0870079,"lon":14.4208543},"repairDurationMs":3000},{"stationId":"reactor_beta","name":"Reaktor Beta","location":{"lat":50.0865366,"lon":14.4215843},"repairDurationMs":3000}],"requiredSimultaneousRepairs":2},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":7,"serverSeq":7,"timestamp":"2026-01-27T10:28:09.6254983Z","actor":"60a019f2","eventType":"PlayerLeft","payload":{"clientUuid":"60a019f2","reason":"Disconnected"},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":8,"serverSeq":8,"timestamp":"2026-01-27T10:28:09.632627Z","actor":"2ef95622","eventType":"HostChanged","payload":{"newHostId":"2ef95622","previousHostId":"none"},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":9,"serverSeq":9,"timestamp":"2026-01-27T10:28:09.6380182Z","actor":"2ef95622","eventType":"PlayerLeft","payload":{"clientUuid":"2ef95622","reason":"Disconnected"},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":10,"serverSeq":10,"timestamp":"2026-01-27T10:28:52.106977Z","actor":"2ef95622","eventType":"SabotageMeltdown","payload":{"sabotageId":"fa186dc5"},"clientSeq":0,"actionId":null}
{"type":"GameEvent","eventId":11,"serverSeq":11,"timestamp":"2026-01-27T10:28:52.1237417Z","actor":null,"eventType":"GameEnded","payload":{"winningFaction":"Impostor","reason":"Kritick\u00E1 sabot\u00E1\u017E - meltdown","winners":[]},"clientSeq":0,"actionId":null}
