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;
import java.util.Arrays;
import java.util.List;
public class PacketOpcodes {
// Empty
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_44 = 8983;
public static final int UNKNOWN_45 = 943;
public static final List<Integer> BANNED_PACKETS = Arrays.asList(PacketOpcodes.WindSeedClientNotify, PacketOpcodes.PlayerLuaShellNotify);
}

View File

@ -157,6 +157,12 @@ public class GameSession extends KcpChannel {
Grasscutter.getLogger().warn("Tried to send packet with missing cmd id!");
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
if (packet.shouldBuildHeader()) {