Renderer/src/main/java/electrosphere/net/server/protocol/AuthProtocol.java
2022-04-23 22:05:50 -04:00

42 lines
1.7 KiB
Java

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;
}
}
}