Configured /server admin command for server related needs.

Added initiateStop to NGECore.
This commit is contained in:
Zing
2014-08-07 23:49:20 -07:00
parent 04f41a0f41
commit dff394c077
2 changed files with 28 additions and 6 deletions
+9 -5
View File
@@ -28,14 +28,18 @@ def run(core, actor, target, commandString):
if command == 'lockServer':
core.setGalaxyStatus(GalaxyStatus.Locked)
actor.sendSystemMessage('GM: Command completed successfully, Server is now in Locked Status', 0)
if command == 'unlockServer':
core.setGalaxyStatus(GalaxyStatus.Online)
if command == 'info':
actor.sendSystemMessage(str(core.getActiveZoneClients()) + ' online characters.', 0)
actor.sendSystemMessage('GM: Command completed successfully, Server is now in Online Status', 0)
#if command == 'restart': //This command currently causes an error at NGEcore.java like 593 whole attempting to close databaseConnection2
#core.restart()
#actor.sendSystemMessage('GM: Command completed successfully, Server restart initiated', 0)
if command == 'shutdown':
core.initiateShutdown()
if command == 'getheight':
actor.sendSystemMessage(str(core.terrainService.getHeight(actor.getPlanetId(), actor.getWorldPosition().x, actor.getWorldPosition().z)), 0)
actor.sendSystemMessage('GM: Command completed successfully, Server shutdown initiated', 0)
if command == 'stop':
core.initiateStop()
actor.sendSystemMessage('GM: Command completed successfully, Emergency server shutdown initiated', 0)
return
+19 -1
View File
@@ -796,8 +796,26 @@ public class NGECore {
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void initiateStop() {
if(isShuttingDown)
return;
try {
chatService.broadcastGalaxy("You will now be disconnected so the server can perform a final save before shutting down.");
Thread.sleep(10000);
synchronized(getActiveConnectionsMap()) {
for(Client client : getActiveConnectionsMap().values()) {
client.getSession().close(true);
connectionService.disconnect(client);
}
}
System.exit(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
}