Separate the dispatch and game servers (pt. 1)

gacha is still broken, handbook still needs to be done
This commit is contained in:
KingRainbow44
2023-05-15 00:43:16 -04:00
Unverified
parent 97fbbdca84
commit bcc9ae10cd
28 changed files with 1225 additions and 379 deletions
@@ -1,7 +1,5 @@
package emu.grasscutter.server.http.dispatch;
import static emu.grasscutter.config.Configuration.*;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.protobuf.ByteString;
@@ -23,11 +21,15 @@ import emu.grasscutter.utils.JsonUtils;
import emu.grasscutter.utils.Utils;
import io.javalin.Javalin;
import io.javalin.http.Context;
import org.slf4j.Logger;
import java.time.Instant;
import java.util.*;
import java.util.ArrayList;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Pattern;
import org.slf4j.Logger;
import static emu.grasscutter.config.Configuration.*;
/** Handles requests related to region queries. */
public final class RegionHandler implements Router {
@@ -57,8 +59,8 @@ public final class RegionHandler implements Router {
var servers = new ArrayList<RegionSimpleInfo>();
var usedNames = new ArrayList<String>(); // List to check for potential naming conflicts.
var configuredRegions = new ArrayList<>(List.of(DISPATCH_INFO.regions));
if (SERVER.runMode != ServerRunMode.HYBRID && configuredRegions.size() == 0) {
var configuredRegions = new ArrayList<>(DISPATCH_INFO.regions);
if (Grasscutter.getRunMode() != ServerRunMode.HYBRID && configuredRegions.size() == 0) {
Grasscutter.getLogger()
.error(
"[Dispatch] There are no game servers available. Exiting due to unplayable state.");
@@ -340,6 +342,7 @@ public final class RegionHandler implements Router {
* @return A {@link QueryCurrRegionHttpRsp} object.
*/
public static QueryCurrRegionHttpRsp getCurrentRegion() {
return SERVER.runMode == ServerRunMode.HYBRID ? regions.get("os_usa").getRegionQuery() : null;
return Grasscutter.getRunMode() == ServerRunMode.HYBRID ?
regions.get("os_usa").getRegionQuery() : null;
}
}