mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-06-02 00:20:43 +08:00
Merge changes from hamusuke (#1)
This commit is contained in:
@@ -1,20 +1,17 @@
|
||||
package emu.grasscutter.server.http.dispatch;
|
||||
|
||||
import static emu.grasscutter.utils.lang.Language.translate;
|
||||
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.auth.AuthenticationSystem;
|
||||
import emu.grasscutter.auth.OAuthAuthenticator.ClientType;
|
||||
import emu.grasscutter.server.http.Router;
|
||||
import emu.grasscutter.server.http.objects.ComboTokenReqJson;
|
||||
import emu.grasscutter.server.http.objects.*;
|
||||
import emu.grasscutter.server.http.objects.ComboTokenReqJson.LoginTokenData;
|
||||
import emu.grasscutter.server.http.objects.LoginAccountRequestJson;
|
||||
import emu.grasscutter.server.http.objects.LoginTokenRequestJson;
|
||||
import emu.grasscutter.utils.JsonUtils;
|
||||
import emu.grasscutter.utils.Utils;
|
||||
import emu.grasscutter.utils.*;
|
||||
import io.javalin.Javalin;
|
||||
import io.javalin.http.Context;
|
||||
|
||||
import static emu.grasscutter.utils.lang.Language.translate;
|
||||
|
||||
/** Handles requests related to authentication. */
|
||||
public final class AuthenticationHandler implements Router {
|
||||
/**
|
||||
@@ -38,7 +35,7 @@ public final class AuthenticationHandler implements Router {
|
||||
|
||||
// Log to console.
|
||||
Grasscutter.getLogger()
|
||||
.info(translate("messages.dispatch.account.login_attempt", Utils.address(ctx)));
|
||||
.debug(translate("messages.dispatch.account.login_attempt", Utils.address(ctx)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,7 +59,7 @@ public final class AuthenticationHandler implements Router {
|
||||
|
||||
// Log to console.
|
||||
Grasscutter.getLogger()
|
||||
.info(translate("messages.dispatch.account.login_attempt", Utils.address(ctx)));
|
||||
.debug(translate("messages.dispatch.account.login_attempt", Utils.address(ctx)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -89,7 +86,7 @@ public final class AuthenticationHandler implements Router {
|
||||
|
||||
// Log to console.
|
||||
Grasscutter.getLogger()
|
||||
.info(translate("messages.dispatch.account.login_attempt", Utils.address(ctx)));
|
||||
.debug(translate("messages.dispatch.account.login_attempt", Utils.address(ctx)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -235,15 +235,15 @@ public final class RegionHandler implements Router {
|
||||
|
||||
// Get region data.
|
||||
String regionData = "CAESGE5vdCBGb3VuZCB2ZXJzaW9uIGNvbmZpZw==";
|
||||
if (ctx.queryParamMap().values().size() > 0) {
|
||||
if (!ctx.queryParamMap().values().isEmpty()) {
|
||||
if (region != null) regionData = region.getBase64();
|
||||
}
|
||||
|
||||
String clientVersion = versionName.replaceAll(Pattern.compile("[a-zA-Z]").pattern(), "");
|
||||
String[] versionCode = clientVersion.split("\\.");
|
||||
int versionMajor = Integer.parseInt(versionCode[0]);
|
||||
int versionMinor = Integer.parseInt(versionCode[1]);
|
||||
int versionFix = Integer.parseInt(versionCode[2]);
|
||||
var clientVersion = versionName.replaceAll(Pattern.compile("[a-zA-Z]").pattern(), "");
|
||||
var versionCode = clientVersion.split("\\.");
|
||||
var versionMajor = Integer.parseInt(versionCode[0]);
|
||||
var versionMinor = Integer.parseInt(versionCode[1]);
|
||||
var versionFix = Integer.parseInt(versionCode[2]);
|
||||
|
||||
if (versionMajor >= 3
|
||||
|| (versionMajor == 2 && versionMinor == 7 && versionFix >= 50)
|
||||
@@ -254,8 +254,12 @@ public final class RegionHandler implements Router {
|
||||
|
||||
String key_id = ctx.queryParam("key_id");
|
||||
|
||||
if (!clientVersion.equals(
|
||||
GameConstants.VERSION)) { // Reject clients when there is a version mismatch
|
||||
if (
|
||||
versionMajor != GameConstants.VERSION_PARTS[0] ||
|
||||
versionMinor != GameConstants.VERSION_PARTS[1]
|
||||
// The 'fix' or 'patch' version is not checked because it is only used
|
||||
// when miHoYo is desperate and fucks up big time.
|
||||
) { // Reject clients when there is a version mismatch
|
||||
|
||||
boolean updateClient = GameConstants.VERSION.compareTo(clientVersion) > 0;
|
||||
|
||||
@@ -268,7 +272,7 @@ public final class RegionHandler implements Router {
|
||||
StopServerInfo.newBuilder()
|
||||
.setUrl("https://discord.gg/grasscutters")
|
||||
.setStopBeginTime((int) Instant.now().getEpochSecond())
|
||||
.setStopEndTime((int) Instant.now().getEpochSecond() * 2)
|
||||
.setStopEndTime((int) Instant.now().getEpochSecond() + 1)
|
||||
.setContentMsg(
|
||||
updateClient
|
||||
? "\nVersion mismatch outdated client! \n\nServer version: %s\nClient version: %s"
|
||||
@@ -279,7 +283,7 @@ public final class RegionHandler implements Router {
|
||||
.buildPartial();
|
||||
|
||||
Grasscutter.getLogger()
|
||||
.info(
|
||||
.debug(
|
||||
String.format(
|
||||
"Connection denied for %s due to %s.",
|
||||
Utils.address(ctx), updateClient ? "outdated client!" : "outdated server!"));
|
||||
|
||||
@@ -4,7 +4,7 @@ import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.command.CommandMap;
|
||||
import emu.grasscutter.data.GameData;
|
||||
import emu.grasscutter.data.excels.ItemData;
|
||||
import emu.grasscutter.data.excels.SceneData;
|
||||
import emu.grasscutter.data.excels.scene.SceneData;
|
||||
import emu.grasscutter.data.excels.avatar.AvatarData;
|
||||
import emu.grasscutter.data.excels.monster.MonsterData;
|
||||
import emu.grasscutter.utils.FileUtils;
|
||||
|
||||
Reference in New Issue
Block a user