explicit ServerState object
Some checks reported errors
studiorailgun/Renderer/pipeline/head Something is wrong with the build of this commit
Some checks reported errors
studiorailgun/Renderer/pipeline/head Something is wrong with the build of this commit
This commit is contained in:
parent
56ffc5b879
commit
4e488e43cd
@ -1811,6 +1811,7 @@ Move playerEntity to clientState
|
||||
Move playerCamera to clientState
|
||||
Move global cursor entities into cursorState
|
||||
Move lots of global state to clientState
|
||||
Create ServerState global
|
||||
|
||||
|
||||
|
||||
|
||||
@ -143,8 +143,8 @@ public class ImGuiPlayerEntity {
|
||||
ImGui.text("View yaw (Server): " + ServerPlayerViewDirTree.getTree(serverPlayerEntity).getYaw());
|
||||
ImGui.text("View pitch (Server): " + ServerPlayerViewDirTree.getTree(serverPlayerEntity).getPitch());
|
||||
}
|
||||
if(Globals.server != null && Globals.server.getFirstConnection() != null && Globals.server.getFirstConnection().getPlayer() != null){
|
||||
ImGui.text("Player Object World Pos (Server): " + Globals.server.getFirstConnection().getPlayer().getWorldPos());
|
||||
if(Globals.serverState.server != null && Globals.serverState.server.getFirstConnection() != null && Globals.serverState.server.getFirstConnection().getPlayer() != null){
|
||||
ImGui.text("Player Object World Pos (Server): " + Globals.serverState.server.getFirstConnection().getPlayer().getWorldPos());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -54,8 +54,8 @@ public class ImGuiNetworkMonitor {
|
||||
clientNetworkBandwith.draw();
|
||||
|
||||
//server network pressure
|
||||
if(Globals.server != null && Globals.server.getFirstConnection() != null){
|
||||
long serverPressureNewTotal = Globals.server.getFirstConnection().getNumBytesRead();
|
||||
if(Globals.serverState.server != null && Globals.serverState.server.getFirstConnection() != null){
|
||||
long serverPressureNewTotal = Globals.serverState.server.getFirstConnection().getNumBytesRead();
|
||||
long serverPressureDelta = serverPressureNewTotal - serverPressureLastValue;
|
||||
serverPressureDataset.addPoint(serverPressureDelta);
|
||||
serverPressureLastValue = serverPressureNewTotal;
|
||||
|
||||
@ -382,7 +382,7 @@ public class MenuGeneratorsInGame {
|
||||
* @return True if should show button, false otherwise
|
||||
*/
|
||||
private static boolean shouldShowLevelEditor(){
|
||||
return Globals.server != null;
|
||||
return Globals.serverState.server != null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -41,7 +41,6 @@ import electrosphere.engine.time.Timekeeper;
|
||||
import electrosphere.logger.LoggerInterface;
|
||||
import electrosphere.net.config.NetConfig;
|
||||
import electrosphere.net.monitor.NetMonitor;
|
||||
import electrosphere.net.server.Server;
|
||||
import electrosphere.net.server.player.PlayerManager;
|
||||
import electrosphere.net.synchronization.server.EntityValueTrackingService;
|
||||
import electrosphere.net.synchronization.server.ServerSynchronizationManager;
|
||||
@ -60,6 +59,7 @@ import electrosphere.renderer.ui.ElementService;
|
||||
import electrosphere.renderer.ui.elements.ImagePanel;
|
||||
import electrosphere.renderer.ui.font.FontManager;
|
||||
import electrosphere.script.ScriptEngine;
|
||||
import electrosphere.server.ServerState;
|
||||
import electrosphere.server.ai.AIManager;
|
||||
import electrosphere.server.datacell.EntityDataCellMapper;
|
||||
import electrosphere.server.datacell.RealmManager;
|
||||
@ -166,7 +166,6 @@ public class Globals {
|
||||
//
|
||||
//Server manager thing
|
||||
//
|
||||
public static Server server;
|
||||
public static ServerSynchronizationManager serverSynchronizationManager;
|
||||
public static boolean RUN_SERVER = true;
|
||||
|
||||
@ -353,6 +352,10 @@ public class Globals {
|
||||
*/
|
||||
public static ClientState clientState = new ClientState();
|
||||
|
||||
/**
|
||||
* State for the server
|
||||
*/
|
||||
public static ServerState serverState = new ServerState();
|
||||
|
||||
|
||||
|
||||
@ -415,6 +418,9 @@ public class Globals {
|
||||
//client state
|
||||
Globals.clientState = new ClientState();
|
||||
|
||||
//server state
|
||||
Globals.serverState = new ServerState();
|
||||
|
||||
//load in default texture map
|
||||
textureMapDefault = TextureMap.construct("Textures/default_texture_map.json");
|
||||
//load model pretransforms
|
||||
@ -630,7 +636,7 @@ public class Globals {
|
||||
public static void unloadScene(){
|
||||
Globals.playerManager = new PlayerManager();
|
||||
Globals.clientState = new ClientState();
|
||||
Globals.server = null;
|
||||
Globals.serverState = new ServerState();
|
||||
Globals.serverSynchronizationManager = new ServerSynchronizationManager();
|
||||
if(Globals.aiManager != null){
|
||||
Globals.aiManager.shutdown();
|
||||
@ -656,13 +662,13 @@ public class Globals {
|
||||
Globals.elementService = null;
|
||||
Globals.realmManager = null;
|
||||
Globals.clientState = null;
|
||||
Globals.serverState = null;
|
||||
Globals.audioEngine = null;
|
||||
Globals.renderingEngine = null;
|
||||
Globals.threadManager = null;
|
||||
Globals.signalSystem = null;
|
||||
Globals.serviceManager = null;
|
||||
Globals.fileWatcherService = null;
|
||||
Globals.server = null;
|
||||
Globals.serverSynchronizationManager = null;
|
||||
Globals.aiManager = null;
|
||||
Globals.playerManager = null;
|
||||
|
||||
@ -50,8 +50,8 @@ public class LoadingUtils {
|
||||
static void initServerThread(){
|
||||
//start server networking
|
||||
if(Globals.RUN_SERVER){
|
||||
Globals.server = new Server(NetUtils.getPort());
|
||||
Thread serverThread = new Thread(Globals.server);
|
||||
Globals.serverState.server = new Server(NetUtils.getPort());
|
||||
Thread serverThread = new Thread(Globals.serverState.server);
|
||||
Globals.threadManager.start(ThreadLabel.NETWORKING_SERVER, serverThread);
|
||||
}
|
||||
}
|
||||
@ -88,7 +88,7 @@ public class LoadingUtils {
|
||||
if(runServerThread){
|
||||
LoadingUtils.initServerThread();
|
||||
} else {
|
||||
Globals.server = new Server(NetUtils.getPort());
|
||||
Globals.serverState.server = new Server(NetUtils.getPort());
|
||||
}
|
||||
//client -> server pipe
|
||||
PipedInputStream clientInput = new PipedInputStream(STREAM_BUFFER_SIZE);
|
||||
@ -98,7 +98,7 @@ public class LoadingUtils {
|
||||
PipedOutputStream clientOutput;
|
||||
clientOutput = new PipedOutputStream(serverInput);
|
||||
//start server communication thread
|
||||
rVal = Globals.server.addLocalPlayer(serverInput, serverOutput);
|
||||
rVal = Globals.serverState.server.addLocalPlayer(serverInput, serverOutput);
|
||||
//start client communication thread
|
||||
Globals.clientState.clientConnection = new ClientNetworking(clientInput,clientOutput);
|
||||
Globals.threadManager.start(ThreadLabel.NETWORKING_CLIENT, new Thread(Globals.clientState.clientConnection));
|
||||
|
||||
@ -60,8 +60,8 @@ public class MainMenuLoading {
|
||||
* Resets the server state
|
||||
*/
|
||||
private static void resetServerState(){
|
||||
Globals.server.close();
|
||||
Globals.server = null;
|
||||
Globals.serverState.server.close();
|
||||
Globals.serverState.server = null;
|
||||
Globals.serverSynchronizationManager = null;
|
||||
Globals.realmManager.reset();
|
||||
Globals.realmManager = new RealmManager();
|
||||
|
||||
@ -145,8 +145,8 @@ public class ThreadManager {
|
||||
threadLock.lock();
|
||||
|
||||
//for some reason, server must be explicitly closed
|
||||
if(Globals.server != null){
|
||||
Globals.server.close();
|
||||
if(Globals.serverState.server != null){
|
||||
Globals.serverState.server.close();
|
||||
}
|
||||
|
||||
if(Globals.realmManager != null && Globals.realmManager.getRealms() != null){
|
||||
|
||||
@ -119,7 +119,7 @@ public class Server implements Runnable {
|
||||
}
|
||||
this.close();
|
||||
//null out global state
|
||||
Globals.server = null;
|
||||
Globals.serverState.server = null;
|
||||
LoggerInterface.loggerNetworking.INFO("Server socket thread ended");
|
||||
}
|
||||
|
||||
|
||||
@ -230,7 +230,7 @@ public class ServerConnectionHandler implements Runnable {
|
||||
|
||||
|
||||
initialized = true;
|
||||
while(Globals.threadManager.shouldKeepRunning() && this.isConnected == true && Globals.server != null && Globals.server.isOpen()){
|
||||
while(Globals.threadManager.shouldKeepRunning() && this.isConnected == true && Globals.serverState.server != null && Globals.serverState.server.isOpen()){
|
||||
|
||||
boolean receivedMessageThisLoop = false;
|
||||
//
|
||||
@ -494,8 +494,8 @@ public class ServerConnectionHandler implements Runnable {
|
||||
this.synchronousMessageLock.release();
|
||||
this.isConnected = false;
|
||||
//add connection to server list of connections to cleanup
|
||||
if(Globals.server != null){
|
||||
Globals.server.addClientToCleanup(this);
|
||||
if(Globals.serverState.server != null){
|
||||
Globals.serverState.server.addClientToCleanup(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -16,15 +16,15 @@ public class MainServerFunctions {
|
||||
|
||||
//
|
||||
//Cleanup disconnected clients
|
||||
if(Globals.server != null){
|
||||
Globals.server.cleanupDeadConnections();
|
||||
if(Globals.serverState.server != null){
|
||||
Globals.serverState.server.cleanupDeadConnections();
|
||||
}
|
||||
|
||||
//
|
||||
//Synchronous player message parsing\
|
||||
Globals.profiler.beginCpuSample("MainServerFunctions.simulate - Server synchronous packet parsing");
|
||||
if(Globals.server != null){
|
||||
Globals.server.synchronousPacketHandling();
|
||||
if(Globals.serverState.server != null){
|
||||
Globals.serverState.server.synchronousPacketHandling();
|
||||
}
|
||||
Globals.profiler.endCpuSample();
|
||||
Globals.profiler.beginCpuSample("MainServerFunctions.simulate - Server process synchronization messages");
|
||||
|
||||
15
src/main/java/electrosphere/server/ServerState.java
Normal file
15
src/main/java/electrosphere/server/ServerState.java
Normal file
@ -0,0 +1,15 @@
|
||||
package electrosphere.server;
|
||||
|
||||
import electrosphere.net.server.Server;
|
||||
|
||||
/**
|
||||
* Server state
|
||||
*/
|
||||
public class ServerState {
|
||||
|
||||
/**
|
||||
* Server networking
|
||||
*/
|
||||
public Server server;
|
||||
|
||||
}
|
||||
@ -21,12 +21,12 @@ public class StateCleanupCheckerExtension implements AfterEachCallback {
|
||||
Globals.renderingEngine,
|
||||
Globals.audioEngine,
|
||||
Globals.javaPID,
|
||||
Globals.server,
|
||||
Globals.serverSynchronizationManager,
|
||||
Globals.playerManager,
|
||||
LoggerInterface.loggerEngine,
|
||||
RenderingEngine.screenFramebuffer,
|
||||
Globals.clientState,
|
||||
Globals.serverState,
|
||||
};
|
||||
for(Object object : objectsToCheck){
|
||||
if(object != null){
|
||||
|
||||
@ -163,7 +163,7 @@ public class TestEngineUtils {
|
||||
*/
|
||||
public static void spawnPlayerEntity(){
|
||||
ObjectTemplate creatureTemplate = ObjectTemplate.createDefault(EntityType.CREATURE, "human");
|
||||
ServerConnectionHandler serverConnection = Globals.server.getFirstConnection();
|
||||
ServerConnectionHandler serverConnection = Globals.serverState.server.getFirstConnection();
|
||||
serverConnection.setCreatureTemplate(creatureTemplate);
|
||||
Character chara = Globals.characterService.createCharacter(creatureTemplate, serverConnection.getPlayerId());
|
||||
serverConnection.setCharacterId(chara.getId());
|
||||
|
||||
@ -34,7 +34,7 @@ public class TestViewportUtils {
|
||||
Entity creature = CreatureUtils.serverSpawnBasicCreature(Globals.realmManager.first(), new Vector3d(0,0,0), creatureType, creatureTemplate);
|
||||
|
||||
//get required data
|
||||
ServerConnectionHandler connectionHandler = Globals.server.getFirstConnection();
|
||||
ServerConnectionHandler connectionHandler = Globals.serverState.server.getFirstConnection();
|
||||
Player playerObj = Globals.playerManager.getFirstPlayer();
|
||||
|
||||
//attach
|
||||
|
||||
Loading…
Reference in New Issue
Block a user