package electrosphere.net.server.protocol; import electrosphere.main.Globals; import electrosphere.net.parser.net.message.AuthMessage; import electrosphere.net.parser.net.message.PlayerMessage; import electrosphere.net.server.ServerConnectionHandler; import electrosphere.net.server.player.Player; public class AuthProtocol { protected static void handleAuthenticationMessage(ServerConnectionHandler connectionHandler, AuthMessage message){ switch(message.getMessageSubtype()){ case AUTHDETAILS: //auth check boolean successfulLogin = Globals.authenticationManager.authenticate(message.getuser(), message.getpass()); if(successfulLogin){ //TODO: actually set connection/protocol to authenticated connectionHandler.addMessagetoOutgoingQueue(AuthMessage.constructAuthSuccessMessage()); Player newPlayer = new Player(connectionHandler); Globals.playerManager.registerPlayer(newPlayer); if(connectionHandler.getIPAddress().contains("127.0.0.1")){ Globals.serverPlayer = newPlayer; } connectionHandler.addMessagetoOutgoingQueue(PlayerMessage.constructSet_IDMessage(connectionHandler.getPlayerId())); } else { connectionHandler.addMessagetoOutgoingQueue(AuthMessage.constructAuthFailureMessage()); } break; case AUTHREQUEST: //silently drop break; case AUTHSUCCESS: //silently drop break; case AUTHFAILURE: //silently drop break; } } }