private void processAnnounce(object o) { while (run) { var verb = new HelloVerb(); int maxClients = 0; if (model.IsDedicated) { maxClients = 100; } else { switch (model.OverlordPriority) { case OverlordPriority.High: maxClients = 100; break; case OverlordPriority.Normal: maxClients = 50; break; case OverlordPriority.Low: maxClients = 40; break; } } multicastServer.SendMessage(verb.CreateRequest(serverNode.Location, network.NetworkName, serverNode.ID, network.NetworkID, serverNode.Strength, connectedClientNodes.Count, maxClients)); announcerSync.WaitOne(10000); } }