mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-07-15 08:24:39 +00:00
Packet: KeepAliveMessage and add all game packet opcodes
This commit is contained in:
parent
6b02d2faab
commit
e8031f0109
3 changed files with 619 additions and 7 deletions
|
|
@ -28,17 +28,610 @@ object GamePacketOpcode extends Enumeration {
|
||||||
DestroyMessage,
|
DestroyMessage,
|
||||||
ReloadMessage,
|
ReloadMessage,
|
||||||
MountVehicleMsg,
|
MountVehicleMsg,
|
||||||
DismountVehicleMsg
|
DismountVehicleMsg,
|
||||||
|
UseItemMessage,
|
||||||
|
UnknownMessage17,
|
||||||
|
ChatMsg,
|
||||||
|
CharacterNoRecordMessage,
|
||||||
|
|
||||||
|
// OPCODE 20
|
||||||
|
CharacterInfoMessage,
|
||||||
|
UnknownMessage21,
|
||||||
|
BindPlayerMessage,
|
||||||
|
UnknownMessage23,
|
||||||
|
ObjectCreateMessage,
|
||||||
|
ObjectDeleteMessage,
|
||||||
|
UnknownMessage26,
|
||||||
|
VehicleStateMessage,
|
||||||
|
FrameVehicleStateMessage,
|
||||||
|
GenericObjectStateMsg,
|
||||||
|
|
||||||
|
// OPCODE 30
|
||||||
|
UnknownMessage30,
|
||||||
|
ActionResultMessage,
|
||||||
|
UnknownMessage32,
|
||||||
|
ActionProgressMessage,
|
||||||
|
ActionCancelMessage,
|
||||||
|
ActionCancelAcknowledgeMessage,
|
||||||
|
SetEmpireMessage,
|
||||||
|
EmoteMsg,
|
||||||
|
UnuseItemMessage,
|
||||||
|
ObjectDetachMessage,
|
||||||
|
|
||||||
|
// OPCODE 40
|
||||||
|
CreateShortcutMessage,
|
||||||
|
ChangeShortcutBankMessage,
|
||||||
|
ObjectAttachMessage,
|
||||||
|
UnknownMessage43,
|
||||||
|
PlanetsideAttributeMessage,
|
||||||
|
UnknownMessage45,
|
||||||
|
UnknownMessage46,
|
||||||
|
UnknownMessage47,
|
||||||
|
UnknownMessage48,
|
||||||
|
LoadMapMessage,
|
||||||
|
|
||||||
|
// OPCODE 50
|
||||||
|
PlayerAvatarChangedMessage,
|
||||||
|
ObjectHeldMessage,
|
||||||
|
WeaponFireMessage,
|
||||||
|
UnknownMessage53,
|
||||||
|
UnknownMessage54,
|
||||||
|
UnknownMessage55,
|
||||||
|
InventoryStateMessage,
|
||||||
|
UnknownMessage57,
|
||||||
|
ChangeFireStateMessage,
|
||||||
|
UnknownMessage59,
|
||||||
|
|
||||||
|
// OPCODE 60
|
||||||
|
UnknownMessage60,
|
||||||
|
QuantityUpdateMessage,
|
||||||
|
ArmorChangedMessage,
|
||||||
|
ProjectileStateMessage,
|
||||||
|
MountVehicleCargoMsg,
|
||||||
|
DismountVehicleCargoMsg,
|
||||||
|
CargoMountPointStatusMessage,
|
||||||
|
BeginZoningMessage,
|
||||||
|
UnknownMessage68,
|
||||||
|
ItemTransactionResultMessage,
|
||||||
|
|
||||||
|
// OPCODE 70
|
||||||
|
ChangeFireModeMessage,
|
||||||
|
ChangeAmmoMessage,
|
||||||
|
TimeOfDayMessage,
|
||||||
|
UnknownMessage73,
|
||||||
|
SpawnRequestMessage,
|
||||||
|
DeployRequestMessage,
|
||||||
|
UnknownMessage76,
|
||||||
|
RepairMessage,
|
||||||
|
ServerVehicleOverrideMsg,
|
||||||
|
UnknownMessage79,
|
||||||
|
|
||||||
|
// OPCODE 80
|
||||||
|
TargetingInfoMessage,
|
||||||
|
TriggerEffectMessage,
|
||||||
|
WeaponDryFireMessage,
|
||||||
|
UnknownMessage83,
|
||||||
|
HackMessage,
|
||||||
|
DroppodLaunchResponseMessage,
|
||||||
|
GenericObjectActionMessage,
|
||||||
|
AvatarVehicleTimerMessage,
|
||||||
|
AvatarImplantMessage,
|
||||||
|
UnknownMessage89,
|
||||||
|
|
||||||
|
// OPCODE 90
|
||||||
|
DelayedPathMountMsg,
|
||||||
|
OrbitalShuttleTimeMsg,
|
||||||
|
UnknownMessage92,
|
||||||
|
UnknownMessage93,
|
||||||
|
UnknownMessage94,
|
||||||
|
FavoritesResponse,
|
||||||
|
FavoritesMessage,
|
||||||
|
ObjectDetectedMessage,
|
||||||
|
UnknownMessage98,
|
||||||
|
SetChatFilterMessage,
|
||||||
|
|
||||||
|
// OPCODE 100
|
||||||
|
AvatarSearchCriteriaMessage,
|
||||||
|
AvatarSearchResponse,
|
||||||
|
WeaponJammedMessage,
|
||||||
|
LinkDeadAwarenessMsg,
|
||||||
|
DroppodFreefallingMessage,
|
||||||
|
AvatarFirstTimeEventMessage,
|
||||||
|
AggravatedDamageMessage,
|
||||||
|
TriggerSoundMessage,
|
||||||
|
UnknownMessage108,
|
||||||
|
UnknownMessage109,
|
||||||
|
|
||||||
|
// OPCODE 110
|
||||||
|
UnknownMessage110,
|
||||||
|
SquadMembershipResponse,
|
||||||
|
SquadMemberEvent,
|
||||||
|
PlatoonEvent,
|
||||||
|
UnknownMessage114,
|
||||||
|
FriendsResponse,
|
||||||
|
TriggerEnvironmentalDamageMessage,
|
||||||
|
TrainingZoneMessage,
|
||||||
|
DeployableObjectsInfoMessage,
|
||||||
|
SquadState,
|
||||||
|
|
||||||
|
// OPCODE 120
|
||||||
|
OxygenStateMessage,
|
||||||
|
TradeMessage,
|
||||||
|
UnknownMessage122,
|
||||||
|
DamageFeedbackMessage,
|
||||||
|
UnknownMessage124,
|
||||||
|
UnknownMessage125,
|
||||||
|
UnknownMessage126,
|
||||||
|
AvatarStatisticsMessage,
|
||||||
|
GenericObjectAction2Message,
|
||||||
|
DestroyDisplayMessage,
|
||||||
|
|
||||||
|
// OPCODE 130
|
||||||
|
TriggerBotAction,
|
||||||
|
UnknownMessage131,
|
||||||
|
SquadWaypointEvent,
|
||||||
|
OffshoreVehicleMessage,
|
||||||
|
ObjectDeployedMessage,
|
||||||
|
ObjectDeployedCountMessage,
|
||||||
|
UnknownMessage136,
|
||||||
|
UnknownMessage137,
|
||||||
|
PlayerStasisMessage,
|
||||||
|
UnknownMessage139,
|
||||||
|
|
||||||
|
// OPCODE 140
|
||||||
|
UnknownMessage140,
|
||||||
|
OutfitMembershipResponse,
|
||||||
|
UnknownMessage142,
|
||||||
|
OutfitEvent,
|
||||||
|
OutfitMemberEvent,
|
||||||
|
OutfitMemberUpdate,
|
||||||
|
PlanetsideStringAttributeMessage,
|
||||||
|
DataChallengeMessage,
|
||||||
|
UnknownMessage148,
|
||||||
|
WeatherMessage,
|
||||||
|
|
||||||
|
// OPCODE 150
|
||||||
|
SimDataChallengeResp,
|
||||||
|
UnknownMessage151,
|
||||||
|
OutfitListEvent,
|
||||||
|
EmpireIncentivesMessage,
|
||||||
|
UnknownMessage154,
|
||||||
|
SyncMessage,
|
||||||
|
DebugDrawMessage,
|
||||||
|
SoulMarkMessage,
|
||||||
|
UplinkPositionEvent,
|
||||||
|
HotSpotUpdateMessage,
|
||||||
|
|
||||||
|
// OPCODE 160
|
||||||
|
BuildingInfoUpdateMessage,
|
||||||
|
FireHintMessage,
|
||||||
|
UnknownMessage162,
|
||||||
|
UplinkResponse,
|
||||||
|
UnknownMessage164,
|
||||||
|
WarpgateResponse,
|
||||||
|
DamageWithPositionMessage,
|
||||||
|
GenericActionMessage,
|
||||||
|
ContinentalLockUpdateMessage,
|
||||||
|
AvatarGrenadeStateMessage,
|
||||||
|
|
||||||
|
// OPCODE 170
|
||||||
|
UnknownMessage170,
|
||||||
|
UnknownMessage171,
|
||||||
|
UnknownMessage172,
|
||||||
|
AvatarDeadStateMessage,
|
||||||
|
CSAssistMessage,
|
||||||
|
CSAssistCommentMessage,
|
||||||
|
UnknownMessage176,
|
||||||
|
UnknownMessage177,
|
||||||
|
VoiceHostInfo,
|
||||||
|
BattleplanMessage,
|
||||||
|
|
||||||
|
// OPCODE 180
|
||||||
|
BattleExperienceMessage,
|
||||||
|
UnknownMessage181,
|
||||||
|
ZonePopulationUpdateMessage,
|
||||||
|
DisconnectMessage,
|
||||||
|
ExperienceAddedMessage,
|
||||||
|
OrbitalStrikeWaypointMessage,
|
||||||
|
KeepAliveMessage,
|
||||||
|
MapObjectStateBlockMessage,
|
||||||
|
SnoopMsg,
|
||||||
|
PlayerStateMessageUpstream,
|
||||||
|
|
||||||
|
// OPCODE 190
|
||||||
|
PlayerStateShiftMessage,
|
||||||
|
ZipLineMessage,
|
||||||
|
CaptureFlagUpdateMessage,
|
||||||
|
VanuModuleUpdateMessage,
|
||||||
|
UnknownMessage194,
|
||||||
|
ProximityTerminalUseMessage,
|
||||||
|
QuantityDeltaUpdateMessage,
|
||||||
|
ChainLashMessage,
|
||||||
|
ZoneInfoMessage,
|
||||||
|
UnknownMessage199,
|
||||||
|
|
||||||
|
// OPCODE 200
|
||||||
|
WeaponLazeTargetPositionMessage,
|
||||||
|
ModuleLimitsMessage,
|
||||||
|
OutfitBenefitMessage,
|
||||||
|
EmpireChangeTimeMessage,
|
||||||
|
ClockCalibrationMessage,
|
||||||
|
DensityLevelUpdateMessage,
|
||||||
|
ActOfGodMessage,
|
||||||
|
AvatarAwardMessage,
|
||||||
|
UnknownMessage208,
|
||||||
|
DisplayedAwardMessage,
|
||||||
|
|
||||||
|
// OPCODE 210
|
||||||
|
RespawnAMSInfoMessage,
|
||||||
|
ComponentDamageMessage,
|
||||||
|
UnknownMessage212,
|
||||||
|
PropertyOverrideMessage,
|
||||||
|
WarpgateLinkOverrideMessage,
|
||||||
|
EmpireBenefitsMessage,
|
||||||
|
ForceEmpireMessage,
|
||||||
|
BroadcastWarpgateUpdateMessage,
|
||||||
|
UnknownMessage218,
|
||||||
|
UnknownMessage219,
|
||||||
|
|
||||||
|
// OPCODE 220
|
||||||
|
SquadMainTerminalResponseMessage,
|
||||||
|
SquadOrderMessage,
|
||||||
|
UnknownMessage222,
|
||||||
|
ZoneLockInfoMessage,
|
||||||
|
SquadBindInfoMessage,
|
||||||
|
AudioSequenceMessage,
|
||||||
|
SquadFacilityBindInfoMessage,
|
||||||
|
ZoneForcedCavernConnectionsMessage,
|
||||||
|
MissionActionMessage,
|
||||||
|
UnknownMessage229,
|
||||||
|
|
||||||
|
// OPCODE 230
|
||||||
|
ReplicationStreamMessage,
|
||||||
|
SquadDefinitionActionMessage,
|
||||||
|
SquadDetailDefinitionUpdateMessage,
|
||||||
|
TacticsMessage,
|
||||||
|
RabbitUpdateMessage,
|
||||||
|
SquadInvitationRequestMessage,
|
||||||
|
CharacterKnowledgeMessage,
|
||||||
|
GameScoreUpdateMessage,
|
||||||
|
UnknownMessage238,
|
||||||
|
UnknownMessage239,
|
||||||
|
|
||||||
|
// OPCODE 240
|
||||||
|
QueueTimedHelpMessage,
|
||||||
|
MailMessage,
|
||||||
|
UnknownMessage242,
|
||||||
|
ClientCheatedMessage,
|
||||||
|
UnknownMessage244,
|
||||||
|
UnknownMessage245,
|
||||||
|
UnknownMessage246,
|
||||||
|
UnknownMessage247,
|
||||||
|
UnknownMessage248,
|
||||||
|
UnknownMessage249,
|
||||||
|
|
||||||
|
// OPCODE 250
|
||||||
|
UnknownMessage250,
|
||||||
|
UnknownMessage251,
|
||||||
|
UnknownMessage252,
|
||||||
|
UnknownMessage253,
|
||||||
|
UnknownMessage254,
|
||||||
|
UnknownMessage255
|
||||||
= Value
|
= Value
|
||||||
|
|
||||||
|
private def noDecoder(opcode : GamePacketOpcode.Type) = (a : BitVector) =>
|
||||||
|
Attempt.failure(Err(s"Could not find a marshaller for game packet ${opcode}"))
|
||||||
|
|
||||||
def getPacketDecoder(opcode : GamePacketOpcode.Type) : (BitVector) => Attempt[DecodeResult[PlanetSideGamePacket]] = opcode match {
|
def getPacketDecoder(opcode : GamePacketOpcode.Type) : (BitVector) => Attempt[DecodeResult[PlanetSideGamePacket]] = opcode match {
|
||||||
case ConnectToWorldRequestMessage => game.ConnectToWorldRequestMessage.decode
|
// OPCODE 0
|
||||||
case ConnectToWorldMessage => game.ConnectToWorldMessage.decode
|
case Unknown0 => noDecoder(opcode)
|
||||||
case LoginMessage => game.LoginMessage.decode
|
case LoginMessage => game.LoginMessage.decode
|
||||||
case LoginRespMessage => game.LoginRespMessage.decode
|
case LoginRespMessage => game.LoginRespMessage.decode
|
||||||
|
case ConnectToWorldRequestMessage => game.ConnectToWorldRequestMessage.decode
|
||||||
|
case ConnectToWorldMessage => game.ConnectToWorldMessage.decode
|
||||||
case VNLWorldStatusMessage => game.VNLWorldStatusMessage.decode
|
case VNLWorldStatusMessage => game.VNLWorldStatusMessage.decode
|
||||||
case default => (a : BitVector) => Attempt.failure(Err(s"Could not find a marshaller for game packet ${opcode}"))
|
case UnknownMessage6 => noDecoder(opcode)
|
||||||
}
|
case UnknownMessage7 => noDecoder(opcode)
|
||||||
|
case PlayerStateMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage9 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 10
|
||||||
|
case HitHint => noDecoder(opcode)
|
||||||
|
case DamageMessage => noDecoder(opcode)
|
||||||
|
case DestroyMessage => noDecoder(opcode)
|
||||||
|
case ReloadMessage => noDecoder(opcode)
|
||||||
|
case MountVehicleMsg => noDecoder(opcode)
|
||||||
|
case DismountVehicleMsg => noDecoder(opcode)
|
||||||
|
case UseItemMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage17 => noDecoder(opcode)
|
||||||
|
case ChatMsg => noDecoder(opcode)
|
||||||
|
case CharacterNoRecordMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 20
|
||||||
|
case CharacterInfoMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage21 => noDecoder(opcode)
|
||||||
|
case BindPlayerMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage23 => noDecoder(opcode)
|
||||||
|
case ObjectCreateMessage => noDecoder(opcode)
|
||||||
|
case ObjectDeleteMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage26 => noDecoder(opcode)
|
||||||
|
case VehicleStateMessage => noDecoder(opcode)
|
||||||
|
case FrameVehicleStateMessage => noDecoder(opcode)
|
||||||
|
case GenericObjectStateMsg => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 30
|
||||||
|
case UnknownMessage30 => noDecoder(opcode)
|
||||||
|
case ActionResultMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage32 => noDecoder(opcode)
|
||||||
|
case ActionProgressMessage => noDecoder(opcode)
|
||||||
|
case ActionCancelMessage => noDecoder(opcode)
|
||||||
|
case ActionCancelAcknowledgeMessage => noDecoder(opcode)
|
||||||
|
case SetEmpireMessage => noDecoder(opcode)
|
||||||
|
case EmoteMsg => noDecoder(opcode)
|
||||||
|
case UnuseItemMessage => noDecoder(opcode)
|
||||||
|
case ObjectDetachMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 40
|
||||||
|
case CreateShortcutMessage => noDecoder(opcode)
|
||||||
|
case ChangeShortcutBankMessage => noDecoder(opcode)
|
||||||
|
case ObjectAttachMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage43 => noDecoder(opcode)
|
||||||
|
case PlanetsideAttributeMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage45 => noDecoder(opcode)
|
||||||
|
case UnknownMessage46 => noDecoder(opcode)
|
||||||
|
case UnknownMessage47 => noDecoder(opcode)
|
||||||
|
case UnknownMessage48 => noDecoder(opcode)
|
||||||
|
case LoadMapMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 50
|
||||||
|
case PlayerAvatarChangedMessage => noDecoder(opcode)
|
||||||
|
case ObjectHeldMessage => noDecoder(opcode)
|
||||||
|
case WeaponFireMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage53 => noDecoder(opcode)
|
||||||
|
case UnknownMessage54 => noDecoder(opcode)
|
||||||
|
case UnknownMessage55 => noDecoder(opcode)
|
||||||
|
case InventoryStateMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage57 => noDecoder(opcode)
|
||||||
|
case ChangeFireStateMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage59 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 60
|
||||||
|
case UnknownMessage60 => noDecoder(opcode)
|
||||||
|
case QuantityUpdateMessage => noDecoder(opcode)
|
||||||
|
case ArmorChangedMessage => noDecoder(opcode)
|
||||||
|
case ProjectileStateMessage => noDecoder(opcode)
|
||||||
|
case MountVehicleCargoMsg => noDecoder(opcode)
|
||||||
|
case DismountVehicleCargoMsg => noDecoder(opcode)
|
||||||
|
case CargoMountPointStatusMessage => noDecoder(opcode)
|
||||||
|
case BeginZoningMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage68 => noDecoder(opcode)
|
||||||
|
case ItemTransactionResultMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 70
|
||||||
|
case ChangeFireModeMessage => noDecoder(opcode)
|
||||||
|
case ChangeAmmoMessage => noDecoder(opcode)
|
||||||
|
case TimeOfDayMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage73 => noDecoder(opcode)
|
||||||
|
case SpawnRequestMessage => noDecoder(opcode)
|
||||||
|
case DeployRequestMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage76 => noDecoder(opcode)
|
||||||
|
case RepairMessage => noDecoder(opcode)
|
||||||
|
case ServerVehicleOverrideMsg => noDecoder(opcode)
|
||||||
|
case UnknownMessage79 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 80
|
||||||
|
case TargetingInfoMessage => noDecoder(opcode)
|
||||||
|
case TriggerEffectMessage => noDecoder(opcode)
|
||||||
|
case WeaponDryFireMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage83 => noDecoder(opcode)
|
||||||
|
case HackMessage => noDecoder(opcode)
|
||||||
|
case DroppodLaunchResponseMessage => noDecoder(opcode)
|
||||||
|
case GenericObjectActionMessage => noDecoder(opcode)
|
||||||
|
case AvatarVehicleTimerMessage => noDecoder(opcode)
|
||||||
|
case AvatarImplantMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage89 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 90
|
||||||
|
case DelayedPathMountMsg => noDecoder(opcode)
|
||||||
|
case OrbitalShuttleTimeMsg => noDecoder(opcode)
|
||||||
|
case UnknownMessage92 => noDecoder(opcode)
|
||||||
|
case UnknownMessage93 => noDecoder(opcode)
|
||||||
|
case UnknownMessage94 => noDecoder(opcode)
|
||||||
|
case FavoritesResponse => noDecoder(opcode)
|
||||||
|
case FavoritesMessage => noDecoder(opcode)
|
||||||
|
case ObjectDetectedMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage98 => noDecoder(opcode)
|
||||||
|
case SetChatFilterMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 100
|
||||||
|
case AvatarSearchCriteriaMessage => noDecoder(opcode)
|
||||||
|
case AvatarSearchResponse => noDecoder(opcode)
|
||||||
|
case WeaponJammedMessage => noDecoder(opcode)
|
||||||
|
case LinkDeadAwarenessMsg => noDecoder(opcode)
|
||||||
|
case DroppodFreefallingMessage => noDecoder(opcode)
|
||||||
|
case AvatarFirstTimeEventMessage => noDecoder(opcode)
|
||||||
|
case AggravatedDamageMessage => noDecoder(opcode)
|
||||||
|
case TriggerSoundMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage108 => noDecoder(opcode)
|
||||||
|
case UnknownMessage109 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 110
|
||||||
|
case UnknownMessage110 => noDecoder(opcode)
|
||||||
|
case SquadMembershipResponse => noDecoder(opcode)
|
||||||
|
case SquadMemberEvent => noDecoder(opcode)
|
||||||
|
case PlatoonEvent => noDecoder(opcode)
|
||||||
|
case UnknownMessage114 => noDecoder(opcode)
|
||||||
|
case FriendsResponse => noDecoder(opcode)
|
||||||
|
case TriggerEnvironmentalDamageMessage => noDecoder(opcode)
|
||||||
|
case TrainingZoneMessage => noDecoder(opcode)
|
||||||
|
case DeployableObjectsInfoMessage => noDecoder(opcode)
|
||||||
|
case SquadState => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 120
|
||||||
|
case OxygenStateMessage => noDecoder(opcode)
|
||||||
|
case TradeMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage122 => noDecoder(opcode)
|
||||||
|
case DamageFeedbackMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage124 => noDecoder(opcode)
|
||||||
|
case UnknownMessage125 => noDecoder(opcode)
|
||||||
|
case UnknownMessage126 => noDecoder(opcode)
|
||||||
|
case AvatarStatisticsMessage => noDecoder(opcode)
|
||||||
|
case GenericObjectAction2Message => noDecoder(opcode)
|
||||||
|
case DestroyDisplayMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 130
|
||||||
|
case TriggerBotAction => noDecoder(opcode)
|
||||||
|
case UnknownMessage131 => noDecoder(opcode)
|
||||||
|
case SquadWaypointEvent => noDecoder(opcode)
|
||||||
|
case OffshoreVehicleMessage => noDecoder(opcode)
|
||||||
|
case ObjectDeployedMessage => noDecoder(opcode)
|
||||||
|
case ObjectDeployedCountMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage136 => noDecoder(opcode)
|
||||||
|
case UnknownMessage137 => noDecoder(opcode)
|
||||||
|
case PlayerStasisMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage139 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 140
|
||||||
|
case UnknownMessage140 => noDecoder(opcode)
|
||||||
|
case OutfitMembershipResponse => noDecoder(opcode)
|
||||||
|
case UnknownMessage142 => noDecoder(opcode)
|
||||||
|
case OutfitEvent => noDecoder(opcode)
|
||||||
|
case OutfitMemberEvent => noDecoder(opcode)
|
||||||
|
case OutfitMemberUpdate => noDecoder(opcode)
|
||||||
|
case PlanetsideStringAttributeMessage => noDecoder(opcode)
|
||||||
|
case DataChallengeMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage148 => noDecoder(opcode)
|
||||||
|
case WeatherMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 150
|
||||||
|
case SimDataChallengeResp => noDecoder(opcode)
|
||||||
|
case UnknownMessage151 => noDecoder(opcode)
|
||||||
|
case OutfitListEvent => noDecoder(opcode)
|
||||||
|
case EmpireIncentivesMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage154 => noDecoder(opcode)
|
||||||
|
case SyncMessage => noDecoder(opcode)
|
||||||
|
case DebugDrawMessage => noDecoder(opcode)
|
||||||
|
case SoulMarkMessage => noDecoder(opcode)
|
||||||
|
case UplinkPositionEvent => noDecoder(opcode)
|
||||||
|
case HotSpotUpdateMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 160
|
||||||
|
case BuildingInfoUpdateMessage => noDecoder(opcode)
|
||||||
|
case FireHintMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage162 => noDecoder(opcode)
|
||||||
|
case UplinkResponse => noDecoder(opcode)
|
||||||
|
case UnknownMessage164 => noDecoder(opcode)
|
||||||
|
case WarpgateResponse => noDecoder(opcode)
|
||||||
|
case DamageWithPositionMessage => noDecoder(opcode)
|
||||||
|
case GenericActionMessage => noDecoder(opcode)
|
||||||
|
case ContinentalLockUpdateMessage => noDecoder(opcode)
|
||||||
|
case AvatarGrenadeStateMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 170
|
||||||
|
case UnknownMessage170 => noDecoder(opcode)
|
||||||
|
case UnknownMessage171 => noDecoder(opcode)
|
||||||
|
case UnknownMessage172 => noDecoder(opcode)
|
||||||
|
case AvatarDeadStateMessage => noDecoder(opcode)
|
||||||
|
case CSAssistMessage => noDecoder(opcode)
|
||||||
|
case CSAssistCommentMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage176 => noDecoder(opcode)
|
||||||
|
case UnknownMessage177 => noDecoder(opcode)
|
||||||
|
case VoiceHostInfo => noDecoder(opcode)
|
||||||
|
case BattleplanMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 180
|
||||||
|
case BattleExperienceMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage181 => noDecoder(opcode)
|
||||||
|
case ZonePopulationUpdateMessage => noDecoder(opcode)
|
||||||
|
case DisconnectMessage => noDecoder(opcode)
|
||||||
|
case ExperienceAddedMessage => noDecoder(opcode)
|
||||||
|
case OrbitalStrikeWaypointMessage => noDecoder(opcode)
|
||||||
|
case KeepAliveMessage => game.KeepAliveMessage.decode
|
||||||
|
case MapObjectStateBlockMessage => noDecoder(opcode)
|
||||||
|
case SnoopMsg => noDecoder(opcode)
|
||||||
|
case PlayerStateMessageUpstream => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 190
|
||||||
|
case PlayerStateShiftMessage => noDecoder(opcode)
|
||||||
|
case ZipLineMessage => noDecoder(opcode)
|
||||||
|
case CaptureFlagUpdateMessage => noDecoder(opcode)
|
||||||
|
case VanuModuleUpdateMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage194 => noDecoder(opcode)
|
||||||
|
case ProximityTerminalUseMessage => noDecoder(opcode)
|
||||||
|
case QuantityDeltaUpdateMessage => noDecoder(opcode)
|
||||||
|
case ChainLashMessage => noDecoder(opcode)
|
||||||
|
case ZoneInfoMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage199 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 200
|
||||||
|
case WeaponLazeTargetPositionMessage => noDecoder(opcode)
|
||||||
|
case ModuleLimitsMessage => noDecoder(opcode)
|
||||||
|
case OutfitBenefitMessage => noDecoder(opcode)
|
||||||
|
case EmpireChangeTimeMessage => noDecoder(opcode)
|
||||||
|
case ClockCalibrationMessage => noDecoder(opcode)
|
||||||
|
case DensityLevelUpdateMessage => noDecoder(opcode)
|
||||||
|
case ActOfGodMessage => noDecoder(opcode)
|
||||||
|
case AvatarAwardMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage208 => noDecoder(opcode)
|
||||||
|
case DisplayedAwardMessage => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 210
|
||||||
|
case RespawnAMSInfoMessage => noDecoder(opcode)
|
||||||
|
case ComponentDamageMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage212 => noDecoder(opcode)
|
||||||
|
case PropertyOverrideMessage => noDecoder(opcode)
|
||||||
|
case WarpgateLinkOverrideMessage => noDecoder(opcode)
|
||||||
|
case EmpireBenefitsMessage => noDecoder(opcode)
|
||||||
|
case ForceEmpireMessage => noDecoder(opcode)
|
||||||
|
case BroadcastWarpgateUpdateMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage218 => noDecoder(opcode)
|
||||||
|
case UnknownMessage219 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 220
|
||||||
|
case SquadMainTerminalResponseMessage => noDecoder(opcode)
|
||||||
|
case SquadOrderMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage222 => noDecoder(opcode)
|
||||||
|
case ZoneLockInfoMessage => noDecoder(opcode)
|
||||||
|
case SquadBindInfoMessage => noDecoder(opcode)
|
||||||
|
case AudioSequenceMessage => noDecoder(opcode)
|
||||||
|
case SquadFacilityBindInfoMessage => noDecoder(opcode)
|
||||||
|
case ZoneForcedCavernConnectionsMessage => noDecoder(opcode)
|
||||||
|
case MissionActionMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage229 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 230
|
||||||
|
case ReplicationStreamMessage => noDecoder(opcode)
|
||||||
|
case SquadDefinitionActionMessage => noDecoder(opcode)
|
||||||
|
case SquadDetailDefinitionUpdateMessage => noDecoder(opcode)
|
||||||
|
case TacticsMessage => noDecoder(opcode)
|
||||||
|
case RabbitUpdateMessage => noDecoder(opcode)
|
||||||
|
case SquadInvitationRequestMessage => noDecoder(opcode)
|
||||||
|
case CharacterKnowledgeMessage => noDecoder(opcode)
|
||||||
|
case GameScoreUpdateMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage238 => noDecoder(opcode)
|
||||||
|
case UnknownMessage239 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 240
|
||||||
|
case QueueTimedHelpMessage => noDecoder(opcode)
|
||||||
|
case MailMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage242 => noDecoder(opcode)
|
||||||
|
case ClientCheatedMessage => noDecoder(opcode)
|
||||||
|
case UnknownMessage244 => noDecoder(opcode)
|
||||||
|
case UnknownMessage245 => noDecoder(opcode)
|
||||||
|
case UnknownMessage246 => noDecoder(opcode)
|
||||||
|
case UnknownMessage247 => noDecoder(opcode)
|
||||||
|
case UnknownMessage248 => noDecoder(opcode)
|
||||||
|
case UnknownMessage249 => noDecoder(opcode)
|
||||||
|
|
||||||
|
// OPCODE 250
|
||||||
|
case UnknownMessage250 => noDecoder(opcode)
|
||||||
|
case UnknownMessage251 => noDecoder(opcode)
|
||||||
|
case UnknownMessage252 => noDecoder(opcode)
|
||||||
|
case UnknownMessage253 => noDecoder(opcode)
|
||||||
|
case UnknownMessage254 => noDecoder(opcode)
|
||||||
|
case UnknownMessage255 => noDecoder(opcode)
|
||||||
|
case default => noDecoder(opcode)
|
||||||
|
}
|
||||||
|
|
||||||
implicit val codec: Codec[this.Value] = PacketHelpers.createEnumerationCodec(this, uint8L)
|
implicit val codec: Codec[this.Value] = PacketHelpers.createEnumerationCodec(this, uint8L)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package net.psforever.packet.game
|
||||||
|
|
||||||
|
import net.psforever.packet.{GamePacketOpcode, Marshallable, PacketHelpers, PlanetSideGamePacket}
|
||||||
|
import scodec.Codec
|
||||||
|
import scodec.codecs._
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Root on 5/19/2016.
|
||||||
|
*/
|
||||||
|
final case class KeepAliveMessage(code : Int) extends PlanetSideGamePacket {
|
||||||
|
type Packet = KeepAliveMessage
|
||||||
|
def opcode = GamePacketOpcode.KeepAliveMessage
|
||||||
|
def encode = KeepAliveMessage.encode(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
object KeepAliveMessage extends Marshallable[KeepAliveMessage] {
|
||||||
|
implicit val codec : Codec[KeepAliveMessage] = ("keep_alive_code" | uint16L).as[KeepAliveMessage]
|
||||||
|
}
|
||||||
|
|
@ -84,8 +84,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
||||||
}
|
}
|
||||||
|
|
||||||
def handleGamePkt(pkt : PlanetSideGamePacket) = pkt match {
|
def handleGamePkt(pkt : PlanetSideGamePacket) = pkt match {
|
||||||
case LoginMessage(majorVersion, minorVersion, buildDate, username,
|
case LoginMessage(majorVersion, minorVersion, buildDate, username, password, token, revision) =>
|
||||||
password, token, revision) =>
|
|
||||||
|
|
||||||
val clientVersion = s"Client Version: ${majorVersion}.${minorVersion}.${revision}, ${buildDate}"
|
val clientVersion = s"Client Version: ${majorVersion}.${minorVersion}.${revision}, ${buildDate}"
|
||||||
|
|
||||||
|
|
@ -97,6 +96,8 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
||||||
// testing
|
// testing
|
||||||
//sendRawResponse(hex"00 09 00 00 00 19 08 2C 00 00 4B 00 00 00 00 02 1F 80 09 9B 05 00 00 00 0D 77 BC F1 05 12 2E 40 00 80 3F D7 04 00 00 00 61 C0 6C 6F 63 6B 2D 7A 33 61 C0 6C 6F 63 6B 2D 7A 34 61 C0 6C 6F 63 6B 2D 7A 39 64 00 6C 6F 63 6B 2D 69 31 2D 69 32 2D 69 33 2D 69 34 04 00 00 00 40 40 10 30 04 10 01 06 00 ")
|
//sendRawResponse(hex"00 09 00 00 00 19 08 2C 00 00 4B 00 00 00 00 02 1F 80 09 9B 05 00 00 00 0D 77 BC F1 05 12 2E 40 00 80 3F D7 04 00 00 00 61 C0 6C 6F 63 6B 2D 7A 33 61 C0 6C 6F 63 6B 2D 7A 34 61 C0 6C 6F 63 6B 2D 7A 39 64 00 6C 6F 63 6B 2D 69 31 2D 69 32 2D 69 33 2D 69 34 04 00 00 00 40 40 10 30 04 10 01 06 00 ")
|
||||||
//sendRawResponse(hex"00 09 00 01 00 19 08 2C 00 00 70 01 00 00 00 6A 95 01 00 00 00 00 79 94 FD BF 00 A1 AF BF F3 A5 D0 3E 26 39 76 3B 08 00 00 00 36 AE 11 3F 70 5D 9B 3E 2E 15 9A 9B 3A 3F CC 90 DB 3E 45 1C EC 0F 14 3D AF CF 36 3F 06 32 BA AF 13 3F 18 4C 12 3F 26 2F D2 2D 71 3F 94 AA FB 3E 4D 16 5D 1B 1A 3F 0C 25 D5 3C 55 6B 38 89 63 3F 5D F5 25 3F 3C AC 8E 5E E6 3E 79 25 62 3F 10 32 1F 12 E3 40 00 9A 40 43 4D 54 5F 43 55 4C 4C 57 41 54 45 52 4D 41 52 4B 5F 73 75 63 63 65 73 73 ")
|
//sendRawResponse(hex"00 09 00 01 00 19 08 2C 00 00 70 01 00 00 00 6A 95 01 00 00 00 00 79 94 FD BF 00 A1 AF BF F3 A5 D0 3E 26 39 76 3B 08 00 00 00 36 AE 11 3F 70 5D 9B 3E 2E 15 9A 9B 3A 3F CC 90 DB 3E 45 1C EC 0F 14 3D AF CF 36 3F 06 32 BA AF 13 3F 18 4C 12 3F 26 2F D2 2D 71 3F 94 AA FB 3E 4D 16 5D 1B 1A 3F 0C 25 D5 3C 55 6B 38 89 63 3F 5D F5 25 3F 3C AC 8E 5E E6 3E 79 25 62 3F 10 32 1F 12 E3 40 00 9A 40 43 4D 54 5F 43 55 4C 4C 57 41 54 45 52 4D 41 52 4B 5F 73 75 63 63 65 73 73 ")
|
||||||
|
case KeepAliveMessage(code) =>
|
||||||
|
sendResponse(PacketCoding.CreateGamePacket(0, KeepAliveMessage(0)))
|
||||||
case default => log.debug(s"Unhandled GamePacket ${pkt}")
|
case default => log.debug(s"Unhandled GamePacket ${pkt}")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue