mirror of
https://github.com/GeyserMC/GeyserConnect.git
synced 2025-06-26 06:15:21 +02:00
Check player limit earlier
This commit is contained in:
parent
56b9fe7619
commit
56e4aa06b1
1 changed files with 10 additions and 4 deletions
|
@ -27,6 +27,7 @@ package org.geysermc.connect.extension;
|
|||
|
||||
import org.cloudburstmc.protocol.bedrock.data.AttributeData;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.BedrockPacketHandler;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.LoginPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.NetworkStackLatencyPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.SetLocalPlayerAsInitializedPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.UpdateAttributesPacket;
|
||||
|
@ -72,17 +73,22 @@ public class PacketHandler extends UpstreamPacketHandler {
|
|||
}
|
||||
|
||||
@Override
|
||||
public PacketSignal handle(SetLocalPlayerAsInitializedPacket packet) {
|
||||
geyserConnect.logger().debug("Player initialized: " + Utils.displayName(session));
|
||||
|
||||
public PacketSignal handle(LoginPacket loginPacket) {
|
||||
// Check to see if the server is full and we have a hard player cap
|
||||
if (geyserConnect.config().hardPlayerLimit()) {
|
||||
if (session.getGeyser().getSessionManager().size() > session.getGeyser().getConfig().getMaxPlayers()) {
|
||||
if (session.getGeyser().getSessionManager().size() >= session.getGeyser().getConfig().getMaxPlayers()) {
|
||||
session.disconnect("disconnectionScreen.serverFull");
|
||||
return PacketSignal.HANDLED;
|
||||
}
|
||||
}
|
||||
|
||||
return super.handle(loginPacket);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PacketSignal handle(SetLocalPlayerAsInitializedPacket packet) {
|
||||
geyserConnect.logger().debug("Player initialized: " + Utils.displayName(session));
|
||||
|
||||
// Handle the virtual host if specified
|
||||
VirtualHostSection vhost = geyserConnect.config().vhost();
|
||||
if (vhost.enabled()) {
|
||||
|
|
Loading…
Add table
Reference in a new issue