Fixed: new game after server crash

This commit is contained in:
rubenpirreram
2026-05-26 17:49:47 +02:00
parent b900deadd8
commit bbeec46ca2
3 changed files with 76 additions and 131 deletions
@@ -186,8 +186,6 @@ public class ServerLauncher {
if(!entry.getValue())
playerList.remove(entry.getKey());
}
serverRMI.setServerCrashed(false);
serverTCP.setServerCrashed(false);
}
//notify the event
else {
@@ -206,13 +204,15 @@ public class ServerLauncher {
// removes disconneted players when the game is ended
if(event.getEventType().equals(EventType.DISCONNECTED_PLAYER))
{
playerList.remove(event.getUsername());
if(playerList.isEmpty())
{
gameController.setModel(null);
System.out.println("\n!!! Player list is now empty, ready for a new game init !!!\n");
synchronized (gameController) {
playerList.remove(event.getUsername());
if (playerList.isEmpty()) {
gameController.setModel(null);
System.out.println("\n!!! Player list is now empty, ready for a new game init !!!\n");
}
return true;
}
return true;
}
return false;
}
@@ -245,7 +245,6 @@ public class ServerLauncher {
BlockingQueue<NetworkEvent> actionQueue = new LinkedBlockingQueue<>();
GameController gameController = new GameController();
String IP;
boolean serverCrashed;
try {
IP=chooseNetworkInterface(new Scanner(System.in));
System.out.println(IP);
@@ -266,10 +265,6 @@ public class ServerLauncher {
playerList.put(entry.getKey().getUserName(),false);
}
}
serverCrashed = true;
} else {
serverCrashed = false;
}
playerList.setAction(()->{
new Thread(()->{
@@ -281,8 +276,6 @@ public class ServerLauncher {
}
serverRMI.notifyAll(miniModel);
serverTCP.notifyAll(miniModel);
view = new TUI(miniModel);
view.render();
}).start();
});
new Thread(()-> {
@@ -295,8 +288,8 @@ public class ServerLauncher {
}
}).start();
serverRMI.start(serverCrashed);
new Thread(()->{serverTCP.start(serverCrashed);}).start();
serverRMI.start();
new Thread(()->{serverTCP.start();}).start();
System.out.println("Server RMI: "+System.getProperty("java.rmi.server.hostname"));
}
@@ -314,10 +307,6 @@ public class ServerLauncher {
while (true) {
try{
this.doFirstEvent();
// if(view!=null)
// {
// view.fullRender();
// }
}
catch(InterruptedException e){
Thread.currentThread().interrupt();