From fecc10c8b4f3ab24a8de9e62b0dc2d4a9be5612f Mon Sep 17 00:00:00 2001 From: LAX1DUDE Date: Sun, 19 Feb 2023 00:21:25 -0800 Subject: [PATCH] (1.0.5) Fixed max_players config option in EaglerXBungee --- .../EaglerXBungee-Latest.jar | Bin 4266637 -> 4267499 bytes .../handlers/EaglerPacketEventListener.java | 12 ++++ .../server/EaglerInitialHandler.java | 4 ++ .../server/HttpHandshakeHandler.java | 3 +- .../server/HttpWebSocketHandler.java | 53 +++++++++++++++++- .../src/main/resources/plugin.yml | 2 +- gateway_version | 2 +- 7 files changed, 72 insertions(+), 4 deletions(-) diff --git a/gateway/EaglercraftXBungee/EaglerXBungee-Latest.jar b/gateway/EaglercraftXBungee/EaglerXBungee-Latest.jar index 9afd8380059bbda598c7c98bb19b65402c41a0dd..143719274f78a8260f25de5b103035100f6c74a3 100644 GIT binary patch delta 41684 zcmZ5{byS=&vo~6Fad&rjTio5<9g4ee3oP!oxVyVUaS8>Bm*P^~9a<<~-}an)zxzIa z0|U^(01Pky6AZut1F*pW954VE48Q{e@WB8AFn|yY zAOZu3!2l94fD{ZM0|Usx017aG5)7aM1E|3O8Zdws44?x8=)nL6Fn|#ZU;+b}!2lL8 zfE5g20|VH>01hyK6Aa)21GvEe9x#9x4B!I;_`v`HFhCFt5CQ{)!2ppq0I<*pmLxzE z(&z(Zf-U8sglzZ#^9kGSM`LQCprBZwp`iZPOu|AXh}jEJ0m2pv1V9oO#SuGhe1U3k zu>Xh9ksSo|h54^KM-b5OZ(Ya!N1!40f2bW^?ZDW7yaUrfMaV!75C`(s0L1PnEeAIL z0~=HU8DRg4`kE)MkkJo>gM26l(n6S5#j!dN>wp>mU_}kU*>`_ohQGxA!Q7U`IXXV2 z1FQcboHBt3{{*Sp{V#%{<1`1jh45FK=@OvTKWs-I5dLooQh_b12-#j2M}i>t15rB6 zdw|;iAfG+~cm6^Ar^OT?SJa~gdr`(eFg%1~`;U32W5A<-?)kq22*u1FH^gmYcJXO|P5jsJf3T3kV{x($K}FG#e_FcVi79l()QIq5gBsPRk!#{}2Ejx>}-a zn19XOdoNo1kL}OTr~qjc7Da$;or=?TAb5)!{v#--{^{VqY~8`4KM4M^{c+pLKcRnH z`@=@|KS~CJl$K={(wOQp*l?VO))Z@&h(@w8Se^YCC2*R`hHckbSX$hD!|p(LVs~0% zE7XI_o-fe9EAuzM!Y^=-&}U$(o_`3kAx_RqsDr)NXZPD0dq2eU}hYNO-Kr=cd)`Q zVS3|Z*;Ld|pz_4|>Tle8I<4GFsHFa%Sg_3fzI}*b;|=^O4%408=ekXRN_s9}Q%Ky0 zdhXzTBt4gI+1}no7dkpt){ekiwTJqXCuoG@Mu-OxgqkYhDa|uVt(rEUm2M0JOR#u_ zG`vxATk)|)Ko0V4z`XN$%=eqRJ3YQqv(P-je3Au2F9=s0c9_6IK$VTjxwDxjl=T~3 z!`E_d*C_#-!rAQ2NV(Q=H`B0Dj@LJJT>IgTqL1!DW3wiJpd7Y7N*li<(}_MNk*#uv zELz+=d{pBRd~KpM>YNGS>fMgm@KT7x$m+PluuX&~>!Y5ZHEYZ{!=aTOLq3gIZaIcBoa?|y2Q%_ts7M{@^8yzi{vVUCyrmD^H8is05a6Z3r| zj992s(bD!5!C|i)`>jx7zWvTcQ_`=0kKr(v@^IwEG5OR$Q4y}rvNv1BoM_AODPl)E z7MOOC|B=cTv0huBi3Nv1)E>T^FU9Qe!Th0%3Z&-=>@H;slEYm5jMyS8VTpE>IU1fI z!{X36I{SE8WWCLI!J|0EvQ;{A{JrJxitSaMd;$8l2Le44Blwlo-5el z@6g=aE)0`&kn)vw869_yJrC)?X#tU6>FwkIH4E=! zi}QN~edbSqnb_!=hhqpn%85B?nNWt-)I}xsCiF_^%c)&YlzfwA4 zzp7BxA{xs(uk`NGMMi2L+29lA+L1--7}`lb7P@^ob}mfmmYKQ|0%AO^!w?r76cjG< ze+Sz?Q9=O%Iu~aEwdo@T;ph>*iFx!++rkjlvzZgAdNzk^Dz>C$qhxzwOR`;*r*1%| zlQyzAxQP*EjFJPio$Gv^>Xvn{tJ4)Ba7>}Pj@R`|0d1QdZJT&bv0FLcX~LZZtZvr6 z^IryE3jf}^?(d*C74(7|;Ch#!fSTiF@vG!yrrAw|9yT2fuxGFt8*+QN>P z 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 Yl&i*64M5F1I65zJ@(O0Z_b3eUA6Xv}YXATM delta 40881 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 X>?x!>g7v$R2ahPBrP8VuBq;ko)+Dwh diff --git a/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/handlers/EaglerPacketEventListener.java b/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/handlers/EaglerPacketEventListener.java index 2125159..7b437ba 100644 --- a/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/handlers/EaglerPacketEventListener.java +++ b/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/handlers/EaglerPacketEventListener.java @@ -1,6 +1,7 @@ package net.lax1dude.eaglercraft.v1_8.plugin.gateway_bungeecord.handlers; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.logging.Level; import org.apache.commons.codec.binary.Base64; @@ -19,6 +20,7 @@ import net.md_5.bungee.UserConnection; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.ProxiedPlayer; +import net.md_5.bungee.api.connection.Server; import net.md_5.bungee.api.event.PlayerDisconnectEvent; import net.md_5.bungee.api.event.PluginMessageEvent; import net.md_5.bungee.api.event.PostLoginEvent; @@ -71,6 +73,16 @@ public class EaglerPacketEventListener implements Listener { event.getSender().disconnect(new TextComponent("Cannot send \"" + SkinService.CHANNEL + "\" on a non-eagler connection!")); } } + }else if(event.getSender() instanceof Server && event.getReceiver() instanceof UserConnection) { + UserConnection player = (UserConnection)event.getReceiver(); + if("EAG|GetDomain".equals(event.getTag()) && player.getPendingConnection() instanceof EaglerInitialHandler) { + String domain = ((EaglerInitialHandler)player.getPendingConnection()).getOrigin(); + if(domain == null) { + ((Server)event.getSender()).sendData("EAG|Domain", new byte[] { 0 }); + }else { + ((Server)event.getSender()).sendData("EAG|Domain", domain.getBytes(StandardCharsets.UTF_8)); + } + } } } diff --git a/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/EaglerInitialHandler.java b/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/EaglerInitialHandler.java index 8a6ea32..3b6f000 100644 --- a/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/EaglerInitialHandler.java +++ b/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/EaglerInitialHandler.java @@ -223,4 +223,8 @@ public class EaglerInitialHandler extends InitialHandler { return eaglerUnsafe; } + public String getOrigin() { + return origin; + } + } diff --git a/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/HttpHandshakeHandler.java b/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/HttpHandshakeHandler.java index 72b40ce..7078554 100644 --- a/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/HttpHandshakeHandler.java +++ b/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/HttpHandshakeHandler.java @@ -5,6 +5,7 @@ import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.UnknownHostException; import java.nio.charset.StandardCharsets; +import java.util.logging.Level; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelFuture; @@ -167,7 +168,7 @@ public class HttpHandshakeHandler extends ChannelInboundHandlerAdapter { public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { if (ctx.channel().isActive()) { - EaglerXBungee.logger().severe("[" + ctx.channel().remoteAddress() + "]: Exception Caught: " + cause.toString()); + EaglerXBungee.logger().log(Level.WARNING, "[Pre][" + ctx.channel().remoteAddress() + "]: Exception Caught: " + cause.toString(), cause); ctx.close(); } } diff --git a/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/HttpWebSocketHandler.java b/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/HttpWebSocketHandler.java index a1c6bb4..908dddd 100644 --- a/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/HttpWebSocketHandler.java +++ b/gateway/EaglercraftXBungee/src/main/java/net/lax1dude/eaglercraft/v1_8/plugin/gateway_bungeecord/server/HttpWebSocketHandler.java @@ -135,7 +135,7 @@ public class HttpWebSocketHandler extends ChannelInboundHandlerAdapter { public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { if (ctx.channel().isActive()) { - EaglerXBungee.logger().warning("[" + ctx.channel().remoteAddress() + "]: Exception Caught: " + cause.toString()); + EaglerXBungee.logger().warning("[Yee][" + ctx.channel().remoteAddress() + "]: Exception Caught: " + cause.toString()); } } @@ -153,6 +153,31 @@ public class HttpWebSocketHandler extends ChannelInboundHandlerAdapter { hasFirstPacket = true; hasBinaryConnection = true; + BungeeCord bungus = BungeeCord.getInstance(); + int limit = bungus.config.getPlayerLimit(); + if (limit > 0 && bungus.getOnlineCount() >= limit) { + sendErrorCode(ctx, HandshakePacketTypes.SERVER_ERROR_CUSTOM_MESSAGE, bungus.getTranslation("proxy_full")) + .addListener(ChannelFutureListener.CLOSE); + connectionClosed = true; + return; + } + + if(conf.getMaxPlayer() > 0) { + int i = 0; + for(ProxiedPlayer p : bungus.getPlayers()) { + if(p.getPendingConnection().getListener() == conf) { + ++i; + } + } + + if (i >= conf.getMaxPlayer()) { + sendErrorCode(ctx, HandshakePacketTypes.SERVER_ERROR_CUSTOM_MESSAGE, bungus.getTranslation("proxy_full")) + .addListener(ChannelFutureListener.CLOSE); + connectionClosed = true; + return; + } + } + SocketAddress localSocketAddr = ctx.channel().remoteAddress(); InetAddress addr = ctx.channel().attr(EaglerPipeline.REAL_ADDRESS).get(); @@ -692,6 +717,32 @@ public class HttpWebSocketHandler extends ChannelInboundHandlerAdapter { private void finish(final ChannelHandlerContext ctx) { final BungeeCord bungee = BungeeCord.getInstance(); + + // verify player counts a second time after handshake just to be safe + int limit = bungee.config.getPlayerLimit(); + if (limit > 0 && bungee.getOnlineCount() >= limit) { + sendErrorCode(ctx, HandshakePacketTypes.SERVER_ERROR_CUSTOM_MESSAGE, bungee.getTranslation("proxy_full")) + .addListener(ChannelFutureListener.CLOSE); + connectionClosed = true; + return; + } + + if(conf.getMaxPlayer() > 0) { + int i = 0; + for(ProxiedPlayer p : bungee.getPlayers()) { + if(p.getPendingConnection().getListener() == conf) { + ++i; + } + } + + if (i >= conf.getMaxPlayer()) { + sendErrorCode(ctx, HandshakePacketTypes.SERVER_ERROR_CUSTOM_MESSAGE, bungee.getTranslation("proxy_full")) + .addListener(ChannelFutureListener.CLOSE); + connectionClosed = true; + return; + } + } + final String usernameStr = clientUsername.toString(); final ProxiedPlayer oldName = bungee.getPlayer(usernameStr); if (oldName != null) { diff --git a/gateway/EaglercraftXBungee/src/main/resources/plugin.yml b/gateway/EaglercraftXBungee/src/main/resources/plugin.yml index 2d050ae..41036da 100644 --- a/gateway/EaglercraftXBungee/src/main/resources/plugin.yml +++ b/gateway/EaglercraftXBungee/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: EaglercraftXBungee main: net.lax1dude.eaglercraft.v1_8.plugin.gateway_bungeecord.EaglerXBungee -version: 1.0.4 +version: 1.0.5 description: Plugin to allow EaglercraftX 1.8 players to join your network, or allow EaglercraftX 1.8 players to use your network as a proxy to join other networks author: lax1dude \ No newline at end of file diff --git a/gateway_version b/gateway_version index a6a3a43..1464c52 100644 --- a/gateway_version +++ b/gateway_version @@ -1 +1 @@ -1.0.4 \ No newline at end of file +1.0.5 \ No newline at end of file