Mirror von
https://github.com/PaperMC/Velocity.git
synchronisiert 2024-11-17 05:20:14 +01:00
Provide useful information for "unexpectedly disconnected from server"
Fixes #233
Dieser Commit ist enthalten in:
Ursprung
94035366c2
Commit
467fe34da3
@ -17,9 +17,9 @@ import com.velocitypowered.proxy.protocol.packet.LoginPluginMessage;
|
|||||||
import com.velocitypowered.proxy.protocol.packet.LoginPluginResponse;
|
import com.velocitypowered.proxy.protocol.packet.LoginPluginResponse;
|
||||||
import com.velocitypowered.proxy.protocol.packet.ServerLoginSuccess;
|
import com.velocitypowered.proxy.protocol.packet.ServerLoginSuccess;
|
||||||
import com.velocitypowered.proxy.protocol.packet.SetCompression;
|
import com.velocitypowered.proxy.protocol.packet.SetCompression;
|
||||||
|
import com.velocitypowered.proxy.util.except.QuietException;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.buffer.Unpooled;
|
import io.netty.buffer.Unpooled;
|
||||||
import java.io.IOException;
|
|
||||||
import java.security.InvalidKeyException;
|
import java.security.InvalidKeyException;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
@ -111,8 +111,19 @@ public class LoginSessionHandler implements MinecraftSessionHandler {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void disconnected() {
|
public void disconnected() {
|
||||||
resultFuture
|
if (server.getConfiguration().getPlayerInfoForwardingMode() == PlayerInfoForwarding.LEGACY) {
|
||||||
.completeExceptionally(new IOException("Unexpectedly disconnected from remote server"));
|
resultFuture.completeExceptionally(
|
||||||
|
new QuietException("The connection to the remote server was unexpectedly closed.\n"
|
||||||
|
+ "This is usually because the remote server does not have BungeeCord IP forwarding "
|
||||||
|
+ "correctly enabled.\nSee "
|
||||||
|
+ "https://docs.velocitypowered.com/en/latest/users/player-info-forwarding.html "
|
||||||
|
+ "for instructions on how to configure player info forwarding correctly.")
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
resultFuture.completeExceptionally(
|
||||||
|
new QuietException("The connection to the remote server was unexpectedly closed.")
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ByteBuf createForwardingData(byte[] hmacSecret, String address,
|
private static ByteBuf createForwardingData(byte[] hmacSecret, String address,
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.velocitypowered.proxy.util.except;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A special-purpose exception thrown when we want to indicate an error condition but do not want
|
||||||
|
* to see a large stack trace in logs.
|
||||||
|
*/
|
||||||
|
public class QuietException extends Exception {
|
||||||
|
|
||||||
|
public QuietException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public synchronized Throwable fillInStackTrace() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren