feat(ban): Implementing ban.

Rough code, not based on permission.
This commit is contained in:
Yazawazi
2022-06-18 05:01:38 +09:00
committed by Melledy
parent 557298f847
commit aba4080b0e
6 changed files with 252 additions and 4 deletions

View File

@@ -1,5 +1,7 @@
package emu.grasscutter.server.packet.send;
import java.util.Base64;
import com.google.protobuf.ByteString;
import emu.grasscutter.net.packet.BasePacket;
@@ -14,8 +16,25 @@ public class PacketGetPlayerTokenRsp extends BasePacket {
super(PacketOpcodes.GetPlayerTokenRsp, true);
this.setUseDispatchKey(true);
GetPlayerTokenRsp p = GetPlayerTokenRsp.newBuilder()
if (session.getPlayer().getAccount().isBanned()) {
byte[] bin = Base64.getDecoder().decode("5LiN54ixIEdDIOWNgeW5tOS6hu+8jOWNgeW5tOmHjOeUqOi/h+eahOavj+S4gOS4qiBQUyDpg73lg48gR0PjgII=");
GetPlayerTokenRsp p = GetPlayerTokenRsp.newBuilder()
.setUid(session.getPlayer().getUid())
.setIsProficientPlayer(session.getPlayer().getAvatars().getAvatarCount() > 0)
.setRetcode(21)
.setExtraBinData(ByteString.copyFrom(bin))
.setMsg("FORBID_CHEATING_PLUGINS")
.setBlackUidEndTime(session.getPlayer().getAccount().getBanEndTime())
.setRegPlatform(3)
.setCountryCode("US")
.setClientIpStr(session.getAddress().getAddress().getHostAddress())
.build();
this.setData(p.toByteArray());
} else {
GetPlayerTokenRsp p = GetPlayerTokenRsp.newBuilder()
.setUid(session.getPlayer().getUid())
.setToken(session.getAccount().getToken())
.setAccountType(1)
@@ -29,7 +48,8 @@ public class PacketGetPlayerTokenRsp extends BasePacket {
.setRegPlatform(3)
.setClientIpStr(session.getAddress().getAddress().getHostAddress())
.build();
this.setData(p.toByteArray());
this.setData(p.toByteArray());
}
}
}