mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-23 21:29:51 +08:00
Reflections change & Start HTTP before game server
This commit is contained in:
@@ -1,8 +1,5 @@
|
||||
package emu.grasscutter;
|
||||
|
||||
import static emu.grasscutter.config.Configuration.SERVER;
|
||||
import static emu.grasscutter.utils.lang.Language.translate;
|
||||
|
||||
import ch.qos.logback.classic.*;
|
||||
import emu.grasscutter.auth.*;
|
||||
import emu.grasscutter.command.*;
|
||||
@@ -21,16 +18,20 @@ import emu.grasscutter.tools.Tools;
|
||||
import emu.grasscutter.utils.*;
|
||||
import emu.grasscutter.utils.lang.Language;
|
||||
import io.netty.util.concurrent.FastThreadLocalThread;
|
||||
import java.io.*;
|
||||
import java.util.Calendar;
|
||||
import java.util.concurrent.*;
|
||||
import javax.annotation.Nullable;
|
||||
import lombok.*;
|
||||
import org.jline.reader.*;
|
||||
import org.jline.terminal.*;
|
||||
import org.reflections.Reflections;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.*;
|
||||
import java.util.Calendar;
|
||||
import java.util.concurrent.*;
|
||||
|
||||
import static emu.grasscutter.config.Configuration.SERVER;
|
||||
import static emu.grasscutter.utils.lang.Language.translate;
|
||||
|
||||
public final class Grasscutter {
|
||||
public static final File configFile = new File("./config.json");
|
||||
public static final Reflections reflector = new Reflections("emu.grasscutter");
|
||||
@@ -108,15 +109,6 @@ public final class Grasscutter {
|
||||
logger.info(translate("messages.status.game_version", GameConstants.VERSION));
|
||||
logger.info(translate("messages.status.version", BuildConfig.VERSION, BuildConfig.GIT_HASH));
|
||||
|
||||
if (runMode != ServerRunMode.DISPATCH_ONLY) {
|
||||
// Load all resources.
|
||||
Grasscutter.updateDayOfWeek();
|
||||
ResourceLoader.loadAll();
|
||||
|
||||
// Generate handbooks.
|
||||
Tools.createGmHandbooks(false);
|
||||
}
|
||||
|
||||
// Initialize database.
|
||||
DatabaseManager.initialize();
|
||||
|
||||
@@ -150,16 +142,31 @@ public final class Grasscutter {
|
||||
httpServer.addRouter(HandbookHandler.class);
|
||||
}
|
||||
|
||||
// Check if the HTTP server should start.
|
||||
var started = config.server.http.startImmediately;
|
||||
if (started) {
|
||||
Grasscutter.getLogger().info("HTTP server is starting...");
|
||||
Grasscutter.startDispatch();
|
||||
|
||||
Grasscutter.getLogger().info("Game server is starting...");
|
||||
}
|
||||
|
||||
// Load resources.
|
||||
if (runMode != ServerRunMode.DISPATCH_ONLY) {
|
||||
// Load all resources.
|
||||
Grasscutter.updateDayOfWeek();
|
||||
ResourceLoader.loadAll();
|
||||
|
||||
// Generate handbooks.
|
||||
Tools.createGmHandbooks(false);
|
||||
}
|
||||
|
||||
// Start servers.
|
||||
if (runMode == ServerRunMode.HYBRID) {
|
||||
httpServer.start();
|
||||
if (!started) Grasscutter.startDispatch();
|
||||
gameServer.start();
|
||||
} else if (runMode == ServerRunMode.DISPATCH_ONLY) {
|
||||
httpServer.start();
|
||||
|
||||
// Start dispatch server.
|
||||
dispatchServer = new DispatchServer("0.0.0.0", 1111);
|
||||
dispatchServer.start();
|
||||
if (!started) Grasscutter.startDispatch();
|
||||
} else if (runMode == ServerRunMode.GAME_ONLY) {
|
||||
gameServer.start();
|
||||
} else {
|
||||
@@ -204,6 +211,20 @@ public final class Grasscutter {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility method for starting the:
|
||||
* - SDK server
|
||||
* - Dispatch server
|
||||
*/
|
||||
public static void startDispatch() throws Exception {
|
||||
httpServer.start(); // Start the SDK/HTTP server.
|
||||
|
||||
if (Grasscutter.getRunMode() == ServerRunMode.DISPATCH_ONLY) {
|
||||
dispatchServer = new DispatchServer("0.0.0.0", 1111); // Create the dispatch server.
|
||||
dispatchServer.start(); // Start the dispatch server.
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Methods for the language system component.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user