Documentation
¶
Overview ¶
Package pubg is a wrapper with helper functions for accessing pubg servers. Only thing that is required is a developer API key.
Index ¶
- Constants
- func GetShards() (shards []string)
- type Base
- type CarePackageLandEvent
- type CarePackageSpawnEvent
- type Character
- type Client
- func (c *Client) GetMatch(matchID string, shardID string) (*MatchResponse, error)
- func (c *Client) GetPlayer(playerID string, shardID string) (*PlayerResponse, error)
- func (c *Client) GetPlayers(options GetPlayersRequestOptions, shardID string) (*PlayersResponse, error)
- func (c *Client) GetSampleMatches(shardID string) (*SamplesResponse, error)
- func (c *Client) GetSeasonStats(playerID string, shardID string, seasonID string) (*PlayerSeasonResponse, error)
- func (c *Client) GetSeasons(shardID string) (*SeasonsResponse, error)
- func (c *Client) GetStatus() (*StatusResponse, error)
- func (c *Client) GetTelemetry(url string) (*TelemetryResponse, error)
- type Common
- type GameState
- type GameStatePeriodicEvent
- type GetPlayersRequestOptions
- type IncorrectContentTypeError
- type InvalidKeyError
- type Item
- type ItemAttachEvent
- type ItemDetachEvent
- type ItemDropEvent
- type ItemEquipEvent
- type ItemPackage
- type ItemPickupEvent
- type ItemUnequipEvent
- type ItemUseEvent
- type Location
- type MatchAsset
- type MatchData
- type MatchDefinitionEvent
- type MatchEndEvent
- type MatchParticipant
- type MatchResponse
- type MatchRoster
- type MatchStartEvent
- type MatchStats
- type Matches
- type NotFoundError
- type PlayerAttackEvent
- type PlayerAttributes
- type PlayerCreateEvent
- type PlayerKillEvent
- type PlayerLoginEvent
- type PlayerLogoutEvent
- type PlayerPositionEvent
- type PlayerResponse
- type PlayerResponseData
- type PlayerSeasonAttributes
- type PlayerSeasonData
- type PlayerSeasonGameModeStats
- type PlayerSeasonRelationships
- type PlayerSeasonResponse
- type PlayerTakeDamageEvent
- type PlayersResponse
- type Relationships
- type SamplesAttributes
- type SamplesResponse
- type SamplesResponseData
- type SeasonsAttributes
- type SeasonsResponse
- type SeasonsResponseData
- type StatusAttributes
- type StatusData
- type StatusResponse
- type TelemetryEvent
- type TelemetryResponse
- type TooManyRequestsError
- type UnhandledStatusCodeError
- type Vehicle
- type VehicleDestroyEvent
- type VehicleLeaveEvent
- type VehicleRideEvent
Constants ¶
const ( // XboxAsia - Xbox Asia Region XboxAsia = "xbox-as" // XboxEurope - Xbox Europe Region XboxEurope = "xbox-eu" // XboxNorthAmerica - Xbox North America Region XboxNorthAmerica = "xbox-na" // XboxOceania - Xbox Oceana Region XboxOceania = "xbox-oc" // PCAsia - PC Asia Region PCAsia = "pc-as" // PCEurope - PC Europe Region PCEurope = "pc-eu" // PCNorthAmerica - PC North America Region PCNorthAmerica = "pc-na" // PCOceania - PC Oceania Region PCOceania = "pc-oc" // PCKoreaJapan - PC Korea/Japan Region PCKoreaJapan = "pc-krjp" // PCKorea - PC Korea Region PCKorea = "pc-kr" // PCJapan - PC Japan Region PCJapan = "pc-jp" // PCKAKAO - PC KAKAO Region PCKAKAO = "pc-kakao" // PCSouthEastAsia - PC South East Asia Region PCSouthEastAsia = "pc-sea" // PCSouthAsia - PC South Asia Region PCSouthAsia = "pc-sa" // PCTournament - PC Tournament Shard PCTournament = "pc-tournament" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Base ¶
type Base struct {
// Version int `json:"_V"`
Timestamp time.Time `json:"_D"`
Type string `json:"_T"`
Common Common `json:"Common"`
}
Base is the base of all telemetery event types. This information will always be returned.
func (Base) GetTimestamp ¶
GetTimestamp returns the event timestamp.
func (Base) GetVersion ¶
GetVersion returns the version of the event.
type CarePackageLandEvent ¶
type CarePackageLandEvent struct {
Base
ItemPackage ItemPackage `json:"ItemPackage"`
}
CarePackageLandEvent contains data about a care package landing on the map
type CarePackageSpawnEvent ¶
type CarePackageSpawnEvent struct {
Base
ItemPackage ItemPackage `json:"ItemPackage"`
}
CarePackageSpawnEvent contains data about a care package spawning
type Character ¶
type Character struct {
Name string `json:"Name"`
TeamID int `json:"TeamId"`
Health float32 `json:"Health"`
Location Location `json:"Location"`
Ranking int `json:"Ranking"`
AccountID string `json:"AccountId"`
}
Character data for telemetry events
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is the main struct for pubg
func (*Client) GetMatch ¶
func (c *Client) GetMatch(matchID string, shardID string) (*MatchResponse, error)
GetMatch retrieves the data for a match with a given id and shard
func (*Client) GetPlayer ¶
func (c *Client) GetPlayer(playerID string, shardID string) (*PlayerResponse, error)
GetPlayer retrieves player data.
func (*Client) GetPlayers ¶
func (c *Client) GetPlayers(options GetPlayersRequestOptions, shardID string) (*PlayersResponse, error)
GetPlayers retrieves data for players from the passed options.
func (*Client) GetSampleMatches ¶
func (c *Client) GetSampleMatches(shardID string) (*SamplesResponse, error)
GetSampleMatches retrieves samples matches
func (*Client) GetSeasonStats ¶
func (c *Client) GetSeasonStats(playerID string, shardID string, seasonID string) (*PlayerSeasonResponse, error)
GetSeasonStats retrieves data about a season
func (*Client) GetSeasons ¶
func (c *Client) GetSeasons(shardID string) (*SeasonsResponse, error)
GetSeasons retrieves data about seasons in a shard
func (*Client) GetStatus ¶
func (c *Client) GetStatus() (*StatusResponse, error)
GetStatus retrieves status data from the PUBG servers
func (*Client) GetTelemetry ¶
func (c *Client) GetTelemetry(url string) (*TelemetryResponse, error)
GetTelemetry retrieves the telemetry data at a specified url
type Common ¶
type Common struct {
MatchID string `json:"matchId"`
MapName string `json:"mapName"`
IsGame float32 `json:"isGame"`
}
Common data for telemetry events
type GameState ¶
type GameState struct {
ElapsedTime int `json:"ElapsedTime"`
NumAliveTeams int `json:"NumAliveTeams"`
NumJoinPlayers int `json:"NumJoinPlayers"`
NumStartPlayers int `json:"NumStartPlayers"`
NumAlivePlayers int `json:"NumAlivePlayers"`
SafetyZonePosition Location `json:"SafetyZonePosition"`
SafetyZoneRadius float32 `json:"SafetyZoneRadius"`
PoisonGasWarningPosition Location `json:"PoisonGasWarningPosition"`
PoisonGasWarningRadius float32 `json:"PoisonGasWarningRadius"`
RedZonePosition Location `json:"RedZonePosition"`
RedZoneRadius float32 `json:"RedZoneRadius"`
}
GameState data for telemetry events
type GameStatePeriodicEvent ¶
GameStatePeriodicEvent contains periodic data about the current state of the match
type GetPlayersRequestOptions ¶
type GetPlayersRequestOptions struct {
// PlayerNamesFilter Filters by player name. Usage: filter[playerNames]=player1,player2,…
PlayerNamesFilter []string `url:"filter[playerNames],comma,omitempty"`
// PlayerIDsFilter Filters by player Id. Usage:filter[playerIds]=playerId,playerId,…
PlayerIDsFilter []string `url:"filter[playerIds],comma,omitempty"`
}
GetPlayersRequestOptions Filter options for the get players endpoint
type IncorrectContentTypeError ¶
type IncorrectContentTypeError struct {
// contains filtered or unexported fields
}
func NewIncorrectContentTypeError ¶
func NewIncorrectContentTypeError(url string) *IncorrectContentTypeError
func (*IncorrectContentTypeError) Error ¶
func (e *IncorrectContentTypeError) Error() string
type InvalidKeyError ¶
type InvalidKeyError struct {
// contains filtered or unexported fields
}
func NewInvalidKeyError ¶
func NewInvalidKeyError(url string) *InvalidKeyError
func (*InvalidKeyError) Error ¶
func (e *InvalidKeyError) Error() string
type Item ¶
type Item struct {
ItemID string `json:"ItemId"`
StackCount int `json:"StackCount"`
Category string `json:"Category"`
SubCategory string `json:"SubCategory"`
AttachedItems []string `json:"AttachedItems"`
}
Item data for telemetry events
type ItemAttachEvent ¶
type ItemAttachEvent struct {
Base
Character Character `json:"Character"`
ParentItem Item `json:"ParentItem"`
ChildItem Item `json:"ChildItem"`
}
ItemAttachEvent contains data from the player attaching an item
type ItemDetachEvent ¶
type ItemDetachEvent struct {
Base
Character Character `json:"Character"`
ParentItem Item `json:"ParentItem"`
ChildItem Item `json:"ChildItem"`
}
ItemDetachEvent contains data from the player detaching an item
type ItemDropEvent ¶
ItemDropEvent contains data from the player dropping an item
type ItemEquipEvent ¶
ItemEquipEvent contains data from the player equipping an item
type ItemPackage ¶
type ItemPackage struct {
ItemPackageID string `json:"ItemPackageId"`
Location Location `json:"Location"`
Items []Item `json:"Items"`
}
ItemPackage data for telemetry events
type ItemPickupEvent ¶
ItemPickupEvent contains data from the player picking up an item
type ItemUnequipEvent ¶
type ItemUnequipEvent struct {
Base
Character Character `json:"Character"`
Item Item `json:"Item"`
}
ItemUnequipEvent contains data from the player unequipping an item
type ItemUseEvent ¶
ItemUseEvent contains data from the player using an item
type MatchAsset ¶
type MatchAsset struct {
Attributes struct {
URL string `json:"URL"`
CreatedAt time.Time `json:"createdAt"`
Description string `json:"description"`
Name string `json:"name"`
} `json:"attributes"`
// contains filtered or unexported fields
}
MatchAsset contains all the assets returned in the MatchResponse
type MatchData ¶
type MatchData struct {
// contains filtered or unexported fields
}
MatchData contains all the match data returned in the PlayerResponse
type MatchDefinitionEvent ¶
type MatchDefinitionEvent struct {
Base
MatchID string `json:"MatchId"`
PingQuality string `json:"PingQuality"`
}
MatchDefinitionEvent contains data about the current match
type MatchEndEvent ¶
MatchEndEvent contains data about the match ending
type MatchParticipant ¶
type MatchParticipant struct {
Attributes struct {
Actor string `json:"actor"`
ShardID string `json:"shardId"`
Stats MatchStats `json:"stats"`
} `json:"attributes"`
// contains filtered or unexported fields
}
MatchParticipant contains all the participants returned in the MatchResponse
type MatchResponse ¶
type MatchResponse struct {
Data struct {
Type string `json:"type"`
ID string `json:"id"`
Attributes struct {
CreatedAt time.Time `json:"createdAt"`
Duration int `json:"duration"`
GameMode string `json:"gameMode"`
MapName string `json:"mapName"`
PatchVersion string `json:"patchVersion"`
ShardID string `json:"shardId"`
Stats string `json:"stats"`
Tags string `json:"tags"`
TitleID string `json:"titleId"`
Description string `json:"description"`
Name string `json:"name"`
URL string `json:"URL"`
} `json:"attributes"`
Relationships struct {
Assets struct {
Data []typeIDPair `json:"data"`
} `json:"assets"`
Rosters struct {
Data []typeIDPair `json:"data"`
} `json:"rosters"`
} `json:"relationships"`
Links struct {
Schema string `json:"schema"`
Self string `json:"self"`
} `json:"links"`
} `json:"data"`
Included []json.RawMessage `json:"included"`
Participants []MatchParticipant
Rosters []MatchRoster
Assets []MatchAsset
Links struct {
Self string `json:"self"`
} `json:"links"`
Meta struct{} `json:"meta"`
}
MatchResponse is the response payload for the match end point
func (*MatchResponse) GetMatchID ¶
func (mr *MatchResponse) GetMatchID() (id string)
func (*MatchResponse) GetStatsByName ¶
func (mr *MatchResponse) GetStatsByName() (s map[string]*MatchStats)
GetStatsByName is a helper function to retrieve player MatchStats from a MatchResponse. A map is more performant than a slice in larger data sets so it is recommended to use this map instead of iterating through the MatchResponse data looking for players
func (*MatchResponse) GetStatsByWinRank ¶
func (mr *MatchResponse) GetStatsByWinRank() (s map[int][]*MatchStats)
GetStatsByWinRank is a helper function to retrieve player MatchStats
by final rank from a MatchResponse. A map is more performant than a
slice in larger data sets so it is recommended to use this map instead of iterating through the MatchResponse data looking for player ranks
type MatchRoster ¶
type MatchRoster struct {
Attributes struct {
ShardIDn string `json:"shardId"`
Stats struct {
Rank int `json:"rank"`
TeamID int `json:"teamId"`
} `json:"stats"`
Won bool `json:"won"`
} `json:"attributes"`
Relationships struct {
Participants struct {
Data []typeIDPair
} `json:"participants"`
Team struct {
Data string `json:"data"`
} `json:"team"`
} `json:"relationships"`
// contains filtered or unexported fields
}
MatchRoster contains all the rosters returned in the MatchResponse
type MatchStartEvent ¶
MatchStartEvent contains data about the start of the match
type MatchStats ¶
type MatchStats struct {
DBNOs int `json:"DBNOs"`
Assists int `json:"assists"`
Boosts int `json:"boosts"`
DamageDealt float32 `json:"damageDealt"`
DeathType string `json:"deathType"`
HeadshotKills int `json:"headshotKills"`
Heals int `json:"heals"`
KillPlace int `json:"killPlace"`
KillPoints int `json:"killPoints"`
KillPointsDelta int `json:"killPointsDelta"`
KillStreaks int `json:"killStreaks"`
Kills int `json:"kills"`
LastKillPoints int `json:"lastKillPoints"`
LastWinPoints int `json:"lastWinPoints"`
LongestKill float32 `json:"longestKill"`
MostDamage int `json:"mostDamage"`
Name string `json:"name"`
PlayerID string `json:"playerId"`
Revives int `json:"revives"`
RideDistance float32 `json:"rideDistance"`
RoadKills int `json:"roadKills"`
TeamKills int `json:"teamKills"`
TimeSurvived float32 `json:"timeSurvived"`
VehicleDestroys int `json:"vehicleDestroys"`
WalkDistance float32 `json:"walkDistance"`
WeaponsAcquired int `json:"weaponsAcquired"`
WinPlace int `json:"winPlace"`
WinPoints int `json:"winPoints"`
WinPointsDelta int `json:"winPointsDelta"`
}
MatchStats are all the stats returned in the MatchResponse
type Matches ¶
type Matches struct {
Data []MatchData `json:"data"`
}
Matches contains a slice of all the matches returned in the PlayerResponse
type NotFoundError ¶
type NotFoundError struct {
// contains filtered or unexported fields
}
func NewNotFoundError ¶
func NewNotFoundError(url string) *NotFoundError
func (*NotFoundError) Error ¶
func (e *NotFoundError) Error() string
type PlayerAttackEvent ¶
type PlayerAttackEvent struct {
Base
AttackID int `json:"AttackId"`
Attacker Character `json:"Attacker"`
AttackType string `json:"AttackType"`
Weapon Item `json:"Weapon"`
Vehicle Vehicle `json:"Vehicle"`
}
PlayerAttackEvent contains data about the player attacking another player
type PlayerAttributes ¶
type PlayerAttributes struct {
// CreatedAt string `json:"createdAt"`
Name string `json:"name"`
PatchVersion string `json:"patchVersion"`
ShardID string `json:"shardId"`
Stats json.RawMessage `json:"stats"`
TitleID string `json:"titleId"`
}
PlayerAttributes contains all of the player attributes returned in the PlayerResponse
type PlayerCreateEvent ¶
PlayerCreateEvent contains data from the player being created on the server
type PlayerKillEvent ¶
type PlayerKillEvent struct {
Base
AttackID int `json:"AttackId"`
Killer Character `json:"Killer"`
Victim Character `json:"Victim"`
DamageTypeCategory string `json:"DamageTypeCategory"`
DamageCauserName string `json:"DamageCauserName"`
Distance float32 `json:"Distance"`
}
PlayerKillEvent contains data from the player killing another player
type PlayerLoginEvent ¶
type PlayerLoginEvent struct {
Base
// Result bool `json:"Result"`
// ErrorMessage string `json:"ErrorMessage"`
AccountID string `json:"AccountId"`
}
PlayerLoginEvent contains data from the player loging in
type PlayerLogoutEvent ¶
PlayerLogoutEvent contains data about the player logging out
type PlayerPositionEvent ¶
type PlayerPositionEvent struct {
Base
Character Character `json:"Character"`
ElapsedTime float32 `json:"ElapsedTime"`
NumAlivePlayers int `json:"NumAlivePlayers"`
}
PlayerPositionEvent contains data about the current position of the player
type PlayerResponse ¶
type PlayerResponse struct {
Data PlayerResponseData `json:"data"`
}
PlayerResponse is the response payload for the player end point
type PlayerResponseData ¶
type PlayerResponseData struct {
Attributes PlayerAttributes `json:"attributes"`
Relationships Relationships `json:"relationships"`
// contains filtered or unexported fields
}
PlayerResponseData contains all of the data returned in the PlayerResponse
func (*PlayerResponseData) GetMatchIDs ¶
func (prd *PlayerResponseData) GetMatchIDs() (ids []string)
GetMatchIDs is a helper function to exctract a slice of MatchId's from PlayerResponseData. This is useful if the caller is only interested in the MatchId's for a player. This helper function becomes very handy when trying to work with Telemetry data
func (*PlayerResponseData) GetMatches ¶
func (prd *PlayerResponseData) GetMatches() (m []MatchData)
GetMatches is a helper function to extract a slice of MatchData from PlayerResponseData. This is useful if the caller is only interested in MatchData
type PlayerSeasonAttributes ¶
type PlayerSeasonAttributes struct {
GameModeStats struct {
DuoTPP PlayerSeasonGameModeStats `json:"duo"`
DuoFPP PlayerSeasonGameModeStats `json:"duo-fpp"`
SoloTPP PlayerSeasonGameModeStats `json:"solo"`
SoloFPP PlayerSeasonGameModeStats `json:"solo-fpp"`
SquadTPP PlayerSeasonGameModeStats `json:"squad"`
SquadFPP PlayerSeasonGameModeStats `json:"squad-fpp"`
} `json:"gameModeStats"`
}
type PlayerSeasonData ¶
type PlayerSeasonData struct {
Type string `json:"type"`
Attributes PlayerSeasonAttributes `json:"attributes"`
Relationships PlayerSeasonRelationships `json:"relationships"`
}
type PlayerSeasonGameModeStats ¶
type PlayerSeasonGameModeStats struct {
Assists int `json:"assists"`
Boosts int `json:"boosts"`
DBNOs int `json:"dBNOs"`
DailyKills int `json:"dailyKills"`
DamageDealt float32 `json:"damageDealt"`
Days int `json:"days"`
HeadshotKills int `json:"headshotKills"`
Heals int `json:"heals"`
KillPoints float32 `json:"killPoints"`
Kills int `json:"kills"`
LongestKill float32 `json:"longestKill"`
LongestTimeSurvived float32 `json:"longestTimeSurvived"`
Losses int `json:"losses"`
MaxKillStreaks int `json:"maxKillStreaks"`
MostSurvivalTime float32 `json:"mostSurvivalTime"`
Revives int `json:"revives"`
RideDistance float32 `json:"rideDistance"`
RoadKills int `json:"roadKills"`
RoundMostKills int `json:"roundMostKills"`
RoundsPlayed int `json:"roundsPlayed"`
Suicides int `json:"suicides"`
TeamKills int `json:"teamKills"`
TimeSurvived float32 `json:"timeSurvived"`
Top10s int `json:"top10s"`
VehicleDestroys int `json:"vehicleDestroys"`
WalkDistance float32 `json:"walkDistance"`
WeaponsAcquired int `json:"weaponsAcquired"`
WeeklyKills int `json:"weeklyKills"`
WinPoints float32 `json:"winPoints"`
Wins int `json:"wins"`
}
type PlayerSeasonRelationships ¶
type PlayerSeasonRelationships struct {
MatchesSquadFPP struct {
Data []typeIDPair `json:"data"`
} `json:"matchesSquadFPP"`
MatchesSquadTPP struct {
Data []typeIDPair `json:"data"`
} `json:"matchesSquadTPP"`
MatchesSoloFPP struct {
Data []typeIDPair `json:"data"`
} `json:"matchesSoloFPP"`
MatchesSoloTPP struct {
Data []typeIDPair `json:"data"`
} `json:"matchesSoloTPP"`
MatchesDuoFPP struct {
Data []typeIDPair `json:"data"`
} `json:"matchesDuoFPP"`
MatchesDuoTPP struct {
Data []typeIDPair `json:"data"`
} `json:"matchesDuoTPP"`
Season struct {
Data typeIDPair `json:"data"`
} `json:"season"`
Player struct {
Data typeIDPair `json:"data"`
} `json:"player"`
}
type PlayerSeasonResponse ¶
type PlayerSeasonResponse struct {
Data PlayerSeasonData `json:"data"`
Links struct {
Self string `json:"self"`
} `json:"links"`
Meta struct{} `json:"meta"`
}
type PlayerTakeDamageEvent ¶
type PlayerTakeDamageEvent struct {
Base
AttackID int `json:"AttackId"`
Attacker Character `json:"Attacker"`
Victim Character `json:"Victim"`
DamageTypeCategory string `json:"DamageTypeCategory"`
DamageReason string `json:"DamageReason"`
Damage float32 `json:"Damage"`
DamageCauserName string `json:"DamageCauserName"`
}
PlayerTakeDamageEvent contains data from the player taking damage
type PlayersResponse ¶
type PlayersResponse struct {
Data []PlayerResponseData
Links struct {
Self string `json:"self"`
} `json:"links"`
}
type Relationships ¶
type Relationships struct {
Matches Matches `json:"matches"`
}
Relationships contains all of the relationships returned in the PlayerResponse
type SamplesAttributes ¶
type SamplesResponse ¶
type SamplesResponse struct {
Data SamplesResponseData `json:"data"`
}
SamplesResponse is the response payload for the samples endpoint
func (*SamplesResponse) GetMatches ¶
func (sr *SamplesResponse) GetMatches() (m []MatchData)
GetMatches is a helper function to extract a slice of MatchData from SamplesResponse. This is useful if the caller is only interested in MatchData
type SamplesResponseData ¶
type SamplesResponseData struct {
Attributes SamplesAttributes `json:"attributes"`
Relationships Relationships `json:"relationships"`
// contains filtered or unexported fields
}
type SeasonsAttributes ¶
type SeasonsResponse ¶
type SeasonsResponse struct {
Data []SeasonsResponseData `json:"data"`
Links struct {
Self string `json:"self"`
} `json:"links"`
Meta struct{} `json:"meta"`
}
type SeasonsResponseData ¶
type SeasonsResponseData struct {
Type string `json:"type"`
ID string `json:"id"`
Attributes SeasonsAttributes `json:"attributes"`
}
type StatusAttributes ¶
type StatusAttributes struct {
Released string `json:"releasedAt"`
Version string `json:"version"`
}
StatusAttributes contains all of the attributes returned in the StatusResponse
type StatusData ¶
type StatusData struct {
Attributes StatusAttributes `json:"attributes"`
// contains filtered or unexported fields
}
StatusData contains all of the data returned in the StatusResponse
type StatusResponse ¶
type StatusResponse struct {
Data StatusData `json:"data"`
}
StatusResponse is the response payload for the status end point
type TelemetryEvent ¶
type TelemetryEvent interface {
GetType() string // returns the event type.
GetTimestamp() time.Time // returns the Timestamp of the event.
GetVersion() int // returns the version of the event.
GetCommon() Common // returns the Common object of the event.
}
TelemetryEvent is an interface for TelemetryEvent's.
type TelemetryResponse ¶
type TelemetryResponse struct {
Events []TelemetryEvent //All telemetry events in chronoligic order
PlayerLoginEvents []*PlayerLoginEvent //All PlayerLoginEvent's in chronoligic order
PlayerCreateEvents []*PlayerCreateEvent //All PlayerCreateEvent's in chronoligic order
PlayerPositionEvents []*PlayerPositionEvent //All PlayerPositionEvent's in chronoligic order
PlayerAttackEvents []*PlayerAttackEvent //All PlayerAttackEvent's in chronoligic order
ItemPickupEvents []*ItemPickupEvent //All ItemPickupEvent's in chronoligic order
ItemEquipEvent []*ItemEquipEvent //All ItemEquipEvent's in chronoligic order
ItemUnequipEvents []*ItemUnequipEvent //All ItemUnequipEvent's in chronoligic order
VehicleRideEvents []*VehicleRideEvent //All VehicleRideEvent's in chronoligic order
MatchDefinitionEvents []*MatchDefinitionEvent //All MatchDefinitionEvent's in chronoligic order
MatchStartEvents []*MatchStartEvent //All MatchStartEvent's in chronoligic order
GameStatePeriodicEvents []*GameStatePeriodicEvent //All GameStatePeriodicEvent's in chronoligic order
VehicleLeaveEvents []*VehicleLeaveEvent //All VehicleLeaveEvent's in chronoligic order
PlayerTakeDamageEvents []*PlayerTakeDamageEvent //All PlayerTakeDamageEvent's in chronoligic order
PlayerLogoutEvents []*PlayerLogoutEvent //All PlayerLogoutEvent's in chronoligic order
ItemAttachEvents []*ItemAttachEvent //All ItemAttachEvent's in chronoligic order
ItemDropEvents []*ItemDropEvent //All ItemDropEvent's in chronoligic order
PlayerKillEvents []*PlayerKillEvent //All PlayerKillEvent's in chronoligic order
ItemDetachEvents []*ItemDetachEvent //All ItemDetachEvent's in chronoligic order
ItemUseEvents []*ItemUseEvent //All ItemUseEvent's in chronoligic order
CarePackageSpawnEvents []*CarePackageSpawnEvent //All CarePackageSpawnEvent's in chronoligic order
VehicleDestroyEvents []*VehicleDestroyEvent //All VehicleDestroyEvent's in chronoligic order
CarePackageLandEvents []*CarePackageLandEvent //All CarePackageLandEvent's in chronoligic order
MatchEndEvents []*MatchEndEvent //All MatchEndEvent's in chronoligic order
}
TelemetryResponse is the response payload for the telemetry end point
func ParseTelemetry ¶
func ParseTelemetry(b []byte) (tr *TelemetryResponse, err error)
ParseTelemetry reads the telemetry event type from the json and passes it to the unmarshaller
func ReadTelemetryFromFile ¶
func ReadTelemetryFromFile(path string) (tr *TelemetryResponse, err error)
ReadTelemetryFromFile parses json telemetry data from a given file and returns a TelemetryResponse struct. It is more performant to cache telemetry data for future use.
func (*TelemetryResponse) ToFile ¶
func (tr *TelemetryResponse) ToFile(path string) (err error)
ToFile will save a TelemetryResponse to the file at a specified location. These data are always static and so it makes sense to cache/save this somewhere locally to prevent from having to request the large file multiple times
type TooManyRequestsError ¶
type TooManyRequestsError struct {
// contains filtered or unexported fields
}
func NewTooManyRequestsError ¶
func NewTooManyRequestsError(url string) *TooManyRequestsError
func (*TooManyRequestsError) Error ¶
func (e *TooManyRequestsError) Error() string
type UnhandledStatusCodeError ¶
type UnhandledStatusCodeError struct {
// contains filtered or unexported fields
}
func NewUnhandledStatusCodeError ¶
func NewUnhandledStatusCodeError(url, status string) *UnhandledStatusCodeError
func (*UnhandledStatusCodeError) Error ¶
func (e *UnhandledStatusCodeError) Error() string
type Vehicle ¶
type Vehicle struct {
VehicleType string `json:"VehicleType"`
VehicleID string `json:"VehicleId"`
HealthPercent float32 `json:"HealthPercent"`
FuelPercent float32 `json:"FeulPercent"`
}
Vehicle data for telemetry events
type VehicleDestroyEvent ¶
type VehicleDestroyEvent struct {
Base
AttackID int `json:"AttackId"`
Attacker Character `json:"Attacker"`
Vehicle Vehicle `json:"Vehicle"`
DamageTypeCategory string `json:"DamageTypeCategory"`
DamageCauserName string `json:"DamageCauserName"`
Distance float32 `json:"Distance"`
}
VehicleDestroyEvent contains data from a vehicle being destroyed
type VehicleLeaveEvent ¶
type VehicleLeaveEvent struct {
Base
Character Character `json:"Character"`
Vehicle Vehicle `json:"Vehicle"`
}
VehicleLeaveEvent contains data from the player leaving a vehicle
type VehicleRideEvent ¶
type VehicleRideEvent struct {
Base
Character Character `json:"Character"`
Vehicle Vehicle `json:"Vehicle"`
}
VehicleRideEvent contains data from the player riding in a vehicle