mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-01-19 18:44:45 +00:00
added login messages to determine connectivity levels at the account and character levels
This commit is contained in:
parent
f88323805a
commit
2068845677
|
|
@ -103,8 +103,11 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne
|
||||||
|
|
||||||
private var buffer: Seq[Any] = Seq() //for typed actors, this becomes an akka.actor.typed.scaladsl.StashBuffer (size 10?)
|
private var buffer: Seq[Any] = Seq() //for typed actors, this becomes an akka.actor.typed.scaladsl.StashBuffer (size 10?)
|
||||||
|
|
||||||
|
log.info("LOGIN_TEST::actor start: port activity starts the actor")
|
||||||
|
|
||||||
override def preStart(): Unit = {
|
override def preStart(): Unit = {
|
||||||
super.preStart()
|
super.preStart()
|
||||||
|
log.info("LOGIN_TEST::actor start: formal actor prestart")
|
||||||
ServiceManager.serviceManager ! Lookup("accountIntermediary")
|
ServiceManager.serviceManager ! Lookup("accountIntermediary")
|
||||||
ServiceManager.receptionist ! Receptionist.Find(SocketPane.SocketPaneKey, context.self)
|
ServiceManager.receptionist ! Receptionist.Find(SocketPane.SocketPaneKey, context.self)
|
||||||
}
|
}
|
||||||
|
|
@ -118,9 +121,11 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne
|
||||||
|
|
||||||
private def persistentSetupMixinBehavior: Receive = {
|
private def persistentSetupMixinBehavior: Receive = {
|
||||||
case ServiceManager.LookupResult("accountIntermediary", endpoint) =>
|
case ServiceManager.LookupResult("accountIntermediary", endpoint) =>
|
||||||
|
log.info("LOGIN_TEST::account intermediary received (must be completed before actual login attempt)")
|
||||||
accountIntermediary = endpoint
|
accountIntermediary = endpoint
|
||||||
|
|
||||||
case SocketPane.SocketPaneKey.Listing(listings) =>
|
case SocketPane.SocketPaneKey.Listing(listings) =>
|
||||||
|
log.info("LOGIN_TEST::socket pane received (must be completed before actual login attempt)")
|
||||||
sockets = listings.head
|
sockets = listings.head
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -141,8 +146,10 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne
|
||||||
port = address.Port
|
port = address.Port
|
||||||
context.become(idlingBufferBehavior)
|
context.become(idlingBufferBehavior)
|
||||||
runLoginTest()
|
runLoginTest()
|
||||||
|
log.info("LOGIN_TEST::ip address received")
|
||||||
|
|
||||||
case _ => ()
|
case _ => ()
|
||||||
|
log.info("LOGIN_TEST::weird message when waiting for ip address")
|
||||||
}
|
}
|
||||||
|
|
||||||
private def accountLoginBehavior: Receive = persistentSetupMixinBehavior.orElse {
|
private def accountLoginBehavior: Receive = persistentSetupMixinBehavior.orElse {
|
||||||
|
|
@ -228,11 +235,13 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne
|
||||||
|
|
||||||
result.onComplete {
|
result.onComplete {
|
||||||
case Success(Some(_)) =>
|
case Success(Some(_)) =>
|
||||||
|
log.info("LOGIN_TEST::login test passed")
|
||||||
context.become(accountLoginBehavior) // account found
|
context.become(accountLoginBehavior) // account found
|
||||||
buffer.foreach { self ! _ }
|
buffer.foreach { self ! _ }
|
||||||
buffer = Seq()
|
buffer = Seq()
|
||||||
case Success(None) =>
|
case Success(None) =>
|
||||||
log.error("account database not found")
|
log.error("account database not found")
|
||||||
|
log.info("LOGIN_TEST::login test failed, not found")
|
||||||
middlewareActor ! MiddlewareActor.Send(DisconnectMessage("Account database not found; stopping ..."))
|
middlewareActor ! MiddlewareActor.Send(DisconnectMessage("Account database not found; stopping ..."))
|
||||||
middlewareActor ! MiddlewareActor.Close()
|
middlewareActor ! MiddlewareActor.Close()
|
||||||
case Failure(e) =>
|
case Failure(e) =>
|
||||||
|
|
@ -311,6 +320,7 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne
|
||||||
.update(_.password -> lift(bcryptedPassword))
|
.update(_.password -> lift(bcryptedPassword))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
log.info("LOGIN_TEST::login successful")
|
||||||
loginSuccessfulResponse(username, newToken)
|
loginSuccessfulResponse(username, newToken)
|
||||||
context.become(displayingServerListBehavior)
|
context.become(displayingServerListBehavior)
|
||||||
updateServerListTask =
|
updateServerListTask =
|
||||||
|
|
@ -318,14 +328,17 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne
|
||||||
future
|
future
|
||||||
|
|
||||||
case (_, false) =>
|
case (_, false) =>
|
||||||
|
log.info("LOGIN_TEST::login failure, password")
|
||||||
loginFailurePasswordResponse(username, newToken)
|
loginFailurePasswordResponse(username, newToken)
|
||||||
loginFailureAction()
|
loginFailureAction()
|
||||||
|
|
||||||
case (true, _) =>
|
case (true, _) =>
|
||||||
|
log.info("LOGIN_TEST::login failure, general but with token")
|
||||||
loginAccountFailureResponse(username, newToken)
|
loginAccountFailureResponse(username, newToken)
|
||||||
loginFailureAction()
|
loginFailureAction()
|
||||||
}
|
}
|
||||||
case None =>
|
case None =>
|
||||||
|
log.info("LOGIN_TEST::login failure, general")
|
||||||
loginFailureAction()
|
loginFailureAction()
|
||||||
}
|
}
|
||||||
} yield login
|
} yield login
|
||||||
|
|
@ -392,6 +405,7 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne
|
||||||
|
|
||||||
result.onComplete {
|
result.onComplete {
|
||||||
case Success(_) => ()
|
case Success(_) => ()
|
||||||
|
log.info("LOGIN_TEST::login successful")
|
||||||
case Failure(e) => log.error(e.getMessage)
|
case Failure(e) => log.error(e.getMessage)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue