From 23f94b9de92cf608ddf125099b459f56d09ce896 Mon Sep 17 00:00:00 2001 From: TheBjoRedCraft Date: Wed, 14 Jan 2026 13:01:59 +0100 Subject: [PATCH] feat(player-connection): add config option to disable errors from player while they cant connect to a backend server. --- .../proxy/config/VelocityConfiguration.java | 12 ++++++++++++ .../proxy/connection/client/ConnectedPlayer.java | 6 ++++-- proxy/src/main/resources/default-velocity.toml | 3 +++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/proxy/src/main/java/com/velocitypowered/proxy/config/VelocityConfiguration.java b/proxy/src/main/java/com/velocitypowered/proxy/config/VelocityConfiguration.java index 6f0fb61cc5..f2b6777b23 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/config/VelocityConfiguration.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/config/VelocityConfiguration.java @@ -437,6 +437,10 @@ public boolean isLogPlayerConnections() { return advanced.isLogPlayerConnections(); } + public boolean isLogConnectionErrors() { + return advanced.isLogConnectionErrors(); + } + public boolean isAcceptTransfers() { return this.advanced.isAcceptTransfers(); } @@ -764,6 +768,8 @@ private static class Advanced { @Expose private boolean logPlayerConnections = true; @Expose + private boolean logConnectionErrors = true; + @Expose private boolean acceptTransfers = false; @Expose private boolean enableReusePort = false; @@ -801,6 +807,7 @@ private Advanced(CommentedConfig config) { this.announceProxyCommands = config.getOrElse("announce-proxy-commands", true); this.logCommandExecutions = config.getOrElse("log-command-executions", false); this.logPlayerConnections = config.getOrElse("log-player-connections", true); + this.logConnectionErrors = config.getOrElse("log-connection-errors", true); this.acceptTransfers = config.getOrElse("accepts-transfers", false); this.enableReusePort = config.getOrElse("enable-reuse-port", false); this.commandRateLimit = config.getIntOrElse("command-rate-limit", 25); @@ -867,6 +874,10 @@ public boolean isLogPlayerConnections() { return logPlayerConnections; } + public boolean isLogConnectionErrors() { + return logConnectionErrors; + } + public boolean isAcceptTransfers() { return this.acceptTransfers; } @@ -911,6 +922,7 @@ public String toString() { + ", announceProxyCommands=" + announceProxyCommands + ", logCommandExecutions=" + logCommandExecutions + ", logPlayerConnections=" + logPlayerConnections + + ", logConnectionErrors=" + logConnectionErrors + ", acceptTransfers=" + acceptTransfers + ", enableReusePort=" + enableReusePort + '}'; diff --git a/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java b/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java index 0807789f27..598ebc0c35 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java @@ -715,8 +715,10 @@ public void handleConnectionException(RegisteredServer server, Throwable throwab friendlyError = Component.translatable("velocity.error.connected-server-error", Component.text(server.getServerInfo().getName())); } else { - logger.error("{}: unable to connect to server {}", this, server.getServerInfo().getName(), - wrapped); + if(this.server.getConfiguration().isLogConnectionErrors()) { + logger.error("{}: unable to connect to server {}", this, server.getServerInfo().getName(), + wrapped); + } friendlyError = Component.translatable("velocity.error.connecting-server-error", Component.text(server.getServerInfo().getName())); } diff --git a/proxy/src/main/resources/default-velocity.toml b/proxy/src/main/resources/default-velocity.toml index 4d71e589b9..e51a288b19 100644 --- a/proxy/src/main/resources/default-velocity.toml +++ b/proxy/src/main/resources/default-velocity.toml @@ -146,6 +146,9 @@ log-command-executions = false # and disconnecting from the proxy. log-player-connections = true +# Enables logging of errors when players fail to connect to backend servers. +logConnectionErrors = true + # Allows players transferred from other hosts via the # Transfer packet (Minecraft 1.20.5) to be received. accepts-transfers = false