Automate the stress testing of a Minecraft server network using bots

ViaVersion for pre-1.20.5 exits the configuration stage too fast, so skip it as necessary

PureGero fb03aa87 f5762761

Changed files
+15 -13
src
main
java
com
github
puregero
minecraftstresstest
+15 -13
src/main/java/com/github/puregero/minecraftstresstest/Bot.java
··· 154 //System.out.println("changing to config mode"); 155 156 CompletableFuture.delayedExecutor(1000, TimeUnit.MILLISECONDS).execute(() -> { 157 - sendPacket(ctx, PacketIds.Serverbound.Configuration.CLIENT_INFORMATION, buffer -> { 158 - buffer.writeUtf("en_GB"); 159 - buffer.writeByte(VIEW_DISTANCE); 160 - buffer.writeVarInt(0); 161 - buffer.writeBoolean(true); 162 - buffer.writeByte(0); 163 - buffer.writeVarInt(0); 164 - buffer.writeBoolean(false); 165 - buffer.writeBoolean(true); 166 - }); 167 168 - sendPacket(ctx, PacketIds.Serverbound.Configuration.KNOWN_PACKS, buffer -> { 169 - buffer.writeVarInt(0); 170 - }); 171 172 CompletableFuture.delayedExecutor(1000, TimeUnit.MILLISECONDS).execute(() -> tick(ctx)); 173 });
··· 154 //System.out.println("changing to config mode"); 155 156 CompletableFuture.delayedExecutor(1000, TimeUnit.MILLISECONDS).execute(() -> { 157 + if (configState) { 158 + sendPacket(ctx, PacketIds.Serverbound.Configuration.CLIENT_INFORMATION, buffer -> { 159 + buffer.writeUtf("en_GB"); 160 + buffer.writeByte(VIEW_DISTANCE); 161 + buffer.writeVarInt(0); 162 + buffer.writeBoolean(true); 163 + buffer.writeByte(0); 164 + buffer.writeVarInt(0); 165 + buffer.writeBoolean(false); 166 + buffer.writeBoolean(true); 167 + }); 168 169 + sendPacket(ctx, PacketIds.Serverbound.Configuration.KNOWN_PACKS, buffer -> { 170 + buffer.writeVarInt(0); 171 + }); 172 + } 173 174 CompletableFuture.delayedExecutor(1000, TimeUnit.MILLISECONDS).execute(() -> tick(ctx)); 175 });