private static void update() { StringBuilder sb = new StringBuilder(); Stopwatch watch = new Stopwatch(); watch.Start(); while (watch.ElapsedMilliseconds < MSPerframe) { /*do nothing */ } watch.Reset(); //update stuff lock (Servers.world) { world.Update(); foreach (KeyValuePair <int, Star> entrys in world.GetStar().ToList()) { string message = JsonConvert.SerializeObject(entrys.Value); sb.Append(message + "\n"); } foreach (KeyValuePair <int, Ship> entrys in world.GetShips().ToList()) { string message = JsonConvert.SerializeObject(entrys.Value); sb.Append(message + "\n"); } foreach (KeyValuePair <int, Proj> entrys in world.GetProj().ToList()) { string message = JsonConvert.SerializeObject(entrys.Value); sb.Append(message + "\n"); } world.CleanUp(); } lock (Clients) { foreach (SocketState j in Clients) { Networking.SendData(j.theSocket, sb.ToString()); } } }