Stop WindSeedClientNotify and PlayerLuaShellNotify from being sent (#582)

This commit is contained in:
4Benj_ 2022-05-06 21:48:16 +08:00 committed by GitHub
parent 0102a3ce1e
commit da99140d20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 0 deletions

View File

@ -1,5 +1,8 @@
package emu.grasscutter.net.packet; package emu.grasscutter.net.packet;
import java.util.Arrays;
import java.util.List;
public class PacketOpcodes { public class PacketOpcodes {
// Empty // Empty
public static final int NONE = 0; public static final int NONE = 0;
@ -1566,4 +1569,6 @@ public class PacketOpcodes {
public static final int UNKNOWN_43 = 8877; public static final int UNKNOWN_43 = 8877;
public static final int UNKNOWN_44 = 8983; public static final int UNKNOWN_44 = 8983;
public static final int UNKNOWN_45 = 943; public static final int UNKNOWN_45 = 943;
public static final List<Integer> BANNED_PACKETS = Arrays.asList(PacketOpcodes.WindSeedClientNotify, PacketOpcodes.PlayerLuaShellNotify);
} }

View File

@ -158,6 +158,12 @@ public class GameSession extends KcpChannel {
return; return;
} }
// DO NOT REMOVE (unless we find a way to validate code before sending to client which I don't think we can)
// Stop WindSeedClientNotify from being sent for security purposes.
if(PacketOpcodes.BANNED_PACKETS.contains(packet.getOpcode())) {
return;
}
// Header // Header
if (packet.shouldBuildHeader()) { if (packet.shouldBuildHeader()) {
packet.buildHeader(this.getNextClientSequence()); packet.buildHeader(this.getNextClientSequence());