Package net.minecraft.server.rcon.thread
Class QueryThreadGs4
java.lang.Object
net.minecraft.server.rcon.thread.GenericThread
net.minecraft.server.rcon.thread.QueryThreadGs4
- All Implemented Interfaces:
Runnable
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]private static final longprivate static final Stringprivate static final Stringprivate Stringprivate longprivate longprivate static final org.slf4j.Loggerprivate final intprivate final intprivate static final longprivate final NetworkDataOutputStreamprivate final ServerInterfaceprivate Stringprivate final Stringprivate final intprivate DatagramSocketprivate final Map<SocketAddress, QueryThreadGs4.RequestChallenge> private final StringFields inherited from class net.minecraft.server.rcon.thread.GenericThread
name, running, thread -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateQueryThreadGs4(ServerInterface pServerInterface, int pPort) -
Method Summary
Modifier and TypeMethodDescriptionprivate byte[]buildRuleResponse(DatagramPacket pRequestPacket) Creates a query response as a byte array for the specified query DatagramPacketstatic QueryThreadGs4create(ServerInterface pServerInterface) private byte[]getIdentBytes(SocketAddress pAddress) Returns the request ID provided by the authorized clientprivate booleanprivate booleanprocessPacket(DatagramPacket pRequestPacket) Parses an incoming DatagramPacket, returning true if the packet was validprivate voidprivate voidrecoverSocketError(Exception pException) Stops the query server and reports the given Exceptionvoidrun()private voidsendChallenge(DatagramPacket pRequestPacket) Sends an auth challenge DatagramPacket to the client and adds the client to the queryClients mapprivate voidsendTo(byte[] pData, DatagramPacket pRequestPacket) Sends a byte array as a DatagramPacket response to the client who sent the given DatagramPacketbooleanstart()private BooleanvalidChallenge(DatagramPacket pRequestPacket) Returnstrueif the client has a valid auth, otherwisefalse.Methods inherited from class net.minecraft.server.rcon.thread.GenericThread
isRunning, stop
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
GAME_TYPE
- See Also:
-
GAME_ID
- See Also:
-
CHALLENGE_CHECK_INTERVAL
private static final long CHALLENGE_CHECK_INTERVAL- See Also:
-
RESPONSE_CACHE_TIME
private static final long RESPONSE_CACHE_TIME- See Also:
-
lastChallengeCheck
private long lastChallengeCheck -
port
private final int port -
serverPort
private final int serverPort -
maxPlayers
private final int maxPlayers -
serverName
-
worldName
-
socket
-
buffer
private final byte[] buffer -
hostIp
-
serverIp
-
validChallenges
-
rulesResponse
-
lastRulesResponse
private long lastRulesResponse -
serverInterface
-
-
Constructor Details
-
QueryThreadGs4
-
-
Method Details
-
create
-
sendTo
Sends a byte array as a DatagramPacket response to the client who sent the given DatagramPacket- Throws:
IOException
-
processPacket
Parses an incoming DatagramPacket, returning true if the packet was valid- Throws:
IOException
-
buildRuleResponse
Creates a query response as a byte array for the specified query DatagramPacket- Throws:
IOException
-
getIdentBytes
Returns the request ID provided by the authorized client -
validChallenge
Returnstrueif the client has a valid auth, otherwisefalse. -
sendChallenge
Sends an auth challenge DatagramPacket to the client and adds the client to the queryClients map- Throws:
IOException
-
pruneChallenges
private void pruneChallenges() -
run
public void run() -
start
public boolean start()- Overrides:
startin classGenericThread
-
recoverSocketError
Stops the query server and reports the given Exception -
initSocket
private boolean initSocket()
-