mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-01-20 02:24:45 +00:00
Fixes From 20210421 Logs (#784)
* test before casting to int; unsupported equipment in loadouts * replacing null with Default.Actor * in/out times but no actor * empty password; squad ui elements out of order
This commit is contained in:
parent
ffa8e16c07
commit
00c8b92b44
|
|
@ -105,7 +105,7 @@ class LoginActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], conne
|
|||
log.trace(s"New login UN:$username. $clientVersion")
|
||||
}
|
||||
|
||||
accountLogin(username, password.get)
|
||||
accountLogin(username, password.getOrElse(""))
|
||||
|
||||
case ConnectToWorldRequestMessage(name, _, _, _, _, _, _) =>
|
||||
log.info(s"Connect to world request for '$name'")
|
||||
|
|
|
|||
|
|
@ -135,19 +135,21 @@ class SocketActor(
|
|||
val sessionReaper: Cancellable = context.system.scheduler.scheduleWithFixedDelay(0.seconds, 5.seconds)(() => {
|
||||
val now = System.currentTimeMillis()
|
||||
packetActors.keys.foreach(addr => {
|
||||
incomingTimes.get(addr) match {
|
||||
case Some(time) =>
|
||||
if (now - time > Config.app.network.session.inboundGraceTime.toMillis) {
|
||||
context.self ! StopChild(packetActors(addr))
|
||||
packetActors.get(addr) match {
|
||||
case Some(child) =>
|
||||
if(
|
||||
(incomingTimes.get(addr) match {
|
||||
case Some(time) => now - time > Config.app.network.session.inboundGraceTime.toMillis
|
||||
case _ => false
|
||||
}) ||
|
||||
(outgoingTimes.get(addr) match {
|
||||
case Some(time) => now - time > Config.app.network.session.outboundGraceTime.toMillis
|
||||
case _ => false
|
||||
})
|
||||
) {
|
||||
context.self ! StopChild(child)
|
||||
}
|
||||
case _ => ()
|
||||
}
|
||||
outgoingTimes.get(addr) match {
|
||||
case Some(time) =>
|
||||
if (now - time > Config.app.network.session.outboundGraceTime.toMillis) {
|
||||
context.self ! StopChild(packetActors(addr))
|
||||
}
|
||||
case _ => ()
|
||||
case _ => ;
|
||||
}
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1283,6 +1283,10 @@ class AvatarActor(
|
|||
case "Kit" =>
|
||||
doll.Slot(objectIndex).Equipment =
|
||||
Kit(DefinitionUtil.idToDefinition(objectId).asInstanceOf[KitDefinition])
|
||||
case "Telepad" | "BoomerTrigger" => ;
|
||||
//special types of equipment that are not actually loaded
|
||||
case name =>
|
||||
log.error(s"failing to add unknown equipment to a loadout - $name")
|
||||
}
|
||||
|
||||
toolAmmo foreach { toolAmmo =>
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@ class ChatActor(
|
|||
sessionActor ! SessionActor.Suicide()
|
||||
}
|
||||
|
||||
case (CMT_DESTROY, _, contents) =>
|
||||
case (CMT_DESTROY, _, contents) if contents.matches("\\d+") =>
|
||||
val guid = contents.toInt
|
||||
session.zone.GUID(session.zone.map.terminalToSpawnPad.getOrElse(guid, guid)) match {
|
||||
case Some(pad: VehicleSpawnPad) =>
|
||||
|
|
|
|||
|
|
@ -174,12 +174,12 @@ class SessionActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], con
|
|||
private[this] val damageLog = org.log4s.getLogger(Damageable.LogChannel)
|
||||
var avatarActor: typed.ActorRef[AvatarActor.Command] = context.spawnAnonymous(AvatarActor(context.self))
|
||||
var chatActor: typed.ActorRef[ChatActor.Command] = context.spawnAnonymous(ChatActor(context.self, avatarActor))
|
||||
var accountIntermediary: ActorRef = ActorRef.noSender
|
||||
var accountPersistence: ActorRef = ActorRef.noSender
|
||||
var galaxyService: ActorRef = ActorRef.noSender
|
||||
var squadService: ActorRef = ActorRef.noSender
|
||||
var propertyOverrideManager: ActorRef = Actor.noSender
|
||||
var cluster: typed.ActorRef[ICS.Command] = Actor.noSender
|
||||
var accountIntermediary: ActorRef = Default.Actor
|
||||
var accountPersistence: ActorRef = Default.Actor
|
||||
var galaxyService: ActorRef = Default.Actor
|
||||
var squadService: ActorRef = Default.Actor
|
||||
var propertyOverrideManager: ActorRef = Default.Actor
|
||||
var cluster: typed.ActorRef[ICS.Command] = Default.Actor
|
||||
var _session: Session = Session()
|
||||
var progressBarValue: Option[Float] = None
|
||||
var shooting: Option[PlanetSideGUID] = None //ChangeFireStateMessage_Start
|
||||
|
|
@ -3316,13 +3316,16 @@ class SessionActor(middlewareActor: typed.ActorRef[MiddlewareActor.Command], con
|
|||
* only the zone-specific squad members will receive the important messages about their squad member's spawn.
|
||||
*/
|
||||
def RespawnSquadSetup(): Unit = {
|
||||
if (squadUI.nonEmpty) {
|
||||
sendResponse(PlanetsideAttributeMessage(player.GUID, 31, squad_supplement_id))
|
||||
continent.AvatarEvents ! AvatarServiceMessage(
|
||||
s"${player.Faction}",
|
||||
AvatarAction.PlanetsideAttribute(player.GUID, 31, squad_supplement_id)
|
||||
)
|
||||
sendResponse(PlanetsideAttributeMessage(player.GUID, 32, squadUI(player.CharId).index))
|
||||
squadUI.get(player.CharId) match {
|
||||
case Some(elem) =>
|
||||
sendResponse(PlanetsideAttributeMessage(player.GUID, 31, squad_supplement_id))
|
||||
continent.AvatarEvents ! AvatarServiceMessage(
|
||||
s"${player.Faction}",
|
||||
AvatarAction.PlanetsideAttribute(player.GUID, 31, squad_supplement_id)
|
||||
)
|
||||
sendResponse(PlanetsideAttributeMessage(player.GUID, 32, elem.index))
|
||||
case _ =>
|
||||
log.warn(s"RespawnSquadSetup: asked to redraw squad information, but ${player.Name} has no squad element for squad $squad_supplement_id")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue