I have a main processing loop that updates creature actions that is hogging the CPU, thus stopping the Indy Server socket from processing incoming packets when the main loop is busy with 20+ creatures. Is it simply a case of putting loads of Application.ProcessMessages everywhere in the mainloop, or does anyone know of a better way of handling this problem? Is there anyway inside my main loop I can force some CPU onto the Server Socket?