Package

net.psforever

packet

Permalink

package packet

Visibility
  1. Public
  2. All

Type Members

  1. final case class ControlPacket(opcode: ControlPacketOpcode.Value, packet: PlanetSideControlPacket) extends PlanetSidePacketContainer with Product with Serializable

    Permalink

    A control packet is prefaced with a zero'd byte (00) followed by a special byte opcode for the type of control packet.

    A control packet is prefaced with a zero'd byte (00) followed by a special byte opcode for the type of control packet.

    opcode

    a byte that identifies the packet

    packet

    the packet data

  2. final case class CryptoPacket(sequenceNumber: Int, packet: PlanetSideCryptoPacket) extends PlanetSidePacketContainer with Product with Serializable

    Permalink

    A crypto packet contains the following: a sequence; and, a payload.

    A crypto packet contains the following: a sequence; and, a payload. These packets have no opcodes and they rely on implicit state to decode properly.

    sequenceNumber

    na

    packet

    the packet data

  3. final case class EncryptedPacket(sequenceNumber: Int, payload: ByteVector) extends PlanetSidePacketContainer with Product with Serializable

    Permalink

    An encrypted packet contains the following: a sequence; an encrypted opcode; an encrypted payload; and an implicit MD5MAC plus padding.

    An encrypted packet contains the following: a sequence; an encrypted opcode; an encrypted payload; and an implicit MD5MAC plus padding.

    sequenceNumber

    na

    payload

    the packet data

  4. final case class GamePacket(opcode: GamePacketOpcode.Value, sequenceNumber: Int, packet: PlanetSideGamePacket) extends PlanetSidePacketContainer with Product with Serializable

    Permalink

    A game packet is prefaced by a byte that determines the type of packet and how to interpret the data.

    A game packet is prefaced by a byte that determines the type of packet and how to interpret the data. This is important for decoding and encoding.

    opcode

    a byte that identifies the packet

    sequenceNumber

    na

    packet

    the packet data

  5. trait Marshallable[T] extends AnyRef

    Permalink

    Used by companion objects to create encoders and decoders

  6. trait PlanetSideControlPacket extends PlanetSidePacket

    Permalink

    PlanetSide control packets: net.psforever.packet.control._

  7. trait PlanetSideCryptoPacket extends PlanetSidePacket

    Permalink

    PlanetSide crypto packets: net.psforever.packet.crypto._

  8. trait PlanetSideGamePacket extends PlanetSidePacket

    Permalink

    PlanetSide game packets: net.psforever.packet.game._

  9. sealed trait PlanetSidePacket extends Serializable

    Permalink

    The base of all packets

  10. sealed trait PlanetSidePacketContainer extends AnyRef

    Permalink

    Base trait of the packet container case class.

  11. final case class PlanetSidePacketFlags(packetType: PacketType.Value, secured: Boolean) extends Product with Serializable

    Permalink

    PlanetSide packet flags (beginning of most packets)

Value Members

  1. object ControlPacketOpcode extends Enumeration

    Permalink
  2. object CryptoPacketOpcode extends Enumeration

    Permalink
  3. object GamePacketOpcode extends Enumeration

    Permalink

    The master list of Game packet opcodes that have been discovered in the PlanetSide client.

    The master list of Game packet opcodes that have been discovered in the PlanetSide client.

    UnknownMessage* means that there, to the best of our knowledge, was no opcode of this value. This was double checked by extracting out the master case statement in PlanetsideComm::OnReceive and by parsing NetMessage RTTI.

  4. object PacketCoding

    Permalink
  5. object PacketHelpers

    Permalink
  6. object PacketType extends Enumeration

    Permalink

    PlanetSide packet type.

    PlanetSide packet type. Used in more complicated packet headers

    ResetSequence - Not sure what this is used for or if the name matches what it actually does but I saw some code that appeared to reset the packet sequence number when this was set Unknown2 - Your guess is as good as mine Crypto - Used for early crypto packets that are NOT encrypted Normal - Used for all non-crypto packets. May or may not be encrypted.

    Enumeration starts at 1. That's what I see in IDA

  7. object PlanetSidePacketFlags extends Marshallable[PlanetSidePacketFlags] with Serializable

    Permalink

    Codec for PlanetSidePacketFlags

  8. package control

    Permalink
  9. package crypto

    Permalink
  10. package game

    Permalink

Ungrouped