blob: 43468b344059d7a4a06ba2cb783d59e166ece0bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package kz.ilotterytea.maxon;
import kz.ilotterytea.maxon.shared.Acknowledge;
import kz.ilotterytea.maxon.shared.Identity;
import kz.ilotterytea.maxon.shared.exceptions.PlayerKickException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ServerHandlers {
private static final Logger log = LoggerFactory.getLogger(ServerHandlers.class);
private static final MaxonServer server = MaxonServer.getInstance();
public static void handleIdentity(PlayerConnection connection, Identity identity) {
if (server.getPlayerConnections()
.stream()
.filter((x) -> x.getIdentity() != null)
.anyMatch((x) -> x.getIdentity().equals(identity) && x.getId() != connection.getId())
) {
server.kickConnection(connection, PlayerKickException.loggedIn());
return;
}
connection.setIdentity(identity);
connection.send(new Acknowledge(identity));
log.debug("Successfully identified {} for {}", identity, connection);
}
}
|