mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-07-14 16:04:41 +00:00
Extra information gleaned from beta client (#256)
This commit is contained in:
parent
a467a79c71
commit
f424fa637e
8 changed files with 71 additions and 20 deletions
|
|
@ -18,14 +18,14 @@ object GamePacketOpcode extends Enumeration {
|
||||||
type Type = Value
|
type Type = Value
|
||||||
val
|
val
|
||||||
// OPCODES 0x00-0f
|
// OPCODES 0x00-0f
|
||||||
Unknown0,
|
Unknown0, // PPT_NULL in beta client
|
||||||
LoginMessage,
|
LoginMessage,
|
||||||
LoginRespMessage,
|
LoginRespMessage,
|
||||||
ConnectToWorldRequestMessage, // found by searching for 83 F8 03 89 in IDA
|
ConnectToWorldRequestMessage, // found by searching for 83 F8 03 89 in IDA
|
||||||
ConnectToWorldMessage,
|
ConnectToWorldMessage,
|
||||||
VNLWorldStatusMessage,
|
VNLWorldStatusMessage,
|
||||||
UnknownMessage6,
|
UnknownMessage6, // PPT_TRANSFERTOWORLDREQUEST
|
||||||
UnknownMessage7,
|
UnknownMessage7, // PPT_TRANSFERTOWORLDRESPONSE
|
||||||
// 0x08
|
// 0x08
|
||||||
PlayerStateMessage,
|
PlayerStateMessage,
|
||||||
HitMessage,
|
HitMessage,
|
||||||
|
|
@ -42,11 +42,11 @@ object GamePacketOpcode extends Enumeration {
|
||||||
ChatMsg,
|
ChatMsg,
|
||||||
CharacterNoRecordMessage,
|
CharacterNoRecordMessage,
|
||||||
CharacterInfoMessage,
|
CharacterInfoMessage,
|
||||||
UnknownMessage21,
|
UnknownMessage21, // PPT_DISCONNECT
|
||||||
BindPlayerMessage,
|
BindPlayerMessage,
|
||||||
ObjectCreateMessage_Duplicate,
|
ObjectCreateMessage_Duplicate, // PPT_OBJECTCREATE
|
||||||
// 0x18
|
// 0x18
|
||||||
ObjectCreateMessage,
|
ObjectCreateMessage, // PPT_OBJECTCREATEDETAILED
|
||||||
ObjectDeleteMessage,
|
ObjectDeleteMessage,
|
||||||
PingMsg,
|
PingMsg,
|
||||||
VehicleStateMessage,
|
VehicleStateMessage,
|
||||||
|
|
@ -56,7 +56,7 @@ object GamePacketOpcode extends Enumeration {
|
||||||
ActionResultMessage,
|
ActionResultMessage,
|
||||||
|
|
||||||
// OPCODES 0x20-2f
|
// OPCODES 0x20-2f
|
||||||
UnknownMessage32,
|
UnknownMessage32, // PPT_ACTIONBEGIN
|
||||||
ActionProgressMessage,
|
ActionProgressMessage,
|
||||||
ActionCancelMessage,
|
ActionCancelMessage,
|
||||||
ActionCancelAcknowledgeMessage,
|
ActionCancelAcknowledgeMessage,
|
||||||
|
|
@ -68,10 +68,10 @@ object GamePacketOpcode extends Enumeration {
|
||||||
CreateShortcutMessage,
|
CreateShortcutMessage,
|
||||||
ChangeShortcutBankMessage,
|
ChangeShortcutBankMessage,
|
||||||
ObjectAttachMessage,
|
ObjectAttachMessage,
|
||||||
UnknownMessage43,
|
UnknownMessage43, // PPT_OBJECTEMPTY
|
||||||
PlanetsideAttributeMessage,
|
PlanetsideAttributeMessage,
|
||||||
RequestDestroyMessage,
|
RequestDestroyMessage,
|
||||||
UnknownMessage46,
|
UnknownMessage46, // PPT_EQUIPITEM
|
||||||
CharacterCreateRequestMessage,
|
CharacterCreateRequestMessage,
|
||||||
|
|
||||||
// OPCODES 0x30-3f
|
// OPCODES 0x30-3f
|
||||||
|
|
@ -104,10 +104,10 @@ object GamePacketOpcode extends Enumeration {
|
||||||
ChangeAmmoMessage,
|
ChangeAmmoMessage,
|
||||||
// 0x48
|
// 0x48
|
||||||
TimeOfDayMessage,
|
TimeOfDayMessage,
|
||||||
UnknownMessage73,
|
UnknownMessage73, // PPT_PROJECTILE_EVENT_BLOCK
|
||||||
SpawnRequestMessage,
|
SpawnRequestMessage,
|
||||||
DeployRequestMessage,
|
DeployRequestMessage,
|
||||||
UnknownMessage76,
|
UnknownMessage76, // PPT_BUILDINGSTATECHANGED
|
||||||
RepairMessage,
|
RepairMessage,
|
||||||
ServerVehicleOverrideMsg,
|
ServerVehicleOverrideMsg,
|
||||||
LashMessage,
|
LashMessage,
|
||||||
|
|
@ -123,7 +123,7 @@ object GamePacketOpcode extends Enumeration {
|
||||||
AvatarVehicleTimerMessage,
|
AvatarVehicleTimerMessage,
|
||||||
// 0x58
|
// 0x58
|
||||||
AvatarImplantMessage,
|
AvatarImplantMessage,
|
||||||
UnknownMessage89,
|
UnknownMessage89, // PPT_SEARCHMESSAGE
|
||||||
DelayedPathMountMsg,
|
DelayedPathMountMsg,
|
||||||
OrbitalShuttleTimeMsg,
|
OrbitalShuttleTimeMsg,
|
||||||
AIDamage,
|
AIDamage,
|
||||||
|
|
@ -165,8 +165,8 @@ object GamePacketOpcode extends Enumeration {
|
||||||
UnknownMessage122,
|
UnknownMessage122,
|
||||||
DamageFeedbackMessage,
|
DamageFeedbackMessage,
|
||||||
DismountBuildingMsg,
|
DismountBuildingMsg,
|
||||||
UnknownMessage125,
|
UnknownMessage125, // PPT_MOUNTBUILDING
|
||||||
UnknownMessage126,
|
UnknownMessage126, // PPT_INTENDEDDROPZONE
|
||||||
AvatarStatisticsMessage,
|
AvatarStatisticsMessage,
|
||||||
|
|
||||||
// OPCODES 0x80-8f
|
// OPCODES 0x80-8f
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,14 @@ import shapeless.{::, HNil}
|
||||||
* @param list list of detected objects;
|
* @param list list of detected objects;
|
||||||
* normally contains at least one element
|
* normally contains at least one element
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
BETA CLIENT DEBUG INFO:
|
||||||
|
Detector
|
||||||
|
Sender
|
||||||
|
Object Count
|
||||||
|
Detected Object[]
|
||||||
|
*/
|
||||||
final case class ObjectDetectedMessage(player_guid1 : PlanetSideGUID,
|
final case class ObjectDetectedMessage(player_guid1 : PlanetSideGUID,
|
||||||
player_guid2 : PlanetSideGUID,
|
player_guid2 : PlanetSideGUID,
|
||||||
unk : Int,
|
unk : Int,
|
||||||
|
|
|
||||||
|
|
@ -46,9 +46,13 @@ import scodec.codecs._
|
||||||
* `3 - staminaMax`<br>
|
* `3 - staminaMax`<br>
|
||||||
* `4 - armor`<br>
|
* `4 - armor`<br>
|
||||||
* `5 - armorMax`<br>
|
* `5 - armorMax`<br>
|
||||||
* `6 - transform the (other) avatar in backpack on ground`<br>
|
* `6 - PA_RELEASED - transform the (other) avatar in backpack on ground`<br>
|
||||||
|
* `7 - Sets charge level for MAX capacitor`<br>
|
||||||
|
* `8 - Enables empire specific max capacitor function - NC Shield, TR Overdrive, VS Jumpjets`
|
||||||
|
* `9 - Possibly unused now - PA_SHIELDSTRENGTH in beta client`
|
||||||
* `14 - Something with grief`<br>
|
* `14 - Something with grief`<br>
|
||||||
* `15 - Weapon Lock. Value exemple : 600 to have 1 min lock. Max possible is 30min lock`<br>
|
* `15 - Weapon Lock. Value exemple : 600 to have 1 min lock. Max possible is 30min lock`<br>
|
||||||
|
* `16 - PA_DECONSTRUCTING in beta client`<br>
|
||||||
* `17 - BEP. Value seems to be the same as BattleExperienceMessage`<br>
|
* `17 - BEP. Value seems to be the same as BattleExperienceMessage`<br>
|
||||||
* `18 - CEP.`<br>
|
* `18 - CEP.`<br>
|
||||||
* `19 - Anchors. Value is 0 to disengage, 1 to engage.`<br>
|
* `19 - Anchors. Value is 0 to disengage, 1 to engage.`<br>
|
||||||
|
|
@ -107,8 +111,11 @@ import scodec.codecs._
|
||||||
* 43 : Fortification Engineering<br>
|
* 43 : Fortification Engineering<br>
|
||||||
* 44 : Assault Engineering<br>
|
* 44 : Assault Engineering<br>
|
||||||
* 45 : Advanced Engineering (= Fortification Engineering + Assault Engineering) Must have Combat Engineering<br>
|
* 45 : Advanced Engineering (= Fortification Engineering + Assault Engineering) Must have Combat Engineering<br>
|
||||||
* `25 - Forget certifications (same order as 24)`
|
* `25 - Forget certifications (same order as 24)`<br>
|
||||||
* `29 - Visible ?! That's not the cloaked effect, Maybe for spectator mode ?. Value is 0 to visible, 1 to invisible.`<br>
|
* `26 - Certification reset timer (in seconds)`
|
||||||
|
* `27 - PA_JAMMED - plays jammed buzzing sound`<br>
|
||||||
|
* `28 - PA_IMPLANT_ACTIVE - Plays implant sounds. Valid values seem to be up to 20.`<br>
|
||||||
|
* `29 - PA_VAPORIZED - Visible ?! That's not the cloaked effect, Maybe for spectator mode ?. Value is 0 to visible, 1 to invisible.`<br>
|
||||||
* `31 - Info under avatar name : 0 = LFS, 1 = Looking For Squad Members`<br>
|
* `31 - Info under avatar name : 0 = LFS, 1 = Looking For Squad Members`<br>
|
||||||
* `32 - Info under avatar name : 0 = Looking For Squad Members, 1 = LFS`<br>
|
* `32 - Info under avatar name : 0 = Looking For Squad Members, 1 = LFS`<br>
|
||||||
* `35 - BR. Value is the BR`<br>
|
* `35 - BR. Value is the BR`<br>
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ import shapeless.{::, HNil}
|
||||||
* @param facingYawUpper a "yaw" angle that represents the angle of the avatar's upper body with respect to its forward-facing direction;
|
* @param facingYawUpper a "yaw" angle that represents the angle of the avatar's upper body with respect to its forward-facing direction;
|
||||||
* this number is normally 0 for forward facing;
|
* this number is normally 0 for forward facing;
|
||||||
* the range is limited between approximately 61 degrees of center turned to left or right
|
* the range is limited between approximately 61 degrees of center turned to left or right
|
||||||
* @param unk1 na
|
* @param timestamp A sequential counter
|
||||||
* @param is_crouching avatar is crouching
|
* @param is_crouching avatar is crouching
|
||||||
* @param is_jumping avatar is jumping;
|
* @param is_jumping avatar is jumping;
|
||||||
* must remain flagged for jump to maintain animation
|
* must remain flagged for jump to maintain animation
|
||||||
|
|
@ -51,7 +51,7 @@ final case class PlayerStateMessage(guid : PlanetSideGUID,
|
||||||
facingYaw : Float,
|
facingYaw : Float,
|
||||||
facingPitch : Float,
|
facingPitch : Float,
|
||||||
facingYawUpper : Float,
|
facingYawUpper : Float,
|
||||||
unk1 : Int,
|
timestamp : Int,
|
||||||
is_crouching : Boolean = false,
|
is_crouching : Boolean = false,
|
||||||
is_jumping : Boolean = false,
|
is_jumping : Boolean = false,
|
||||||
jump_thrust : Boolean = false,
|
jump_thrust : Boolean = false,
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,14 @@ import scodec.codecs._
|
||||||
* @param unk2 na;
|
* @param unk2 na;
|
||||||
* usually 5L
|
* usually 5L
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
BETA CLIENT DEBUG INFO:
|
||||||
|
Message type: %d (%s)\n length: %d\n
|
||||||
|
Environment Type: %u (%s)\n
|
||||||
|
Guid: %d\n
|
||||||
|
Damage Amount: %u\n
|
||||||
|
*/
|
||||||
final case class TriggerEnvironmentalDamageMessage(unk1 : Int,
|
final case class TriggerEnvironmentalDamageMessage(unk1 : Int,
|
||||||
target_guid : PlanetSideGUID,
|
target_guid : PlanetSideGUID,
|
||||||
unk2 : Long)
|
unk2 : Long)
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,19 @@ import scodec.codecs._
|
||||||
* 0 when door 1 when use rek (252 then equipment term)
|
* 0 when door 1 when use rek (252 then equipment term)
|
||||||
* @param object_id the object id `object_guid`'s object
|
* @param object_id the object id `object_guid`'s object
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
BETA CLIENT DEBUG INFO:
|
||||||
|
User GUID
|
||||||
|
UsedItem GUID
|
||||||
|
Target GUID
|
||||||
|
Old SlotIndex
|
||||||
|
Weapon Fire Use
|
||||||
|
RayTrace Start Position (3 fields - Vector3)
|
||||||
|
RayTrace Intersection Position (3 fields - Vector3)
|
||||||
|
Orientation (3 fields - Vector3)
|
||||||
|
Client Target ClassID
|
||||||
|
*/
|
||||||
final case class UseItemMessage(avatar_guid : PlanetSideGUID,
|
final case class UseItemMessage(avatar_guid : PlanetSideGUID,
|
||||||
item_used_guid : PlanetSideGUID,
|
item_used_guid : PlanetSideGUID,
|
||||||
object_guid : PlanetSideGUID,
|
object_guid : PlanetSideGUID,
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,21 @@ import scodec.codecs._
|
||||||
* @param unk6 na
|
* @param unk6 na
|
||||||
* @see `PlacementData`
|
* @see `PlacementData`
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
BETA CLIENT DEBUG INFO:
|
||||||
|
Guid
|
||||||
|
Agreement Id
|
||||||
|
Turn
|
||||||
|
Brakes
|
||||||
|
Position
|
||||||
|
Orientation
|
||||||
|
Velocity
|
||||||
|
Flight Status
|
||||||
|
Path Number
|
||||||
|
Has Damage Info %d (%d %d %d %d)
|
||||||
|
Cloaking
|
||||||
|
*/
|
||||||
final case class VehicleStateMessage(vehicle_guid : PlanetSideGUID,
|
final case class VehicleStateMessage(vehicle_guid : PlanetSideGUID,
|
||||||
unk1 : Int,
|
unk1 : Int,
|
||||||
pos : Vector3,
|
pos : Vector3,
|
||||||
|
|
|
||||||
|
|
@ -1104,7 +1104,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
||||||
msg.facingYaw,
|
msg.facingYaw,
|
||||||
msg.facingPitch,
|
msg.facingPitch,
|
||||||
msg.facingYawUpper,
|
msg.facingYawUpper,
|
||||||
unk1 = 0,
|
timestamp = 0,
|
||||||
msg.is_crouching,
|
msg.is_crouching,
|
||||||
msg.is_jumping,
|
msg.is_jumping,
|
||||||
msg.jump_thrust,
|
msg.jump_thrust,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue