From f57f2dd585504c54ed2f45f42281122729ab390b Mon Sep 17 00:00:00 2001 From: MoeGrid Date: Tue, 18 Mar 2025 00:19:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=80=E5=90=AFallnet.serv?= =?UTF-8?q?er.check-keychip=E6=97=B6SDED=E6=A3=80=E6=9F=A5=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E7=BD=91=E7=BB=9CBAD=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/impl/GetGameConnectHandler.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/icu/samnyan/aqua/sega/cardmaker/handler/impl/GetGameConnectHandler.java b/src/main/java/icu/samnyan/aqua/sega/cardmaker/handler/impl/GetGameConnectHandler.java index beaa2473..46b139ba 100644 --- a/src/main/java/icu/samnyan/aqua/sega/cardmaker/handler/impl/GetGameConnectHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/cardmaker/handler/impl/GetGameConnectHandler.java @@ -1,9 +1,11 @@ package icu.samnyan.aqua.sega.cardmaker.handler.impl; import com.fasterxml.jackson.core.JsonProcessingException; +import icu.samnyan.aqua.sega.allnet.KeychipSession; import icu.samnyan.aqua.sega.general.BaseHandler; import icu.samnyan.aqua.sega.cardmaker.model.response.data.GameConnect; import icu.samnyan.aqua.sega.util.jackson.BasicMapper; +import icu.samnyan.aqua.sega.allnet.TokenChecker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -32,7 +34,7 @@ public class GetGameConnectHandler implements BaseHandler { @Autowired public GetGameConnectHandler(BasicMapper mapper, @Value("${allnet.server.host:}") String ALLNET_HOST, - @Value("${allnet.server.port:}") String ALLNET_PORT, @Value("${server.port:}") String SERVER_PORT) { + @Value("${allnet.server.port:}") String ALLNET_PORT, @Value("${server.port:}") String SERVER_PORT) { this.mapper = mapper; this.ALLNET_HOST = ALLNET_HOST; this.ALLNET_PORT = ALLNET_PORT; @@ -43,7 +45,8 @@ public class GetGameConnectHandler implements BaseHandler { public String handle(Map request) throws JsonProcessingException { int type = ((Number) request.get("type")).intValue(); // Allnet enabled or not long version = ((Number) request.get("version")).longValue(); // Rom version - + KeychipSession session = TokenChecker.Companion.getCurrentSession(); + // Unless ip and port is explicitly overridden, use the guessed ip and port as same as AllNet Controller does. String localAddr; try { @@ -56,10 +59,11 @@ public class GetGameConnectHandler implements BaseHandler { String addr = ALLNET_HOST.equals("") ? localAddr : ALLNET_HOST; String port = ALLNET_PORT.equals("") ? SERVER_PORT : ALLNET_PORT; + String base = session == null ? "/g" : "/gs/" + session.getToken(); List gameConnectList = new ArrayList<>(); - GameConnect chuni = new GameConnect(0, 1, "http://" + addr + ":" + port + "/g/chu3/" + version + "/"); - GameConnect mai = new GameConnect(1, 1, "http://" + addr + ":" + port + "/g/mai2/"); - GameConnect ongeki = new GameConnect(2, 1, "http://" + addr + ":" + port + "/g/ongeki/"); + GameConnect chuni = new GameConnect(0, 1, "http://" + addr + ":" + port + base + "/chu3/" + version + "/"); + GameConnect mai = new GameConnect(1, 1, "http://" + addr + ":" + port + base + "/mai2/"); + GameConnect ongeki = new GameConnect(2, 1, "http://" + addr + ":" + port + base + "/ongeki/"); gameConnectList.add(chuni); gameConnectList.add(mai); gameConnectList.add(ongeki);