Renderer/src/main/java/electrosphere/server/MainServerFunctions.java
austin a9c74e8d50
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
fixes to foliage rendering
2024-11-08 17:54:48 -05:00

56 lines
1.9 KiB
Java

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();
//
//Micro simulation (ie simulating each scene on the server)
Globals.profiler.beginCpuSample("MainServerFunctions.simulate - Server micro simulation");
LoggerInterface.loggerEngine.DEBUG_LOOP("Begin server micro simulation");
if(Globals.realmManager != null){
Globals.realmManager.simulate();
}
//
//Macro simulation (ie simulating the larger world macro data)
LoggerInterface.loggerEngine.DEBUG_LOOP("MainServerFunctions.simulate - Server macro simulation");
if(Globals.macroSimulation != null && Globals.macroSimulation.isReady()){
Globals.macroSimulation.simulate();
}
Globals.profiler.endCpuSample();
Globals.profiler.endCpuSample();
}
}