diff --git a/src/main/java/eu/mhsl/craftattack/proxy/appliances/signup/Signup.java b/src/main/java/eu/mhsl/craftattack/proxy/appliances/signup/Signup.java index bd51fa3..41e12e4 100644 --- a/src/main/java/eu/mhsl/craftattack/proxy/appliances/signup/Signup.java +++ b/src/main/java/eu/mhsl/craftattack/proxy/appliances/signup/Signup.java @@ -88,7 +88,7 @@ public final class Signup extends Appliance { return switch (phase) { case BEFORE, OPEN -> Target.CRAFTATTACK; case LOGIN -> Target.LOGIN; - case LATE -> signedUp == Status.NOT_FOUND ? Target.CRAFTATTACK : Target.LOGIN; + case LATE -> signedUp == Status.FOUND ? Target.CRAFTATTACK : Target.LOGIN; }; } diff --git a/src/main/java/eu/mhsl/craftattack/proxy/appliances/signup/SignupApi.java b/src/main/java/eu/mhsl/craftattack/proxy/appliances/signup/SignupApi.java index 9efe2b6..3cc9541 100644 --- a/src/main/java/eu/mhsl/craftattack/proxy/appliances/signup/SignupApi.java +++ b/src/main/java/eu/mhsl/craftattack/proxy/appliances/signup/SignupApi.java @@ -69,7 +69,7 @@ final class SignupApi { static Set uuids(String json) { Set uuids = new HashSet<>(); - for (JsonElement entry : JsonParser.parseString(json).getAsJsonArray()) { + for (JsonElement entry : JsonParser.parseString(json).getAsJsonObject().getAsJsonArray("uuid")) { String uuid = entry.getAsString().trim().toLowerCase(Locale.ROOT); if (uuid.length() == 32) uuid = uuid.replaceFirst("(.{8})(.{4})(.{4})(.{4})(.{12})", "$1-$2-$3-$4-$5"); uuids.add(UUID.fromString(uuid)); diff --git a/src/main/resources/config.properties b/src/main/resources/config.properties index 4a59cd5..db3fb77 100644 --- a/src/main/resources/config.properties +++ b/src/main/resources/config.properties @@ -60,12 +60,12 @@ signup.timezone=Europe/Berlin # Website wie api.url und api.secret im Login-Server (mit oder ohne /api am Ende), Secret wie # API_SECRET der Website. Angemeldet: GET /api/users/. -# Nachträgliche Anmeldung: GET /api/ gibt eine JSON-Liste aller UUIDs zurück, -# die sich nachträglich anmelden dürfen, z. B. ["069a79f4-44e9-4726-a5be-fca90e38aaf5"]. +# Nachträgliche Anmeldung: GET /api/ gibt ein JSON-Objekt mit UUID-Liste +# zurück, z. B. {"uuid":["069a79f4-44e9-4726-a5be-fca90e38aaf5"]}. # Antwortet die Website nicht, kommt der Spieler auf login-server, wenn er dort hin könnte. signup.api-url= signup.api-secret= -signup.late-signup-path=signup +signup.late-signup-path=whitelist signup.timeout-seconds=5 # Spieler auf login-server werden so oft (Sekunden) neu geprüft. Wer sich angemeldet hat, wird vor