Documentation ¶
Index ¶
- type GlobalStats
- type Leaderboard
- type LeaderboardQueryFlags
- type MySQLProvider
- func (p *MySQLProvider) GlobalStats() (*GlobalStats, error)
- func (p *MySQLProvider) Leaderboard(f ...LeaderboardQueryFlags) (Leaderboard, error)
- func (p *MySQLProvider) LeaderboardForUser(steamID SteamID, f ...LeaderboardQueryFlags) (*UserLeaderboard, error)
- func (p *MySQLProvider) User(steamID SteamID) (*User, error)
- func (p *MySQLProvider) Users() ([]User, error)
- type Provider
- type Seconds
- type SteamID
- type UnixTime
- type User
- type UserLeaderboard
- type UserTimes
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GlobalStats ¶
GlobalStats is the global statistics of the server.
type LeaderboardQueryFlags ¶
type LeaderboardQueryFlags uint8
LeaderboardQueryFlags contains flags for querying additional information from the database along with the leaderboard.
const ( LeaderboardQueryUser LeaderboardQueryFlags = 1 << iota LeaderboardQueryRank )
func NewLeaderboardQueryFlags ¶
func NewLeaderboardQueryFlags(flags []LeaderboardQueryFlags) LeaderboardQueryFlags
NewLeaderboardQueryFlags ORs the flags together.
type MySQLProvider ¶
MySQLProvider provides a provider implementation to get the leaderboard from the MySQL server.
func NewMySQLProvider ¶
func NewMySQLProvider(dsn string) (*MySQLProvider, error)
NewMySQLProvider creates a new MySQLProvider.
func (*MySQLProvider) GlobalStats ¶
func (p *MySQLProvider) GlobalStats() (*GlobalStats, error)
GlobalStats implements Provider.
func (*MySQLProvider) Leaderboard ¶
func (p *MySQLProvider) Leaderboard(f ...LeaderboardQueryFlags) (Leaderboard, error)
Leaderboard implements Provider.
func (*MySQLProvider) LeaderboardForUser ¶
func (p *MySQLProvider) LeaderboardForUser(steamID SteamID, f ...LeaderboardQueryFlags) (*UserLeaderboard, error)
LeaderboardForUser implements Provider.
func (*MySQLProvider) User ¶
func (p *MySQLProvider) User(steamID SteamID) (*User, error)
User implements Provider.
func (*MySQLProvider) Users ¶
func (p *MySQLProvider) Users() ([]User, error)
Users implements Provider.
type Provider ¶
type Provider interface { // User gets a user by Steam ID. User(SteamID) (*User, error) // Users gets all users. Users() ([]User, error) // LeaderboardForUser gets the user's leaderboard entry by Steam ID. LeaderboardForUser(SteamID, ...LeaderboardQueryFlags) (*UserLeaderboard, error) // Leaderboard gets the entire leaderboard. The returned leaderboard is // guaranteed to be sorted by Level then XP. If fetchUser is true, then the // returned UserLeaderboard instances should have the User field filled. Leaderboard(...LeaderboardQueryFlags) (Leaderboard, error) // GlobalStats gets the global server statistics. GlobalStats() (*GlobalStats, error) }
Provider describes the database getters.
type SteamID ¶
type SteamID string
SteamID is a player's Steam ID.
func (SteamID) ProfileURL ¶
ProfileURL returns the profile URL for the Steam ID. If the SteamID is invalid, then an empty string is returned.
type User ¶
type User struct { SteamID SteamID PlayerName string Team string TotalTime Seconds LastVisit UnixTime }
User is a player, or a row in the utime (or utime_server) table.