protected bool ReadClientsPacket(byte[] packet, bool[] areConnected, ulong[] userIds, string[] userNames) { //host only
    BeginSample("ReadServerInfoPacket");
    readStream.Start(packet);
    var result = true;

    try {
      serializer.ReadClientsPacket(readStream, areConnected, userIds, userNames);
    } catch (SerializeException) {
      Log("error: failed to read server info packet");
      result = false;
    }
    readStream.Finish();
    EndSample();

    return result;
  }