diff --git a/ice-adapter/src/main/java/com/faforever/iceadapter/IceAdapter.java b/ice-adapter/src/main/java/com/faforever/iceadapter/IceAdapter.java index 307bb66..6fc4200 100644 --- a/ice-adapter/src/main/java/com/faforever/iceadapter/IceAdapter.java +++ b/ice-adapter/src/main/java/com/faforever/iceadapter/IceAdapter.java @@ -63,7 +63,7 @@ public void start() { PeerIceModule.setForceRelay(iceOptions.isForceRelay()); gpgNetServer = new GPGNetServer(); rpcService = new RPCService(); - gpgNetServer.init(iceOptions.getGpgnetPort(), iceOptions.getLobbyPort(), rpcService); + gpgNetServer.init(iceOptions.getGpgnetPort(), iceOptions.getLobbyPort(), rpcService, iceOptions.getLobbyInitMode()); rpcService.init(iceOptions.getRpcPort(), gpgNetServer, this); PeerIceModule.setForceRelay(iceOptions.isForceRelay()); diff --git a/ice-adapter/src/main/java/com/faforever/iceadapter/IceOptions.java b/ice-adapter/src/main/java/com/faforever/iceadapter/IceOptions.java index 834232f..4765915 100644 --- a/ice-adapter/src/main/java/com/faforever/iceadapter/IceOptions.java +++ b/ice-adapter/src/main/java/com/faforever/iceadapter/IceOptions.java @@ -62,4 +62,10 @@ public class IceOptions { defaultValue = "wss://ice-telemetry.faforever.com", description = "Telemetry server to connect to") private String telemetryServer; + + @Option( + names = "--lobby-init-mode", + defaultValue = "normal", + description = "lobby mode the game will use. Supported values are 'normal' for normal lobby and 'auto' for automatch lobby (aka ladder).") + private String lobbyInitMode; } diff --git a/ice-adapter/src/main/java/com/faforever/iceadapter/gpgnet/GPGNetServer.java b/ice-adapter/src/main/java/com/faforever/iceadapter/gpgnet/GPGNetServer.java index ecaa9a6..724b005 100644 --- a/ice-adapter/src/main/java/com/faforever/iceadapter/gpgnet/GPGNetServer.java +++ b/ice-adapter/src/main/java/com/faforever/iceadapter/gpgnet/GPGNetServer.java @@ -48,9 +48,10 @@ public static LobbyInitMode getLobbyInitMode() { return INSTANCE.lobbyInitMode; } - public void init(int gpgnetPort, int lobbyPort, RPCService rpcService) { + public void init(int gpgnetPort, int lobbyPort, RPCService rpcService, String lobbyInitMode) { INSTANCE = this; this.rpcService = rpcService; + this.lobbyInitMode = LobbyInitMode.getByName(lobbyInitMode); if (gpgnetPort == 0) { this.gpgnetPort = NetworkToolbox.findFreeTCPPort(20000, 65536);