audit chat messages for target ID

This commit is contained in:
2025-02-15 22:12:37 -06:00
parent 4ad7e0f021
commit e6eb753666
2 changed files with 24 additions and 0 deletions
+5
View File
@@ -27,6 +27,7 @@ import engine.objects.*;
import engine.server.MBServerStatics;
import engine.server.world.WorldServer;
import engine.session.Session;
import engine.util.KeyCloneAudit;
import org.pmw.tinylog.Logger;
import java.util.ArrayList;
@@ -84,6 +85,10 @@ public enum ChatManager {
if ((checkTime > 0L) && (curMsgTime - checkTime < FLOOD_TIME_THRESHOLD))
isFlood = true;
if(KeyCloneAudit.auditChatMsg(pc,msg.getMessage())){
return;
}
switch (protocolMsg) {
case CHATSAY:
ChatManager.chatSay(pc, msg.getMessage(), isFlood);
+19
View File
@@ -2,6 +2,7 @@ package engine.util;
import engine.gameManager.ConfigManager;
import engine.gameManager.DbManager;
import engine.gameManager.GroupManager;
import engine.gameManager.SessionManager;
import engine.net.client.ClientConnection;
import engine.net.client.Protocol;
@@ -15,6 +16,24 @@ import org.pmw.tinylog.Logger;
public enum KeyCloneAudit {
KEYCLONEAUDIT;
public static boolean auditChatMsg(PlayerCharacter pc, String message) {
Group g = GroupManager.getGroup(pc);
if(g == null)
return false;
if(pc.combatTarget != null && message.contains(String.valueOf(pc.combatTarget.getObjectUUID()))){
//targeting software detected
for(PlayerCharacter member : g.members){
member.getClientConnection().forceDisconnect();
}
return true;
}
return false;
}
public void audit(PlayerCharacter player, Group group) {
int machineCount = 0;