package electrosphere.server; import electrosphere.engine.Globals; import electrosphere.logger.LoggerInterface; /** * Functions that should be fired every server frame */ public class MainServerFunctions { /** * Calls the main server routines that should fire each frame */ public static void simulate(){ Globals.profiler.beginCpuSample("MainServerFunctions.simulate"); // //Cleanup disconnected clients if(Globals.server != null){ Globals.server.cleanupDeadConnections(); } // //Synchronous player message parsing\ Globals.profiler.beginCpuSample("MainServerFunctions.simulate - Server synchronous packet parsing"); if(Globals.server != null){ Globals.server.synchronousPacketHandling(); } Globals.profiler.endCpuSample(); Globals.profiler.beginCpuSample("MainServerFunctions.simulate - Server process synchronization messages"); if(Globals.serverSynchronizationManager != null){ Globals.serverSynchronizationManager.processMessages(); } Globals.profiler.endCpuSample(); // //Update AI Globals.aiManager.simulate(); // //Services MainServerFunctions.simulateServices(); // //Simulation Globals.profiler.beginCpuSample("MainServerFunctions.simulate - Realm simulation"); LoggerInterface.loggerEngine.DEBUG_LOOP("Begin server realm simulation"); if(Globals.realmManager != null){ Globals.realmManager.simulate(); } Globals.profiler.endCpuSample(); Globals.profiler.endCpuSample(); } /** * Simulates server services */ private static void simulateServices(){ Globals.structureScanningService.simulate(); } }