Fix debug logging

This commit is contained in:
games647
2017-10-07 19:19:45 +02:00
parent e32b0232e9
commit df945146b8
4 changed files with 12 additions and 15 deletions

View File

@ -52,7 +52,7 @@ public class ProtocolLibLoginSource implements LoginSource {
public void kick(String message) throws InvocationTargetException { public void kick(String message) throws InvocationTargetException {
ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager(); ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager();
PacketContainer kickPacket = protocolManager.createPacket(DISCONNECT); PacketContainer kickPacket = new PacketContainer(DISCONNECT);
kickPacket.getChatComponents().write(0, WrappedChatComponent.fromText(message)); kickPacket.getChatComponents().write(0, WrappedChatComponent.fromText(message));
try { try {
@ -71,13 +71,12 @@ public class ProtocolLibLoginSource implements LoginSource {
} }
private void sentEncryptionRequest() throws InvocationTargetException { private void sentEncryptionRequest() throws InvocationTargetException {
ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager();
/* /*
* Packet Information: http://wiki.vg/Protocol#Encryption_Request * Packet Information: http://wiki.vg/Protocol#Encryption_Request
* *
* ServerID="" (String) key=public server key verifyToken=random 4 byte array * ServerID="" (String) key=public server key verifyToken=random 4 byte array
*/ */
PacketContainer newPacket = protocolManager.createPacket(ENCRYPTION_BEGIN); PacketContainer newPacket = new PacketContainer(ENCRYPTION_BEGIN);
newPacket.getStrings().write(0, serverId); newPacket.getStrings().write(0, serverId);
PublicKey publicKey = plugin.getServerKey().getPublic(); PublicKey publicKey = plugin.getServerKey().getPublic();
@ -86,7 +85,7 @@ public class ProtocolLibLoginSource implements LoginSource {
newPacket.getByteArrays().write(0, verifyToken); newPacket.getByteArrays().write(0, verifyToken);
//serverId is a empty string //serverId is a empty string
protocolManager.sendServerPacket(player, newPacket); ProtocolLibrary.getProtocolManager().sendServerPacket(player, newPacket);
} }
public String getServerId() { public String getServerId() {

View File

@ -1,7 +1,6 @@
package com.github.games647.fastlogin.bukkit.listener.protocollib; package com.github.games647.fastlogin.bukkit.listener.protocollib;
import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.ProtocolManager;
import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.events.PacketEvent; import com.comphenix.protocol.events.PacketEvent;
import com.comphenix.protocol.injector.server.TemporaryPlayerFactory; import com.comphenix.protocol.injector.server.TemporaryPlayerFactory;
@ -180,14 +179,12 @@ public class VerifyResponseTask implements Runnable {
} }
private void kickPlayer(String reason) { private void kickPlayer(String reason) {
ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager(); PacketContainer kickPacket = new PacketContainer(DISCONNECT);
PacketContainer kickPacket = protocolManager.createPacket(DISCONNECT);
kickPacket.getChatComponents().write(0, WrappedChatComponent.fromText(reason)); kickPacket.getChatComponents().write(0, WrappedChatComponent.fromText(reason));
try { try {
//send kick packet at login state //send kick packet at login state
//the normal event.getPlayer.kickPlayer(String) method does only work at play state //the normal event.getPlayer.kickPlayer(String) method does only work at play state
protocolManager.sendServerPacket(player, kickPacket); ProtocolLibrary.getProtocolManager().sendServerPacket(player, kickPacket);
//tell the server that we want to close the connection //tell the server that we want to close the connection
player.kickPlayer("Disconnect"); player.kickPlayer("Disconnect");
} catch (InvocationTargetException ex) { } catch (InvocationTargetException ex) {
@ -197,17 +194,15 @@ public class VerifyResponseTask implements Runnable {
//fake a new login packet in order to let the server handle all the other stuff //fake a new login packet in order to let the server handle all the other stuff
private void receiveFakeStartPacket(String username) { private void receiveFakeStartPacket(String username) {
ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager();
//see StartPacketListener for packet information //see StartPacketListener for packet information
PacketContainer startPacket = protocolManager.createPacket(START); PacketContainer startPacket = new PacketContainer(START);
//uuid is ignored by the packet definition //uuid is ignored by the packet definition
WrappedGameProfile fakeProfile = new WrappedGameProfile(UUID.randomUUID(), username); WrappedGameProfile fakeProfile = new WrappedGameProfile(UUID.randomUUID(), username);
startPacket.getGameProfiles().write(0, fakeProfile); startPacket.getGameProfiles().write(0, fakeProfile);
try { try {
//we don't want to handle our own packets so ignore filters //we don't want to handle our own packets so ignore filters
protocolManager.recieveClientPacket(player, startPacket, false); ProtocolLibrary.getProtocolManager().recieveClientPacket(player, startPacket, false);
} catch (InvocationTargetException | IllegalAccessException ex) { } catch (InvocationTargetException | IllegalAccessException ex) {
plugin.getLog().warn("Failed to fake a new start packet", ex); plugin.getLog().warn("Failed to fake a new start packet", ex);
//cancel the event in order to prevent the server receiving an invalid packet //cancel the event in order to prevent the server receiving an invalid packet

View File

@ -63,10 +63,13 @@ public class CommonUtil {
public static Logger createLoggerFromJDK(java.util.logging.Logger parent) { public static Logger createLoggerFromJDK(java.util.logging.Logger parent) {
try { try {
parent.setLevel(Level.ALL);
Class<JDK14LoggerAdapter> adapterClass = JDK14LoggerAdapter.class; Class<JDK14LoggerAdapter> adapterClass = JDK14LoggerAdapter.class;
Constructor<JDK14LoggerAdapter> cons = adapterClass.getDeclaredConstructor(java.util.logging.Logger.class); Constructor<JDK14LoggerAdapter> cons = adapterClass.getDeclaredConstructor(java.util.logging.Logger.class);
cons.setAccessible(true); cons.setAccessible(true);
return cons.newInstance(parent); JDK14LoggerAdapter logger = cons.newInstance(parent);
return logger;
} catch (ReflectiveOperationException reflectEx) { } catch (ReflectiveOperationException reflectEx) {
parent.log(Level.WARNING, "Cannot create slf4j logging adapter", reflectEx); parent.log(Level.WARNING, "Cannot create slf4j logging adapter", reflectEx);
parent.log(Level.WARNING, "Creating logger instance manually..."); parent.log(Level.WARNING, "Creating logger instance manually...");

View File

@ -9,7 +9,7 @@
<name>FastLogin</name> <name>FastLogin</name>
<version>1.11</version> <version>1.11</version>
<inceptionYear>2015</inceptionYear>
<url>https://www.spigotmc.org/resources/fastlogin.14153/</url> <url>https://www.spigotmc.org/resources/fastlogin.14153/</url>
<description> <description>
Automatically logins premium (paid accounts) player on a offline mode server Automatically logins premium (paid accounts) player on a offline mode server