mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 15:49:00 +01:00
344d299d69
While Velocity supports BungeeCord-style IP forwarding, it is not secure. Users have a lot of problems setting up firewalls or setting up plugins like IPWhitelist. Further, the BungeeCord IP forwarding protocol still retains essentially its original form, when there is brand new support for custom login plugin messages in 1.13. Velocity's modern IP forwarding uses an HMAC-SHA256 code to ensure authenticity of messages, is packed into a binary format that is smaller than BungeeCord's forwarding, and is integrated into the Minecraft login process by using the 1.13 login plugin message packet.
44 lines
No EOL
2.5 KiB
Diff
44 lines
No EOL
2.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Riley Park <rileysebastianpark@gmail.com>
|
|
Date: Thu, 17 Aug 2017 16:08:20 -0700
|
|
Subject: [PATCH] Allow specifying a custom "authentication servers down" kick
|
|
message
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
index 963096fb3..a499578db 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
@@ -0,0 +0,0 @@
|
|
package com.destroystokyo.paper;
|
|
|
|
+import com.google.common.base.Strings;
|
|
import com.google.common.base.Throwables;
|
|
|
|
import java.io.File;
|
|
@@ -0,0 +0,0 @@ public class PaperConfig {
|
|
private static void suggestPlayersWhenNull() {
|
|
suggestPlayersWhenNullTabCompletions = getBoolean("settings.suggest-player-names-when-null-tab-completions", suggestPlayersWhenNullTabCompletions);
|
|
}
|
|
+
|
|
+ public static String authenticationServersDownKickMessage = ""; // empty = use translatable message
|
|
+ private static void authenticationServersDownKickMessage() {
|
|
+ authenticationServersDownKickMessage = Strings.emptyToNull(getString("messages.kick.authentication-servers-down", authenticationServersDownKickMessage));
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
|
|
index 8bbea9624..10c82107d 100644
|
|
--- a/src/main/java/net/minecraft/server/LoginListener.java
|
|
+++ b/src/main/java/net/minecraft/server/LoginListener.java
|
|
@@ -0,0 +0,0 @@ public class LoginListener implements PacketLoginInListener, ITickable {
|
|
LoginListener.this.i = LoginListener.this.a(gameprofile);
|
|
LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
|
|
} else {
|
|
+ // Paper start
|
|
+ if (com.destroystokyo.paper.PaperConfig.authenticationServersDownKickMessage != null) {
|
|
+ LoginListener.this.disconnect(new ChatComponentText(com.destroystokyo.paper.PaperConfig.authenticationServersDownKickMessage));
|
|
+ } else // Paper end
|
|
LoginListener.this.disconnect(new ChatMessage("multiplayer.disconnect.authservers_down", new Object[0]));
|
|
LoginListener.c.error("Couldn\'t verify username because servers are unavailable");
|
|
}
|
|
--
|