use of games.strategy.engine.framework.startup.launcher.ServerLauncher in project triplea by triplea-game.
the class ServerModel method getLauncher.
public Optional<ServerLauncher> getLauncher() {
synchronized (this) {
disallowRemoveConnections();
// -1 since we dont count outselves
final int clientCount = serverMessenger.getNodes().size() - 1;
final Map<String, INode> remotePlayers = new HashMap<>();
for (final Entry<String, String> entry : playersToNodeListing.entrySet()) {
final String playedBy = entry.getValue();
if (playedBy == null) {
return Optional.empty();
}
if (!playedBy.equals(serverMessenger.getLocalNode().getName())) {
serverMessenger.getNodes().stream().filter(node -> node.getName().equals(playedBy)).findAny().ifPresent(node -> remotePlayers.put(entry.getKey(), node));
}
}
return Optional.of(new ServerLauncher(clientCount, remoteMessenger, channelMessenger, serverMessenger, gameSelectorModel, getPlayerListingInternal(), remotePlayers, this, headless));
}
}
Aggregations