mirror of
https://github.com/PaperMC/Waterfall.git
synced 2024-09-28 22:47:49 +02:00
Add warning and change messages
This commit is contained in:
parent
d7310c91ed
commit
85762524fb
@ -1,4 +1,4 @@
|
|||||||
From ba6e0e6d2baea3310434b8d2915b0d4a0f823ee0 Mon Sep 17 00:00:00 2001
|
From 08f6ce558f755e916b7a1eebff380a6f010acdcb Mon Sep 17 00:00:00 2001
|
||||||
From: "Five (Xer)" <admin@fivepb.me>
|
From: "Five (Xer)" <admin@fivepb.me>
|
||||||
Date: Wed, 23 Jun 2021 23:10:02 +0200
|
Date: Wed, 23 Jun 2021 23:10:02 +0200
|
||||||
Subject: [PATCH] Rework information forwarding
|
Subject: [PATCH] Rework information forwarding
|
||||||
@ -83,8 +83,27 @@ index d69463f0..59f61e47 100644
|
|||||||
+ */
|
+ */
|
||||||
+ ForwardingMode getForwardingMode();
|
+ ForwardingMode getForwardingMode();
|
||||||
}
|
}
|
||||||
|
diff --git a/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java b/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java
|
||||||
|
index 90031156..f1aad373 100644
|
||||||
|
--- a/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java
|
||||||
|
+++ b/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java
|
||||||
|
@@ -439,6 +439,14 @@ public final class PluginManager
|
||||||
|
Preconditions.checkNotNull( desc.getName(), "Plugin from %s has no name", file );
|
||||||
|
Preconditions.checkNotNull( desc.getMain(), "Plugin from %s has no main", file );
|
||||||
|
|
||||||
|
+ // Waterfall start: Forwarding rework
|
||||||
|
+ if(desc.getName().equals("BungeeGuard")) {
|
||||||
|
+ proxy.getLogger().warning("Detected the plugin BungeeGuard. " +
|
||||||
|
+ "Waterfall now supports the functionality this plugin provides natively. " +
|
||||||
|
+ "Please refer to the Waterfall documentation for more information.");
|
||||||
|
+ }
|
||||||
|
+ // Waterfall end: Forwarding rework
|
||||||
|
+
|
||||||
|
desc.setFile( file );
|
||||||
|
toLoad.put( desc.getName(), desc );
|
||||||
|
}
|
||||||
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
|
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
|
||||||
index 527f310e..a15112af 100644
|
index 527f310e..1b805015 100644
|
||||||
--- a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
|
--- a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
|
||||||
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
|
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
|
||||||
@@ -1,11 +1,16 @@
|
@@ -1,11 +1,16 @@
|
||||||
@ -92,67 +111,66 @@ index 527f310e..a15112af 100644
|
|||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
+import io.github.waterfallmc.waterfall.forwarding.ForwardingMode;
|
+import io.github.waterfallmc.waterfall.forwarding.ForwardingMode;
|
||||||
|
+import net.md_5.bungee.BungeeCord;
|
||||||
+import net.md_5.bungee.Util;
|
+import net.md_5.bungee.Util;
|
||||||
import net.md_5.bungee.conf.Configuration;
|
import net.md_5.bungee.conf.Configuration;
|
||||||
import net.md_5.bungee.conf.YamlConfig;
|
import net.md_5.bungee.conf.YamlConfig;
|
||||||
import net.md_5.bungee.protocol.ProtocolConstants;
|
import net.md_5.bungee.protocol.ProtocolConstants;
|
||||||
+import org.apache.logging.log4j.LogManager;
|
|
||||||
+import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
+import java.nio.charset.StandardCharsets;
|
+import java.nio.charset.StandardCharsets;
|
||||||
|
+import java.util.logging.Logger;
|
||||||
|
|
||||||
public class WaterfallConfiguration extends Configuration {
|
public class WaterfallConfiguration extends Configuration {
|
||||||
|
|
||||||
@@ -45,6 +50,11 @@ public class WaterfallConfiguration extends Configuration {
|
@@ -45,6 +50,9 @@ public class WaterfallConfiguration extends Configuration {
|
||||||
private boolean disableEntityMetadataRewrite = false;
|
private boolean disableEntityMetadataRewrite = false;
|
||||||
private boolean disableTabListRewrite = false;
|
private boolean disableTabListRewrite = false;
|
||||||
|
|
||||||
+ private ForwardingMode forwardingMode = ForwardingMode.BUNGEECORD_LEGACY;
|
+ private ForwardingMode forwardingMode = ForwardingMode.BUNGEECORD_LEGACY;
|
||||||
+ private byte[] forwardingSecret = Util.randomAlphanumericSequence(12);
|
+ private byte[] forwardingSecret = Util.randomAlphanumericSequence(12);
|
||||||
+
|
|
||||||
+ private static final Logger logger = LogManager.getLogger(WaterfallConfiguration.class);
|
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public void load() {
|
public void load() {
|
||||||
super.load();
|
super.load();
|
||||||
@@ -58,6 +68,35 @@ public class WaterfallConfiguration extends Configuration {
|
@@ -58,6 +66,36 @@ public class WaterfallConfiguration extends Configuration {
|
||||||
disableModernTabLimiter = config.getBoolean("disable_modern_tab_limiter", disableModernTabLimiter);
|
disableModernTabLimiter = config.getBoolean("disable_modern_tab_limiter", disableModernTabLimiter);
|
||||||
disableEntityMetadataRewrite = config.getBoolean("disable_entity_metadata_rewrite", disableEntityMetadataRewrite);
|
disableEntityMetadataRewrite = config.getBoolean("disable_entity_metadata_rewrite", disableEntityMetadataRewrite);
|
||||||
disableTabListRewrite = config.getBoolean("disable_tab_list_rewrite", disableTabListRewrite);
|
disableTabListRewrite = config.getBoolean("disable_tab_list_rewrite", disableTabListRewrite);
|
||||||
+ forwardingMode = ForwardingMode.valueOf(config.getString("forwarding_mode", ForwardingMode.BUNGEECORD_LEGACY.toString()).toUpperCase());
|
+ forwardingMode = ForwardingMode.valueOf(config.getString("forwarding_mode", ForwardingMode.BUNGEECORD_LEGACY.toString()).toUpperCase());
|
||||||
+
|
+ Logger logger = BungeeCord.getInstance().getLogger();
|
||||||
+ if(super.isIpForward()) {
|
+ if(super.isIpForward()) {
|
||||||
+ switch(forwardingMode) {
|
+ switch(forwardingMode) {
|
||||||
+ case BUNGEECORD_LEGACY:
|
+ case BUNGEECORD_LEGACY:
|
||||||
+ logger.info("Forwarding mode is set to Bungeecord/Legacy forwarding.");
|
+ logger.info("Forwarding mode is set to Bungeecord/Legacy forwarding. " +
|
||||||
+ logger.info("It is recommended to use another forwarding method to mitigate information spoofing attacks.");
|
+ "It is recommended to use another forwarding method to mitigate information spoofing attacks.");
|
||||||
+ break;
|
+ break;
|
||||||
+ case BUNGEEGUARD:
|
+ case BUNGEEGUARD:
|
||||||
+ logger.info("Forwarding mode is set to BungeeGuard forwarding.");
|
+ logger.info("Forwarding mode is set to BungeeGuard forwarding. " +
|
||||||
+ logger.info("Please ensure all connected servers make use of BungeeGuard for optimal security.");
|
+ "Please ensure all connected servers make use of BungeeGuard for optimal security.");
|
||||||
+ break;
|
+ break;
|
||||||
+ case VELOCITY_MODERN:
|
+ case VELOCITY_MODERN:
|
||||||
+ logger.info("Forwarding mode is set to Modern/Velocity forwarding.");
|
+ logger.info("Forwarding mode is set to modern/Velocity forwarding. " +
|
||||||
+ logger.info("If you need to use servers on versions older than 1.13 please use another forwarding type.");
|
+ "If you need to use versions older than 1.13 please use another forwarding type.");
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+ } else {
|
+ } else {
|
||||||
+ logger.warn("Information forwarding (ip-forwarding) is disabled. ");
|
+ logger.warning("Information forwarding (ip-forwarding) is disabled. " +
|
||||||
+ logger.warn("Player UUIDs may not be consistent across the servers.");
|
+ "Player UUIDs may not be consistent across the servers. " +
|
||||||
+ logger.warn("For the best experience enable ip_forward in the config.yml.");
|
+ "For the optimal experience please enable ip_forward in the config.yml and " +
|
||||||
|
+ "configure forwarding and on your servers.");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if(config.getString("forwarding_secret", "").isEmpty()) {
|
+ if(config.getString("forwarding_secret", "").isEmpty()) {
|
||||||
+ config.regenerateForwardingSecret();
|
+ config.regenerateForwardingSecret();
|
||||||
+ logger.info("A new forwarding secret has been generated. If this was the");
|
+ logger.warning("A new forwarding secret has been generated. If this was the " +
|
||||||
+ logger.info("first start of the proxy please configure forwarding for your network.");
|
+ "first start of the proxy please configure forwarding for your network.");
|
||||||
+ }
|
+ }
|
||||||
+ forwardingSecret = config.getString("forwarding_secret", "").getBytes(StandardCharsets.UTF_8);
|
+ forwardingSecret = config.getString("forwarding_secret", "").getBytes(StandardCharsets.UTF_8);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -94,4 +133,13 @@ public class WaterfallConfiguration extends Configuration {
|
@@ -94,4 +132,13 @@ public class WaterfallConfiguration extends Configuration {
|
||||||
public boolean isDisableTabListRewrite() {
|
public boolean isDisableTabListRewrite() {
|
||||||
return disableTabListRewrite;
|
return disableTabListRewrite;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user