Unverified Commit a90455a7 authored by Melledy's avatar Melledy
Browse files

Add `-game` and `-dispatch` startup arguments that override the run mode in the config

parent 0d64e2e8
...@@ -56,6 +56,7 @@ public final class Grasscutter { ...@@ -56,6 +56,7 @@ public final class Grasscutter {
private static Language language; private static Language language;
public static final File configFile = new File("./config.json"); public static final File configFile = new File("./config.json");
@Setter private static ServerRunMode runModeOverride = null; // Config override for run mode
private static int day; // Current day of week. private static int day; // Current day of week.
@Getter @Setter private static String preferredLanguage; @Getter @Setter private static String preferredLanguage;
...@@ -141,7 +142,7 @@ public final class Grasscutter { ...@@ -141,7 +142,7 @@ public final class Grasscutter {
httpServer.addRouter(DocumentationServerHandler.class); httpServer.addRouter(DocumentationServerHandler.class);
// Start servers. // Start servers.
var runMode = SERVER.runMode; var runMode = Grasscutter.getRunMode();
if (runMode == ServerRunMode.HYBRID) { if (runMode == ServerRunMode.HYBRID) {
httpServer.start(); httpServer.start();
gameServer.start(); gameServer.start();
...@@ -246,6 +247,10 @@ public final class Grasscutter { ...@@ -246,6 +247,10 @@ public final class Grasscutter {
return Language.getLanguage(langCode); return Language.getLanguage(langCode);
} }
public static ServerRunMode getRunMode() {
return Grasscutter.runModeOverride != null ? Grasscutter.runModeOverride : SERVER.runMode;
}
public static Logger getLogger() { public static Logger getLogger() {
return log; return log;
} }
......
...@@ -4,6 +4,7 @@ import ch.qos.logback.classic.Level; ...@@ -4,6 +4,7 @@ import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.Logger;
import emu.grasscutter.BuildConfig; import emu.grasscutter.BuildConfig;
import emu.grasscutter.Grasscutter; import emu.grasscutter.Grasscutter;
import emu.grasscutter.Grasscutter.ServerRunMode;
import emu.grasscutter.net.packet.PacketOpcodesUtils; import emu.grasscutter.net.packet.PacketOpcodesUtils;
import io.javalin.core.util.JavalinLogger; import io.javalin.core.util.JavalinLogger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -28,6 +29,10 @@ public final class StartupArguments { ...@@ -28,6 +29,10 @@ public final class StartupArguments {
"-debug", StartupArguments::enableDebug, "-debug", StartupArguments::enableDebug,
"-lang", parameter -> { "-lang", parameter -> {
Grasscutter.setPreferredLanguage(parameter); return false; Grasscutter.setPreferredLanguage(parameter); return false;
},"-game", parameter -> {
Grasscutter.setRunModeOverride(ServerRunMode.GAME_ONLY); return false;
},"-dispatch", parameter -> {
Grasscutter.setRunModeOverride(ServerRunMode.DISPATCH_ONLY); return false;
}, },
// Aliases. // Aliases.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment