public override Task Read(SourceBufferReader buf, SourceDemo demo) { Protocol = buf.ReadInt16(); ServerCount = buf.ReadInt32(); IsHltv = buf.ReadBoolean(); IsDedicated = buf.ReadBoolean(); ClientCrc = buf.ReadInt32(); MaxClasses = buf.ReadUInt16(); MapCrc = buf.ReadInt32(); PlayerSlot = buf.ReadByte(); MaxClients = buf.ReadByte(); if (demo.Protocol == 4) { Unk = buf.ReadInt32(); } else if (demo.NetworkProtocol == 24) { Unk = buf.ReadBits(96); } TickInterval = buf.ReadSingle(); OperatingSystem = buf.ReadChar(); GameDir = buf.ReadString(); MapName = buf.ReadString(); SkyName = buf.ReadString(); HostName = buf.ReadString(); return(Task.CompletedTask); }