mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-01-19 18:14:44 +00:00
Packet: KeepAliveMessage and add all game packet opcodes
This commit is contained in:
parent
6b02d2faab
commit
e8031f0109
|
|
@ -28,17 +28,610 @@ object GamePacketOpcode extends Enumeration {
|
|||
DestroyMessage,
|
||||
ReloadMessage,
|
||||
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
|
||||
|
||||
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 {
|
||||
case ConnectToWorldRequestMessage => game.ConnectToWorldRequestMessage.decode
|
||||
case ConnectToWorldMessage => game.ConnectToWorldMessage.decode
|
||||
// OPCODE 0
|
||||
case Unknown0 => noDecoder(opcode)
|
||||
case LoginMessage => game.LoginMessage.decode
|
||||
case LoginRespMessage => game.LoginRespMessage.decode
|
||||
case ConnectToWorldRequestMessage => game.ConnectToWorldRequestMessage.decode
|
||||
case ConnectToWorldMessage => game.ConnectToWorldMessage.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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
case LoginMessage(majorVersion, minorVersion, buildDate, username,
|
||||
password, token, revision) =>
|
||||
case LoginMessage(majorVersion, minorVersion, buildDate, username, password, token, revision) =>
|
||||
|
||||
val clientVersion = s"Client Version: ${majorVersion}.${minorVersion}.${revision}, ${buildDate}"
|
||||
|
||||
|
|
@ -97,6 +96,8 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
// 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 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}")
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue