diff --git a/framework/src/main/java/org/toop/framework/networking/server/Server.java b/framework/src/main/java/org/toop/framework/networking/server/Server.java index a35fe88..0ff3699 100644 --- a/framework/src/main/java/org/toop/framework/networking/server/Server.java +++ b/framework/src/main/java/org/toop/framework/networking/server/Server.java @@ -169,6 +169,10 @@ public class Server implements GameServer { return clientStore.all().stream().toList(); } + public List getAdmins() { + return new ArrayList<>(admins); // Clone so the list can't be edited. + } + @Override public void shutdown() { scheduler.shutdown(); diff --git a/framework/src/main/java/org/toop/framework/networking/server/handlers/MessageHandler.java b/framework/src/main/java/org/toop/framework/networking/server/handlers/MessageHandler.java index 7918323..fd559a9 100644 --- a/framework/src/main/java/org/toop/framework/networking/server/handlers/MessageHandler.java +++ b/framework/src/main/java/org/toop/framework/networking/server/handlers/MessageHandler.java @@ -76,6 +76,10 @@ public class MessageHandler implements Handler { var names = server.gameTypes().stream().iterator(); client.send("SVR GAMELIST " + Utils.returnQuotedString(names)); } + case "admins" -> { + var names = server.getAdmins().stream().map(Client::name).iterator(); + client.send("SVR ADMINS " + Utils.returnQuotedString(names)); + } } }