Save client addresses async on chr select

Almost rid of all db queries in Client
This commit is contained in:
P0nk
2024-10-03 08:28:22 +02:00
parent e38344ceae
commit 2b6ef9feb5
10 changed files with 91 additions and 83 deletions

View File

@@ -1,6 +1,7 @@
package net.server.handlers.login;
import client.Client;
import lombok.extern.slf4j.Slf4j;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import net.server.Server;
@@ -8,8 +9,7 @@ import net.server.coordinator.session.Hwid;
import net.server.coordinator.session.SessionCoordinator;
import net.server.coordinator.session.SessionCoordinator.AntiMulticlientResult;
import net.server.world.World;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import service.AccountService;
import service.BanService;
import service.TransitionService;
import tools.PacketCreator;
@@ -17,13 +17,15 @@ import tools.PacketCreator;
import java.net.InetAddress;
import java.net.UnknownHostException;
@Slf4j
public class CharSelectedWithPicHandler extends AbstractPacketHandler {
private static final Logger log = LoggerFactory.getLogger(CharSelectedWithPicHandler.class);
private final AccountService accountService;
private final BanService banService;
private final TransitionService transitionService;
public CharSelectedWithPicHandler(BanService banService, TransitionService transitionService) {
public CharSelectedWithPicHandler(AccountService accountService, BanService banService,
TransitionService transitionService) {
this.accountService = accountService;
this.banService = banService;
this.transitionService = transitionService;
}
@@ -55,9 +57,9 @@ public class CharSelectedWithPicHandler extends AbstractPacketHandler {
return;
}
c.updateMacs(macs);
c.updateHwid(hwid);
c.setHwid(hwid);
c.setMacs(macs);
accountService.setIpAndMacsAndHwidAsync(c.getAccID(), c.getRemoteAddress(), macs, hwid);
if (banService.isBanned(c)) {
SessionCoordinator.getInstance().closeSession(c, true);