42 lines
1.7 KiB
Java
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;
|
|
}
|
|
}
|
|
|
|
}
|