diff --git a/pom.xml b/pom.xml index 44bb4a0..538871d 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.glyart.authmevelocity parent pom - 2.0.0 + 2.0.1 11 diff --git a/proxy/pom.xml b/proxy/pom.xml index 630adb5..9ad9c01 100644 --- a/proxy/pom.xml +++ b/proxy/pom.xml @@ -5,7 +5,7 @@ parent com.glyart.authmevelocity - 2.0.0 + 2.0.1 4.0.0 @@ -31,7 +31,7 @@ com.velocitypowered velocity-api - 3.1.1 + 3.1.2-SNAPSHOT provided diff --git a/proxy/src/main/java/com/glyart/authmevelocity/proxy/config/AuthMeConfig.java b/proxy/src/main/java/com/glyart/authmevelocity/proxy/config/AuthMeConfig.java index 74d2372..01eb39a 100644 --- a/proxy/src/main/java/com/glyart/authmevelocity/proxy/config/AuthMeConfig.java +++ b/proxy/src/main/java/com/glyart/authmevelocity/proxy/config/AuthMeConfig.java @@ -16,8 +16,8 @@ public final class AuthMeConfig { public AuthMeConfig(@NotNull Toml toml){ this.authServers = toml.getList("authServers", List.of("auth1", "auth2")); this.serverOnLogin = ConfigUtils.getOrElse(toml, "SendOnLogin", new ServerOnLogin(false, List.of("lobby1", "lobby2"))); - this.commands = ConfigUtils.getOrElse(toml, "Commands", new Commands(Set.of("login", "register", "l", "reg", "email", "captcha"),"&4You cannot execute commands if you are not logged in yet")); - this.ensure = ConfigUtils.getOrElse(toml, "EnsureAuthServer", new EnsureAuthServer(false, "&4You could not connect to a login server, please try again later")); + this.commands = ConfigUtils.getOrElse(toml, "Commands", new Commands(Set.of("login", "register", "l", "reg", "email", "captcha"),"You cannot execute commands if you are not logged in yet")); + this.ensure = ConfigUtils.getOrElse(toml, "EnsureAuthServer", new EnsureAuthServer(false, "You could not connect to a login server, please try again later")); } public static class ServerOnLogin { diff --git a/proxy/src/main/java/com/glyart/authmevelocity/proxy/config/ConfigUtils.java b/proxy/src/main/java/com/glyart/authmevelocity/proxy/config/ConfigUtils.java index f1d6120..d9b8afd 100644 --- a/proxy/src/main/java/com/glyart/authmevelocity/proxy/config/ConfigUtils.java +++ b/proxy/src/main/java/com/glyart/authmevelocity/proxy/config/ConfigUtils.java @@ -3,21 +3,31 @@ package com.glyart.authmevelocity.proxy.config; import com.moandjiezana.toml.Toml; import com.velocitypowered.api.proxy.Player; +import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; public final class ConfigUtils { + /** + * Legacy Serializer + * @deprecated use {@link ConfigUtils#MINIMESSAGE} + */ + @Deprecated(forRemoval = true) public static final LegacyComponentSerializer SERIALIZER = LegacyComponentSerializer.builder() .character('&').hexColors().hexCharacter('#').build(); + public static final MiniMessage MINIMESSAGE = MiniMessage.miniMessage(); public static void sendBlockedMessage(Player player, AuthMeConfig config){ String blockedMessage = config.getCommandsConfig().getBlockedMessage(); if(!blockedMessage.isBlank()){ - player.sendMessage(SERIALIZER.deserialize(blockedMessage)); + player.sendMessage(blockedMessage.indexOf('&') != -1 + ? SERIALIZER.deserialize(blockedMessage) + : MINIMESSAGE.deserialize(blockedMessage) + ); } } @SuppressWarnings("unchecked") - static T getOrElse(Toml config, String key, T defaultValue){ + static T getOrElse(Toml config, String key, T defaultValue){ Toml configTable = config.getTable(key); return configTable == null ? defaultValue : (T)configTable.to(defaultValue.getClass()); } diff --git a/proxy/src/main/java/com/glyart/authmevelocity/proxy/listener/PluginMessageListener.java b/proxy/src/main/java/com/glyart/authmevelocity/proxy/listener/PluginMessageListener.java index f7af0bf..9cc7679 100644 --- a/proxy/src/main/java/com/glyart/authmevelocity/proxy/listener/PluginMessageListener.java +++ b/proxy/src/main/java/com/glyart/authmevelocity/proxy/listener/PluginMessageListener.java @@ -89,8 +89,8 @@ public class PluginMessageListener { proxy.getServer(randomServer).ifPresentOrElse(serverToSend -> proxy.getEventManager().fire(new PreSendOnLoginEvent(loggedPlayer, loginServer, serverToSend)).thenAcceptAsync(preSendEvent -> { if(preSendEvent.getResult().isAllowed()){ - loggedPlayer.createConnectionRequest(serverToSend).connect().thenAcceptAsync(result -> { - if(!result.isSuccessful()) { + loggedPlayer.createConnectionRequest(serverToSend).connectWithIndication().thenAcceptAsync(result -> { + if(!result.booleanValue()) { logger.info("Unable to connect the player {} to the server {}", loggedPlayer.getUsername(), serverToSend.getServerInfo().getName()); diff --git a/proxy/src/main/java/com/glyart/authmevelocity/proxy/listener/ProxyListener.java b/proxy/src/main/java/com/glyart/authmevelocity/proxy/listener/ProxyListener.java index 6cb963f..32b5b72 100644 --- a/proxy/src/main/java/com/glyart/authmevelocity/proxy/listener/ProxyListener.java +++ b/proxy/src/main/java/com/glyart/authmevelocity/proxy/listener/ProxyListener.java @@ -115,7 +115,10 @@ public final class ProxyListener { if(server == null) { continuation.resume(); logger.error("Cannot send the player {} to an auth server", event.getPlayer().getUsername()); - event.getPlayer().disconnect(ConfigUtils.SERIALIZER.deserialize(config.getEnsureOptions().getDisconnectMessage())); + String disconnectMessage = config.getEnsureOptions().getDisconnectMessage(); + event.getPlayer().disconnect(disconnectMessage.indexOf('&') != -1 + ? ConfigUtils.SERIALIZER.deserialize(config.getEnsureOptions().getDisconnectMessage()) + : ConfigUtils.MINIMESSAGE.deserialize(disconnectMessage)); return; } event.setInitialServer(server); diff --git a/spigot/pom.xml b/spigot/pom.xml index e12f54e..8384ac8 100644 --- a/spigot/pom.xml +++ b/spigot/pom.xml @@ -5,7 +5,7 @@ parent com.glyart.authmevelocity - 2.0.0 + 2.0.1 4.0.0