diff --git a/gameserver/src/main/java/brainwine/gameserver/GameConfiguration.java b/gameserver/src/main/java/brainwine/gameserver/GameConfiguration.java index f548432..1da22a5 100644 --- a/gameserver/src/main/java/brainwine/gameserver/GameConfiguration.java +++ b/gameserver/src/main/java/brainwine/gameserver/GameConfiguration.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.databind.InjectableValues; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import brainwine.gameserver.command.CommandManager; import brainwine.gameserver.item.Item; import brainwine.gameserver.item.ItemRegistry; import brainwine.gameserver.server.messages.ConfigurationMessage; @@ -84,6 +85,13 @@ public class GameConfiguration { Map shop = getConfiguration("shop"); shop.put("currency", new HashMap<>()); // Client wants this. + // Add custom registered commands to the client config. + Map commands = getConfiguration("commands"); + + for(String command : CommandManager.getCommandNames()) { + commands.put(command, true); + } + try { configureItems(); } catch (IOException e) { diff --git a/gameserver/src/main/java/brainwine/gameserver/GameServer.java b/gameserver/src/main/java/brainwine/gameserver/GameServer.java index a99d67f..1485b78 100644 --- a/gameserver/src/main/java/brainwine/gameserver/GameServer.java +++ b/gameserver/src/main/java/brainwine/gameserver/GameServer.java @@ -32,11 +32,11 @@ public class GameServer implements CommandExecutor { handlerThread = Thread.currentThread(); long startTime = System.currentTimeMillis(); logger.info("Starting GameServer ..."); + CommandManager.init(); GameConfiguration.init(); MessagePackHelper.init(); zoneManager = new ZoneManager(); playerManager = new PlayerManager(); - CommandManager.init(); NetworkRegistry.init(); server = new Server(); server.addEndpoint(5002); diff --git a/gameserver/src/main/java/brainwine/gameserver/command/CommandManager.java b/gameserver/src/main/java/brainwine/gameserver/command/CommandManager.java index 2dd4a86..da87368 100644 --- a/gameserver/src/main/java/brainwine/gameserver/command/CommandManager.java +++ b/gameserver/src/main/java/brainwine/gameserver/command/CommandManager.java @@ -2,6 +2,7 @@ package brainwine.gameserver.command; import java.util.HashMap; import java.util.Map; +import java.util.Set; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -85,4 +86,8 @@ public class CommandManager { commands.put(name, command); } + + public static Set getCommandNames() { + return commands.keySet(); + } }