ChatMsg - Merge pull request #1317 from ScrawnyRonnie/less-crash
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled

Hopefully Less Crashes - ChatMsg Bundling
This commit is contained in:
ScrawnyRonnie 2025-11-24 12:48:34 -05:00 committed by GitHub
commit feffecb601
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 16 additions and 12 deletions

View file

@ -99,27 +99,27 @@ add_property trek allowed false
add_property trek equiptime 500 add_property trek equiptime 500
add_property trek holstertime 500 add_property trek holstertime 500
add_property vulture requirement_award0 false add_property vulture requirement_award0 false
add_property aphelion allowed true add_property aphelion allowed false
add_property aphelion_flight allowed false add_property aphelion_flight allowed false
add_property aphelion_gunner allowed true add_property aphelion_gunner allowed false
add_property aphelion_armor_siphon allowed false add_property aphelion_armor_siphon allowed false
add_property aphelion_armor_siphon_left allowed false add_property aphelion_armor_siphon_left allowed false
add_property aphelion_armor_siphon_right allowed false add_property aphelion_armor_siphon_right allowed false
add_property aphelion_ntu_siphon allowed false add_property aphelion_ntu_siphon allowed false
add_property aphelion_ntu_siphon_left allowed false add_property aphelion_ntu_siphon_left allowed false
add_property aphelion_ntu_siphon_right allowed false add_property aphelion_ntu_siphon_right allowed false
add_property colossus allowed true add_property colossus allowed false
add_property colossus_flight allowed false add_property colossus_flight allowed false
add_property colossus_gunner allowed true add_property colossus_gunner allowed false
add_property colossus_armor_siphon allowed false add_property colossus_armor_siphon allowed false
add_property colossus_armor_siphon_left allowed false add_property colossus_armor_siphon_left allowed false
add_property colossus_armor_siphon_right allowed false add_property colossus_armor_siphon_right allowed false
add_property colossus_ntu_siphon allowed false add_property colossus_ntu_siphon allowed false
add_property colossus_ntu_siphon_left allowed false add_property colossus_ntu_siphon_left allowed false
add_property colossus_ntu_siphon_right allowed false add_property colossus_ntu_siphon_right allowed false
add_property peregrine allowed true add_property peregrine allowed false
add_property peregrine_flight allowed false add_property peregrine_flight allowed false
add_property peregrine_gunner allowed true add_property peregrine_gunner allowed false
add_property peregrine_armor_siphon allowed false add_property peregrine_armor_siphon allowed false
add_property peregrine_armor_siphon_left allowed false add_property peregrine_armor_siphon_left allowed false
add_property peregrine_armor_siphon_right allowed false add_property peregrine_armor_siphon_right allowed false

View file

@ -145,6 +145,11 @@ object MiddlewareActor {
packet.isInstanceOf[SquadDetailDefinitionUpdateMessage] packet.isInstanceOf[SquadDetailDefinitionUpdateMessage]
} }
/** `ChatMsg` [sometimes] causes the same issue as the squad packet above. Isolating for now */
private def chatMsgGuard(packet: PlanetSidePacket): Boolean = {
packet.isInstanceOf[ChatMsg]
}
/** /**
* A function for blanking tasks related to inbound packet resolution. * A function for blanking tasks related to inbound packet resolution.
* Do nothing. * Do nothing.
@ -253,7 +258,8 @@ class MiddlewareActor(
private val packetsBundledByThemselves: List[PlanetSidePacket => Boolean] = List( private val packetsBundledByThemselves: List[PlanetSidePacket => Boolean] = List(
MiddlewareActor.keepAliveMessageGuard, MiddlewareActor.keepAliveMessageGuard,
MiddlewareActor.characterInfoMessageGuard, MiddlewareActor.characterInfoMessageGuard,
MiddlewareActor.squadDetailDefinitionMessageGuard MiddlewareActor.squadDetailDefinitionMessageGuard,
MiddlewareActor.chatMsgGuard
) )
private val smpHistoryLength: Int = 100 private val smpHistoryLength: Int = 100

View file

@ -6,7 +6,7 @@ import net.psforever.objects.serverobject.terminals.capture.CaptureTerminal
import net.psforever.objects.{Player, Vehicle} import net.psforever.objects.{Player, Vehicle}
import net.psforever.objects.serverobject.{CommonMessages, PlanetSideServerObject} import net.psforever.objects.serverobject.{CommonMessages, PlanetSideServerObject}
import net.psforever.packet.game.{HackMessage, HackState, HackState1, HackState7} import net.psforever.packet.game.{HackMessage, HackState, HackState1, HackState7}
import net.psforever.types.{PlanetSideEmpire, PlanetSideGUID, PlanetSideGeneratorState} import net.psforever.types.{PlanetSideEmpire, PlanetSideGUID}
import net.psforever.services.Service import net.psforever.services.Service
import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage} import net.psforever.services.avatar.{AvatarAction, AvatarServiceMessage}
import net.psforever.services.local.{LocalAction, LocalServiceMessage} import net.psforever.services.local.{LocalAction, LocalServiceMessage}
@ -166,14 +166,12 @@ object GenericHackables {
friendlyBaseOpt.exists { fb => friendlyBaseOpt.exists { fb =>
fb.Faction == hacker.Faction && fb.Faction == hacker.Faction &&
!fb.CaptureTerminalIsHacked && !fb.CaptureTerminalIsHacked &&
fb.NtuLevel > 0 && fb.NtuLevel > 0
fb.Generator.forall(_.Condition != PlanetSideGeneratorState.Destroyed)
} }
case b => case b =>
b.Faction == hacker.Faction && b.Faction == hacker.Faction &&
!b.CaptureTerminalIsHacked && !b.CaptureTerminalIsHacked &&
b.NtuLevel > 0 && b.NtuLevel > 0
b.Generator.forall(_.Condition != PlanetSideGeneratorState.Destroyed)
} }
case None => 0 case None => 0
} }