Skip to content

Commit

Permalink
Add -game and -dispatch startup arguments that override the run m…
Browse files Browse the repository at this point in the history
…ode in the config
  • Loading branch information
Melledy authored and Melledy committed Sep 19, 2022
1 parent 0d64e2e commit a90455a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/main/java/emu/grasscutter/Grasscutter.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ public final class Grasscutter {
private static Language language;

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.
@Getter @Setter private static String preferredLanguage;
Expand Down Expand Up @@ -141,7 +142,7 @@ public static void main(String[] args) throws Exception {
httpServer.addRouter(DocumentationServerHandler.class);

// Start servers.
var runMode = SERVER.runMode;
var runMode = Grasscutter.getRunMode();
if (runMode == ServerRunMode.HYBRID) {
httpServer.start();
gameServer.start();
Expand Down Expand Up @@ -245,6 +246,10 @@ public static void setLanguage(Language language) {
public static Language getLanguage(String langCode) {
return Language.getLanguage(langCode);
}

public static ServerRunMode getRunMode() {
return Grasscutter.runModeOverride != null ? Grasscutter.runModeOverride : SERVER.runMode;
}

public static Logger getLogger() {
return log;
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/emu/grasscutter/utils/StartupArguments.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import ch.qos.logback.classic.Logger;
import emu.grasscutter.BuildConfig;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.Grasscutter.ServerRunMode;
import emu.grasscutter.net.packet.PacketOpcodesUtils;
import io.javalin.core.util.JavalinLogger;
import org.slf4j.LoggerFactory;
Expand All @@ -28,6 +29,10 @@ private StartupArguments() {
"-debug", StartupArguments::enableDebug,
"-lang", parameter -> {
Grasscutter.setPreferredLanguage(parameter); return false;
},"-game", parameter -> {
Grasscutter.setRunModeOverride(ServerRunMode.GAME_ONLY); return false;
},"-dispatch", parameter -> {
Grasscutter.setRunModeOverride(ServerRunMode.DISPATCH_ONLY); return false;
},

// Aliases.
Expand Down

0 comments on commit a90455a

Please sign in to comment.