messages7

package
v0.0.0-...-bee29bd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2024 License: BSD-2-Clause Imports: 6 Imported by: 8

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthChallenge

type AuthChallenge struct {
	ChunkHeader *chunk7.ChunkHeader
}

this message is unused in the official 0.7.5 implementation

func (*AuthChallenge) Header

func (msg *AuthChallenge) Header() *chunk7.ChunkHeader

func (*AuthChallenge) MsgId

func (msg *AuthChallenge) MsgId() int

func (*AuthChallenge) MsgType

func (msg *AuthChallenge) MsgType() network7.MsgType

func (*AuthChallenge) Pack

func (msg *AuthChallenge) Pack() []byte

func (*AuthChallenge) SetHeader

func (msg *AuthChallenge) SetHeader(header *chunk7.ChunkHeader)

func (*AuthChallenge) System

func (msg *AuthChallenge) System() bool

func (*AuthChallenge) Unpack

func (msg *AuthChallenge) Unpack(u *packer.Unpacker) error

func (*AuthChallenge) Vital

func (msg *AuthChallenge) Vital() bool

type AuthResponse

type AuthResponse struct {
	ChunkHeader *chunk7.ChunkHeader
}

this message is unused in the official 0.7.5 implementation

func (*AuthResponse) Header

func (msg *AuthResponse) Header() *chunk7.ChunkHeader

func (*AuthResponse) MsgId

func (msg *AuthResponse) MsgId() int

func (*AuthResponse) MsgType

func (msg *AuthResponse) MsgType() network7.MsgType

func (*AuthResponse) Pack

func (msg *AuthResponse) Pack() []byte

func (*AuthResponse) SetHeader

func (msg *AuthResponse) SetHeader(header *chunk7.ChunkHeader)

func (*AuthResponse) System

func (msg *AuthResponse) System() bool

func (*AuthResponse) Unpack

func (msg *AuthResponse) Unpack(u *packer.Unpacker) error

func (*AuthResponse) Vital

func (msg *AuthResponse) Vital() bool

type AuthResult

type AuthResult struct {
	ChunkHeader *chunk7.ChunkHeader
}

this message is unused in the official 0.7.5 implementation

func (*AuthResult) Header

func (msg *AuthResult) Header() *chunk7.ChunkHeader

func (*AuthResult) MsgId

func (msg *AuthResult) MsgId() int

func (*AuthResult) MsgType

func (msg *AuthResult) MsgType() network7.MsgType

func (*AuthResult) Pack

func (msg *AuthResult) Pack() []byte

func (*AuthResult) SetHeader

func (msg *AuthResult) SetHeader(header *chunk7.ChunkHeader)

func (*AuthResult) System

func (msg *AuthResult) System() bool

func (*AuthResult) Unpack

func (msg *AuthResult) Unpack(u *packer.Unpacker) error

func (*AuthResult) Vital

func (msg *AuthResult) Vital() bool

type AuthStart

type AuthStart struct {
	ChunkHeader *chunk7.ChunkHeader
}

this message is unused in the official 0.7.5 implementation

func (*AuthStart) Header

func (msg *AuthStart) Header() *chunk7.ChunkHeader

func (*AuthStart) MsgId

func (msg *AuthStart) MsgId() int

func (*AuthStart) MsgType

func (msg *AuthStart) MsgType() network7.MsgType

func (*AuthStart) Pack

func (msg *AuthStart) Pack() []byte

func (*AuthStart) SetHeader

func (msg *AuthStart) SetHeader(header *chunk7.ChunkHeader)

func (*AuthStart) System

func (msg *AuthStart) System() bool

func (*AuthStart) Unpack

func (msg *AuthStart) Unpack(u *packer.Unpacker) error

func (*AuthStart) Vital

func (msg *AuthStart) Vital() bool

type ClCallVote

type ClCallVote struct {
	ChunkHeader *chunk7.ChunkHeader

	Type   string
	Value  string
	Reason string
	Force  bool
}

func (*ClCallVote) Header

func (msg *ClCallVote) Header() *chunk7.ChunkHeader

func (*ClCallVote) MsgId

func (msg *ClCallVote) MsgId() int

func (*ClCallVote) MsgType

func (msg *ClCallVote) MsgType() network7.MsgType

func (*ClCallVote) Pack

func (msg *ClCallVote) Pack() []byte

func (*ClCallVote) SetHeader

func (msg *ClCallVote) SetHeader(header *chunk7.ChunkHeader)

func (*ClCallVote) System

func (msg *ClCallVote) System() bool

func (*ClCallVote) Unpack

func (msg *ClCallVote) Unpack(u *packer.Unpacker) error

func (*ClCallVote) Vital

func (msg *ClCallVote) Vital() bool

type ClCommand

type ClCommand struct {
	ChunkHeader *chunk7.ChunkHeader

	Name      string
	Arguments string
}

func (*ClCommand) Header

func (msg *ClCommand) Header() *chunk7.ChunkHeader

func (*ClCommand) MsgId

func (msg *ClCommand) MsgId() int

func (*ClCommand) MsgType

func (msg *ClCommand) MsgType() network7.MsgType

func (*ClCommand) Pack

func (msg *ClCommand) Pack() []byte

func (*ClCommand) SetHeader

func (msg *ClCommand) SetHeader(header *chunk7.ChunkHeader)

func (*ClCommand) System

func (msg *ClCommand) System() bool

func (*ClCommand) Unpack

func (msg *ClCommand) Unpack(u *packer.Unpacker) error

func (*ClCommand) Vital

func (msg *ClCommand) Vital() bool

type ClEmoticon

type ClEmoticon struct {
	ChunkHeader *chunk7.ChunkHeader

	Emoticon network7.Emoticon
}

func (*ClEmoticon) Header

func (msg *ClEmoticon) Header() *chunk7.ChunkHeader

func (*ClEmoticon) MsgId

func (msg *ClEmoticon) MsgId() int

func (*ClEmoticon) MsgType

func (msg *ClEmoticon) MsgType() network7.MsgType

func (*ClEmoticon) Pack

func (msg *ClEmoticon) Pack() []byte

func (*ClEmoticon) SetHeader

func (msg *ClEmoticon) SetHeader(header *chunk7.ChunkHeader)

func (*ClEmoticon) System

func (msg *ClEmoticon) System() bool

func (*ClEmoticon) Unpack

func (msg *ClEmoticon) Unpack(u *packer.Unpacker) error

func (*ClEmoticon) Vital

func (msg *ClEmoticon) Vital() bool

type ClKill

type ClKill struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*ClKill) Header

func (msg *ClKill) Header() *chunk7.ChunkHeader

func (*ClKill) MsgId

func (msg *ClKill) MsgId() int

func (*ClKill) MsgType

func (msg *ClKill) MsgType() network7.MsgType

func (*ClKill) Pack

func (msg *ClKill) Pack() []byte

func (*ClKill) SetHeader

func (msg *ClKill) SetHeader(header *chunk7.ChunkHeader)

func (*ClKill) System

func (msg *ClKill) System() bool

func (*ClKill) Unpack

func (msg *ClKill) Unpack(u *packer.Unpacker) error

func (*ClKill) Vital

func (msg *ClKill) Vital() bool

type ClReadyChange

type ClReadyChange struct {
	ChunkHeader *chunk7.ChunkHeader
}

message to request game pause and unpause will pause the game for everyone if one person sends it and if the server allows it will unpause the game if everyone send it

func (*ClReadyChange) Header

func (msg *ClReadyChange) Header() *chunk7.ChunkHeader

func (*ClReadyChange) MsgId

func (msg *ClReadyChange) MsgId() int

func (*ClReadyChange) MsgType

func (msg *ClReadyChange) MsgType() network7.MsgType

func (*ClReadyChange) Pack

func (msg *ClReadyChange) Pack() []byte

func (*ClReadyChange) SetHeader

func (msg *ClReadyChange) SetHeader(header *chunk7.ChunkHeader)

func (*ClReadyChange) System

func (msg *ClReadyChange) System() bool

func (*ClReadyChange) Unpack

func (msg *ClReadyChange) Unpack(u *packer.Unpacker) error

func (*ClReadyChange) Vital

func (msg *ClReadyChange) Vital() bool

type ClSay

type ClSay struct {
	ChunkHeader *chunk7.ChunkHeader

	Mode     network7.ChatMode
	TargetId int
	Message  string
}

func (*ClSay) Header

func (msg *ClSay) Header() *chunk7.ChunkHeader

func (*ClSay) MsgId

func (msg *ClSay) MsgId() int

func (*ClSay) MsgType

func (msg *ClSay) MsgType() network7.MsgType

func (*ClSay) Pack

func (msg *ClSay) Pack() []byte

func (*ClSay) SetHeader

func (msg *ClSay) SetHeader(header *chunk7.ChunkHeader)

func (*ClSay) System

func (msg *ClSay) System() bool

func (*ClSay) Unpack

func (msg *ClSay) Unpack(u *packer.Unpacker) error

func (*ClSay) Vital

func (msg *ClSay) Vital() bool

type ClSetSpectatorMode

type ClSetSpectatorMode struct {
	ChunkHeader *chunk7.ChunkHeader

	Mode        network7.Spec
	SpectatorId int
}

func (*ClSetSpectatorMode) Header

func (msg *ClSetSpectatorMode) Header() *chunk7.ChunkHeader

func (*ClSetSpectatorMode) MsgId

func (msg *ClSetSpectatorMode) MsgId() int

func (*ClSetSpectatorMode) MsgType

func (msg *ClSetSpectatorMode) MsgType() network7.MsgType

func (*ClSetSpectatorMode) Pack

func (msg *ClSetSpectatorMode) Pack() []byte

func (*ClSetSpectatorMode) SetHeader

func (msg *ClSetSpectatorMode) SetHeader(header *chunk7.ChunkHeader)

func (*ClSetSpectatorMode) System

func (msg *ClSetSpectatorMode) System() bool

func (*ClSetSpectatorMode) Unpack

func (msg *ClSetSpectatorMode) Unpack(u *packer.Unpacker) error

func (*ClSetSpectatorMode) Vital

func (msg *ClSetSpectatorMode) Vital() bool

type ClSetTeam

type ClSetTeam struct {
	ChunkHeader *chunk7.ChunkHeader

	Team network7.GameTeam
}

func (*ClSetTeam) Header

func (msg *ClSetTeam) Header() *chunk7.ChunkHeader

func (*ClSetTeam) MsgId

func (msg *ClSetTeam) MsgId() int

func (*ClSetTeam) MsgType

func (msg *ClSetTeam) MsgType() network7.MsgType

func (*ClSetTeam) Pack

func (msg *ClSetTeam) Pack() []byte

func (*ClSetTeam) SetHeader

func (msg *ClSetTeam) SetHeader(header *chunk7.ChunkHeader)

func (*ClSetTeam) System

func (msg *ClSetTeam) System() bool

func (*ClSetTeam) Unpack

func (msg *ClSetTeam) Unpack(u *packer.Unpacker) error

func (*ClSetTeam) Vital

func (msg *ClSetTeam) Vital() bool

type ClSkinChange

type ClSkinChange struct {
	ChunkHeader *chunk7.ChunkHeader

	Body                  string
	Marking               string
	Decoration            string
	Hands                 string
	Feet                  string
	Eyes                  string
	CustomColorBody       bool
	CustomColorMarking    bool
	CustomColorDecoration bool
	CustomColorHands      bool
	CustomColorFeet       bool
	CustomColorEyes       bool
	ColorBody             int
	ColorMarking          int
	ColorDecoration       int
	ColorHands            int
	ColorFeet             int
	ColorEyes             int
}

func (*ClSkinChange) Header

func (msg *ClSkinChange) Header() *chunk7.ChunkHeader

func (*ClSkinChange) MsgId

func (msg *ClSkinChange) MsgId() int

func (*ClSkinChange) MsgType

func (msg *ClSkinChange) MsgType() network7.MsgType

func (*ClSkinChange) Pack

func (msg *ClSkinChange) Pack() []byte

func (*ClSkinChange) SetHeader

func (msg *ClSkinChange) SetHeader(header *chunk7.ChunkHeader)

func (*ClSkinChange) System

func (msg *ClSkinChange) System() bool

func (*ClSkinChange) Unpack

func (msg *ClSkinChange) Unpack(u *packer.Unpacker) error

func (*ClSkinChange) Vital

func (msg *ClSkinChange) Vital() bool

type ClStartInfo

type ClStartInfo struct {
	ChunkHeader *chunk7.ChunkHeader

	Name                  string
	Clan                  string
	Country               int
	Body                  string
	Marking               string
	Decoration            string
	Hands                 string
	Feet                  string
	Eyes                  string
	CustomColorBody       bool
	CustomColorMarking    bool
	CustomColorDecoration bool
	CustomColorHands      bool
	CustomColorFeet       bool
	CustomColorEyes       bool
	ColorBody             int
	ColorMarking          int
	ColorDecoration       int
	ColorHands            int
	ColorFeet             int
	ColorEyes             int
}

func (*ClStartInfo) Header

func (msg *ClStartInfo) Header() *chunk7.ChunkHeader

func (*ClStartInfo) MsgId

func (msg *ClStartInfo) MsgId() int

func (*ClStartInfo) MsgType

func (msg *ClStartInfo) MsgType() network7.MsgType

func (*ClStartInfo) Pack

func (msg *ClStartInfo) Pack() []byte

func (*ClStartInfo) SetHeader

func (msg *ClStartInfo) SetHeader(header *chunk7.ChunkHeader)

func (*ClStartInfo) System

func (msg *ClStartInfo) System() bool

func (*ClStartInfo) Unpack

func (msg *ClStartInfo) Unpack(u *packer.Unpacker) error

func (*ClStartInfo) Vital

func (msg *ClStartInfo) Vital() bool

type ClVote

type ClVote struct {
	ChunkHeader *chunk7.ChunkHeader

	Choice network7.VoteChoice
}

func (*ClVote) Header

func (msg *ClVote) Header() *chunk7.ChunkHeader

func (*ClVote) MsgId

func (msg *ClVote) MsgId() int

func (*ClVote) MsgType

func (msg *ClVote) MsgType() network7.MsgType

func (*ClVote) Pack

func (msg *ClVote) Pack() []byte

func (*ClVote) SetHeader

func (msg *ClVote) SetHeader(header *chunk7.ChunkHeader)

func (*ClVote) System

func (msg *ClVote) System() bool

func (*ClVote) Unpack

func (msg *ClVote) Unpack(u *packer.Unpacker) error

func (*ClVote) Vital

func (msg *ClVote) Vital() bool

type ConReady

type ConReady struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*ConReady) Header

func (msg *ConReady) Header() *chunk7.ChunkHeader

func (*ConReady) MsgId

func (msg *ConReady) MsgId() int

func (*ConReady) MsgType

func (msg *ConReady) MsgType() network7.MsgType

func (*ConReady) Pack

func (msg *ConReady) Pack() []byte

func (*ConReady) SetHeader

func (msg *ConReady) SetHeader(header *chunk7.ChunkHeader)

func (*ConReady) System

func (msg *ConReady) System() bool

func (*ConReady) Unpack

func (msg *ConReady) Unpack(u *packer.Unpacker) error

func (*ConReady) Vital

func (msg *ConReady) Vital() bool

type CtrlAccept

type CtrlAccept struct {
	Token [4]byte
}

func (*CtrlAccept) Header

func (msg *CtrlAccept) Header() *chunk7.ChunkHeader

func (*CtrlAccept) MsgId

func (msg *CtrlAccept) MsgId() int

func (*CtrlAccept) MsgType

func (msg *CtrlAccept) MsgType() network7.MsgType

func (*CtrlAccept) Pack

func (msg *CtrlAccept) Pack() []byte

func (*CtrlAccept) SetHeader

func (msg *CtrlAccept) SetHeader(header *chunk7.ChunkHeader)

func (*CtrlAccept) System

func (msg *CtrlAccept) System() bool

func (*CtrlAccept) Unpack

func (msg *CtrlAccept) Unpack(u *packer.Unpacker) error

func (*CtrlAccept) Vital

func (msg *CtrlAccept) Vital() bool

type CtrlClose

type CtrlClose struct {
	Reason string
}

func (*CtrlClose) Header

func (msg *CtrlClose) Header() *chunk7.ChunkHeader

func (*CtrlClose) MsgId

func (msg *CtrlClose) MsgId() int

func (*CtrlClose) MsgType

func (msg *CtrlClose) MsgType() network7.MsgType

func (*CtrlClose) Pack

func (msg *CtrlClose) Pack() []byte

func (*CtrlClose) SetHeader

func (msg *CtrlClose) SetHeader(header *chunk7.ChunkHeader)

func (*CtrlClose) System

func (msg *CtrlClose) System() bool

func (*CtrlClose) Unpack

func (msg *CtrlClose) Unpack(u *packer.Unpacker) error

func (*CtrlClose) Vital

func (msg *CtrlClose) Vital() bool

type CtrlConnect

type CtrlConnect struct {
	Token [4]byte
}

func (*CtrlConnect) Header

func (msg *CtrlConnect) Header() *chunk7.ChunkHeader

func (*CtrlConnect) MsgId

func (msg *CtrlConnect) MsgId() int

func (*CtrlConnect) MsgType

func (msg *CtrlConnect) MsgType() network7.MsgType

func (*CtrlConnect) Pack

func (msg *CtrlConnect) Pack() []byte

func (*CtrlConnect) SetHeader

func (msg *CtrlConnect) SetHeader(header *chunk7.ChunkHeader)

func (*CtrlConnect) System

func (msg *CtrlConnect) System() bool

func (*CtrlConnect) Unpack

func (msg *CtrlConnect) Unpack(u *packer.Unpacker) error

func (*CtrlConnect) Vital

func (msg *CtrlConnect) Vital() bool

type CtrlKeepAlive

type CtrlKeepAlive struct {
}

func (*CtrlKeepAlive) Header

func (msg *CtrlKeepAlive) Header() *chunk7.ChunkHeader

func (*CtrlKeepAlive) MsgId

func (msg *CtrlKeepAlive) MsgId() int

func (*CtrlKeepAlive) MsgType

func (msg *CtrlKeepAlive) MsgType() network7.MsgType

func (*CtrlKeepAlive) Pack

func (msg *CtrlKeepAlive) Pack() []byte

func (*CtrlKeepAlive) SetHeader

func (msg *CtrlKeepAlive) SetHeader(header *chunk7.ChunkHeader)

func (*CtrlKeepAlive) System

func (msg *CtrlKeepAlive) System() bool

func (*CtrlKeepAlive) Unpack

func (msg *CtrlKeepAlive) Unpack(u *packer.Unpacker) error

func (*CtrlKeepAlive) Vital

func (msg *CtrlKeepAlive) Vital() bool

type CtrlToken

type CtrlToken struct {
	Token [4]byte
}

func (*CtrlToken) Header

func (msg *CtrlToken) Header() *chunk7.ChunkHeader

func (*CtrlToken) MsgId

func (msg *CtrlToken) MsgId() int

func (*CtrlToken) MsgType

func (msg *CtrlToken) MsgType() network7.MsgType

func (*CtrlToken) Pack

func (msg *CtrlToken) Pack() []byte

func (*CtrlToken) SetHeader

func (msg *CtrlToken) SetHeader(header *chunk7.ChunkHeader)

func (*CtrlToken) System

func (msg *CtrlToken) System() bool

func (*CtrlToken) Unpack

func (msg *CtrlToken) Unpack(u *packer.Unpacker) error

func (*CtrlToken) Vital

func (msg *CtrlToken) Vital() bool

type DeClientEnter

type DeClientEnter struct {
	ChunkHeader *chunk7.ChunkHeader

	Name     string
	ClientId int
	Team     network7.GameTeam
}

only used for demos never send over the network

func (*DeClientEnter) Header

func (msg *DeClientEnter) Header() *chunk7.ChunkHeader

func (*DeClientEnter) MsgId

func (msg *DeClientEnter) MsgId() int

func (*DeClientEnter) MsgType

func (msg *DeClientEnter) MsgType() network7.MsgType

func (*DeClientEnter) Pack

func (msg *DeClientEnter) Pack() []byte

func (*DeClientEnter) SetHeader

func (msg *DeClientEnter) SetHeader(header *chunk7.ChunkHeader)

func (*DeClientEnter) System

func (msg *DeClientEnter) System() bool

func (*DeClientEnter) Unpack

func (msg *DeClientEnter) Unpack(u *packer.Unpacker) error

func (*DeClientEnter) Vital

func (msg *DeClientEnter) Vital() bool

type DeClientLeave

type DeClientLeave struct {
	ChunkHeader *chunk7.ChunkHeader

	Name     string
	ClientId int
	Reason   string
}

only used for demos never send over the network

func (*DeClientLeave) Header

func (msg *DeClientLeave) Header() *chunk7.ChunkHeader

func (*DeClientLeave) MsgId

func (msg *DeClientLeave) MsgId() int

func (*DeClientLeave) MsgType

func (msg *DeClientLeave) MsgType() network7.MsgType

func (*DeClientLeave) Pack

func (msg *DeClientLeave) Pack() []byte

func (*DeClientLeave) SetHeader

func (msg *DeClientLeave) SetHeader(header *chunk7.ChunkHeader)

func (*DeClientLeave) System

func (msg *DeClientLeave) System() bool

func (*DeClientLeave) Unpack

func (msg *DeClientLeave) Unpack(u *packer.Unpacker) error

func (*DeClientLeave) Vital

func (msg *DeClientLeave) Vital() bool

type EnterGame

type EnterGame struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*EnterGame) Header

func (msg *EnterGame) Header() *chunk7.ChunkHeader

func (*EnterGame) MsgId

func (msg *EnterGame) MsgId() int

func (*EnterGame) MsgType

func (msg *EnterGame) MsgType() network7.MsgType

func (*EnterGame) Pack

func (msg *EnterGame) Pack() []byte

func (*EnterGame) SetHeader

func (msg *EnterGame) SetHeader(header *chunk7.ChunkHeader)

func (*EnterGame) System

func (msg *EnterGame) System() bool

func (*EnterGame) Unpack

func (msg *EnterGame) Unpack(u *packer.Unpacker) error

func (*EnterGame) Vital

func (msg *EnterGame) Vital() bool

type Error

type Error struct {
	ChunkHeader *chunk7.ChunkHeader
}

this message is unused in the official 0.7.5 implementation

func (*Error) Header

func (msg *Error) Header() *chunk7.ChunkHeader

func (*Error) MsgId

func (msg *Error) MsgId() int

func (*Error) MsgType

func (msg *Error) MsgType() network7.MsgType

func (*Error) Pack

func (msg *Error) Pack() []byte

func (*Error) SetHeader

func (msg *Error) SetHeader(header *chunk7.ChunkHeader)

func (*Error) System

func (msg *Error) System() bool

func (*Error) Unpack

func (msg *Error) Unpack(u *packer.Unpacker) error

func (*Error) Vital

func (msg *Error) Vital() bool

type Info

type Info struct {
	ChunkHeader *chunk7.ChunkHeader

	// The official name is "NetVersion" but a more fitting name in my opinion would be "Protocol Version".
	// The variable C++ implementations GAME_NETVERSION always expands to "0.7 802f1be60a05665f"
	// If the server gets another string it actually rejects the connection. This is what prohibits 0.6 clients to join 0.7 servers.
	//
	// Recommended value is network7.NetVersion
	Version string

	// Password to enter password protected servers
	// If the server does not require a password it will ignore this string
	//
	// Recommended value is ""
	Password string

	// Another version field which does not have to match the servers version to establish a connection.
	// The first version field makes sure that client and server use the same major protocol and are compatible.
	// This "Client Version" field then informs the server about the clients minor version.
	// The server can use it to activate some non protocol breaking features that were introduced in minor releases.
	//
	// The official teeworlds 0.7.5 client sends the value 0x0705
	// So the recommended value is network7.ClientVersion
	ClientVersion int
}

func (*Info) Header

func (msg *Info) Header() *chunk7.ChunkHeader

func (*Info) MsgId

func (msg *Info) MsgId() int

func (Info) MsgType

func (info Info) MsgType() network7.MsgType

func (*Info) Pack

func (msg *Info) Pack() []byte

func (*Info) SetHeader

func (msg *Info) SetHeader(header *chunk7.ChunkHeader)

func (*Info) System

func (msg *Info) System() bool

func (*Info) Unpack

func (msg *Info) Unpack(u *packer.Unpacker) error

func (*Info) Vital

func (msg *Info) Vital() bool

type Input

type Input struct {
	ChunkHeader *chunk7.ChunkHeader

	AckGameTick    int
	PredictionTick int
	// Size           int // size is always 40
	Direction    int
	TargetX      int
	TargetY      int
	Jump         int
	Fire         int
	Hook         int
	PlayerFlags  int
	WantedWeapon network7.Weapon
	NextWeapon   network7.Weapon
	PrevWeapon   network7.Weapon
}

func (*Input) Header

func (msg *Input) Header() *chunk7.ChunkHeader

func (*Input) MsgId

func (msg *Input) MsgId() int

func (*Input) MsgType

func (msg *Input) MsgType() network7.MsgType

func (*Input) Pack

func (msg *Input) Pack() []byte

func (*Input) SetHeader

func (msg *Input) SetHeader(header *chunk7.ChunkHeader)

func (*Input) System

func (msg *Input) System() bool

func (*Input) Unpack

func (msg *Input) Unpack(u *packer.Unpacker) error

func (*Input) Vital

func (msg *Input) Vital() bool

type InputTiming

type InputTiming struct {
	ChunkHeader *chunk7.ChunkHeader

	IntendedPredTick int
	TimeLeft         int
}

func (*InputTiming) Header

func (msg *InputTiming) Header() *chunk7.ChunkHeader

func (*InputTiming) MsgId

func (msg *InputTiming) MsgId() int

func (*InputTiming) MsgType

func (msg *InputTiming) MsgType() network7.MsgType

func (*InputTiming) Pack

func (msg *InputTiming) Pack() []byte

func (*InputTiming) SetHeader

func (msg *InputTiming) SetHeader(header *chunk7.ChunkHeader)

func (*InputTiming) System

func (msg *InputTiming) System() bool

func (*InputTiming) Unpack

func (msg *InputTiming) Unpack(u *packer.Unpacker) error

func (*InputTiming) Vital

func (msg *InputTiming) Vital() bool

type MapChange

type MapChange struct {
	ChunkHeader *chunk7.ChunkHeader

	Name                        string
	Crc                         int
	Size                        int
	NumResponseChunksPerRequest int
	ChunkSize                   int
	Sha256                      [32]byte
}

func (*MapChange) Header

func (msg *MapChange) Header() *chunk7.ChunkHeader

func (*MapChange) MsgId

func (msg *MapChange) MsgId() int

func (*MapChange) MsgType

func (msg *MapChange) MsgType() network7.MsgType

func (*MapChange) Pack

func (msg *MapChange) Pack() []byte

func (*MapChange) SetHeader

func (msg *MapChange) SetHeader(header *chunk7.ChunkHeader)

func (*MapChange) System

func (msg *MapChange) System() bool

func (*MapChange) Unpack

func (msg *MapChange) Unpack(u *packer.Unpacker) error

func (*MapChange) Vital

func (msg *MapChange) Vital() bool

type MapData

type MapData struct {
	ChunkHeader *chunk7.ChunkHeader

	Data []byte
}

func (*MapData) Header

func (msg *MapData) Header() *chunk7.ChunkHeader

func (*MapData) MsgId

func (msg *MapData) MsgId() int

func (*MapData) MsgType

func (msg *MapData) MsgType() network7.MsgType

func (*MapData) Pack

func (msg *MapData) Pack() []byte

func (*MapData) SetHeader

func (msg *MapData) SetHeader(header *chunk7.ChunkHeader)

func (*MapData) System

func (msg *MapData) System() bool

func (*MapData) Unpack

func (msg *MapData) Unpack(u *packer.Unpacker) error

func (*MapData) Vital

func (msg *MapData) Vital() bool

type MaplistEntryAdd

type MaplistEntryAdd struct {
	ChunkHeader *chunk7.ChunkHeader

	MapName string
}

func (*MaplistEntryAdd) Header

func (msg *MaplistEntryAdd) Header() *chunk7.ChunkHeader

func (*MaplistEntryAdd) MsgId

func (msg *MaplistEntryAdd) MsgId() int

func (*MaplistEntryAdd) MsgType

func (msg *MaplistEntryAdd) MsgType() network7.MsgType

func (*MaplistEntryAdd) Pack

func (msg *MaplistEntryAdd) Pack() []byte

func (*MaplistEntryAdd) SetHeader

func (msg *MaplistEntryAdd) SetHeader(header *chunk7.ChunkHeader)

func (*MaplistEntryAdd) System

func (msg *MaplistEntryAdd) System() bool

func (*MaplistEntryAdd) Unpack

func (msg *MaplistEntryAdd) Unpack(u *packer.Unpacker) error

func (*MaplistEntryAdd) Vital

func (msg *MaplistEntryAdd) Vital() bool

type MaplistEntryRem

type MaplistEntryRem struct {
	ChunkHeader *chunk7.ChunkHeader

	MapName string
}

func (*MaplistEntryRem) Header

func (msg *MaplistEntryRem) Header() *chunk7.ChunkHeader

func (*MaplistEntryRem) MsgId

func (msg *MaplistEntryRem) MsgId() int

func (*MaplistEntryRem) MsgType

func (msg *MaplistEntryRem) MsgType() network7.MsgType

func (*MaplistEntryRem) Pack

func (msg *MaplistEntryRem) Pack() []byte

func (*MaplistEntryRem) SetHeader

func (msg *MaplistEntryRem) SetHeader(header *chunk7.ChunkHeader)

func (*MaplistEntryRem) System

func (msg *MaplistEntryRem) System() bool

func (*MaplistEntryRem) Unpack

func (msg *MaplistEntryRem) Unpack(u *packer.Unpacker) error

func (*MaplistEntryRem) Vital

func (msg *MaplistEntryRem) Vital() bool

type NetMessage

type NetMessage interface {
	MsgId() int
	MsgType() network7.MsgType
	System() bool
	Vital() bool
	Pack() []byte
	Unpack(u *packer.Unpacker) error

	Header() *chunk7.ChunkHeader
	SetHeader(header *chunk7.ChunkHeader)
}

type Ping

type Ping struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*Ping) Header

func (msg *Ping) Header() *chunk7.ChunkHeader

func (*Ping) MsgId

func (msg *Ping) MsgId() int

func (*Ping) MsgType

func (msg *Ping) MsgType() network7.MsgType

func (*Ping) Pack

func (msg *Ping) Pack() []byte

func (*Ping) SetHeader

func (msg *Ping) SetHeader(header *chunk7.ChunkHeader)

func (*Ping) System

func (msg *Ping) System() bool

func (*Ping) Unpack

func (msg *Ping) Unpack(u *packer.Unpacker) error

func (*Ping) Vital

func (msg *Ping) Vital() bool

type PingReply

type PingReply struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*PingReply) Header

func (msg *PingReply) Header() *chunk7.ChunkHeader

func (*PingReply) MsgId

func (msg *PingReply) MsgId() int

func (*PingReply) MsgType

func (msg *PingReply) MsgType() network7.MsgType

func (*PingReply) Pack

func (msg *PingReply) Pack() []byte

func (*PingReply) SetHeader

func (msg *PingReply) SetHeader(header *chunk7.ChunkHeader)

func (*PingReply) System

func (msg *PingReply) System() bool

func (*PingReply) Unpack

func (msg *PingReply) Unpack(u *packer.Unpacker) error

func (*PingReply) Vital

func (msg *PingReply) Vital() bool

type RconAuth

type RconAuth struct {
	ChunkHeader *chunk7.ChunkHeader

	Password string
}

func (*RconAuth) Header

func (msg *RconAuth) Header() *chunk7.ChunkHeader

func (*RconAuth) MsgId

func (msg *RconAuth) MsgId() int

func (*RconAuth) MsgType

func (msg *RconAuth) MsgType() network7.MsgType

func (*RconAuth) Pack

func (msg *RconAuth) Pack() []byte

func (*RconAuth) SetHeader

func (msg *RconAuth) SetHeader(header *chunk7.ChunkHeader)

func (*RconAuth) System

func (msg *RconAuth) System() bool

func (*RconAuth) Unpack

func (msg *RconAuth) Unpack(u *packer.Unpacker) error

func (*RconAuth) Vital

func (msg *RconAuth) Vital() bool

type RconAuthOff

type RconAuthOff struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*RconAuthOff) Header

func (msg *RconAuthOff) Header() *chunk7.ChunkHeader

func (*RconAuthOff) MsgId

func (msg *RconAuthOff) MsgId() int

func (*RconAuthOff) MsgType

func (msg *RconAuthOff) MsgType() network7.MsgType

func (*RconAuthOff) Pack

func (msg *RconAuthOff) Pack() []byte

func (*RconAuthOff) SetHeader

func (msg *RconAuthOff) SetHeader(header *chunk7.ChunkHeader)

func (*RconAuthOff) System

func (msg *RconAuthOff) System() bool

func (*RconAuthOff) Unpack

func (msg *RconAuthOff) Unpack(u *packer.Unpacker) error

func (*RconAuthOff) Vital

func (msg *RconAuthOff) Vital() bool

type RconAuthOn

type RconAuthOn struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*RconAuthOn) Header

func (msg *RconAuthOn) Header() *chunk7.ChunkHeader

func (*RconAuthOn) MsgId

func (msg *RconAuthOn) MsgId() int

func (*RconAuthOn) MsgType

func (msg *RconAuthOn) MsgType() network7.MsgType

func (*RconAuthOn) Pack

func (msg *RconAuthOn) Pack() []byte

func (*RconAuthOn) SetHeader

func (msg *RconAuthOn) SetHeader(header *chunk7.ChunkHeader)

func (*RconAuthOn) System

func (msg *RconAuthOn) System() bool

func (*RconAuthOn) Unpack

func (msg *RconAuthOn) Unpack(u *packer.Unpacker) error

func (*RconAuthOn) Vital

func (msg *RconAuthOn) Vital() bool

type RconCmd

type RconCmd struct {
	ChunkHeader *chunk7.ChunkHeader

	Command string
}

func (*RconCmd) Header

func (msg *RconCmd) Header() *chunk7.ChunkHeader

func (*RconCmd) MsgId

func (msg *RconCmd) MsgId() int

func (*RconCmd) MsgType

func (msg *RconCmd) MsgType() network7.MsgType

func (*RconCmd) Pack

func (msg *RconCmd) Pack() []byte

func (*RconCmd) SetHeader

func (msg *RconCmd) SetHeader(header *chunk7.ChunkHeader)

func (*RconCmd) System

func (msg *RconCmd) System() bool

func (*RconCmd) Unpack

func (msg *RconCmd) Unpack(u *packer.Unpacker) error

func (*RconCmd) Vital

func (msg *RconCmd) Vital() bool

type RconCmdAdd

type RconCmdAdd struct {
	ChunkHeader *chunk7.ChunkHeader

	Name   string
	Help   string
	Params string
}

func (*RconCmdAdd) Header

func (msg *RconCmdAdd) Header() *chunk7.ChunkHeader

func (*RconCmdAdd) MsgId

func (msg *RconCmdAdd) MsgId() int

func (*RconCmdAdd) MsgType

func (msg *RconCmdAdd) MsgType() network7.MsgType

func (*RconCmdAdd) Pack

func (msg *RconCmdAdd) Pack() []byte

func (*RconCmdAdd) SetHeader

func (msg *RconCmdAdd) SetHeader(header *chunk7.ChunkHeader)

func (*RconCmdAdd) System

func (msg *RconCmdAdd) System() bool

func (*RconCmdAdd) Unpack

func (msg *RconCmdAdd) Unpack(u *packer.Unpacker) error

func (*RconCmdAdd) Vital

func (msg *RconCmdAdd) Vital() bool

type RconCmdRem

type RconCmdRem struct {
	ChunkHeader *chunk7.ChunkHeader

	Name string
}

func (*RconCmdRem) Header

func (msg *RconCmdRem) Header() *chunk7.ChunkHeader

func (*RconCmdRem) MsgId

func (msg *RconCmdRem) MsgId() int

func (*RconCmdRem) MsgType

func (msg *RconCmdRem) MsgType() network7.MsgType

func (*RconCmdRem) Pack

func (msg *RconCmdRem) Pack() []byte

func (*RconCmdRem) SetHeader

func (msg *RconCmdRem) SetHeader(header *chunk7.ChunkHeader)

func (*RconCmdRem) System

func (msg *RconCmdRem) System() bool

func (*RconCmdRem) Unpack

func (msg *RconCmdRem) Unpack(u *packer.Unpacker) error

func (*RconCmdRem) Vital

func (msg *RconCmdRem) Vital() bool

type RconLine

type RconLine struct {
	ChunkHeader *chunk7.ChunkHeader

	Line string
}

func (*RconLine) Header

func (msg *RconLine) Header() *chunk7.ChunkHeader

func (*RconLine) MsgId

func (msg *RconLine) MsgId() int

func (*RconLine) MsgType

func (msg *RconLine) MsgType() network7.MsgType

func (*RconLine) Pack

func (msg *RconLine) Pack() []byte

func (*RconLine) SetHeader

func (msg *RconLine) SetHeader(header *chunk7.ChunkHeader)

func (*RconLine) System

func (msg *RconLine) System() bool

func (*RconLine) Unpack

func (msg *RconLine) Unpack(u *packer.Unpacker) error

func (*RconLine) Vital

func (msg *RconLine) Vital() bool

type Ready

type Ready struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*Ready) Header

func (msg *Ready) Header() *chunk7.ChunkHeader

func (*Ready) MsgId

func (msg *Ready) MsgId() int

func (*Ready) MsgType

func (msg *Ready) MsgType() network7.MsgType

func (*Ready) Pack

func (msg *Ready) Pack() []byte

func (*Ready) SetHeader

func (msg *Ready) SetHeader(header *chunk7.ChunkHeader)

func (*Ready) System

func (msg *Ready) System() bool

func (*Ready) Unpack

func (msg *Ready) Unpack(u *packer.Unpacker) error

func (*Ready) Vital

func (msg *Ready) Vital() bool

type RequestMapData

type RequestMapData struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*RequestMapData) Header

func (msg *RequestMapData) Header() *chunk7.ChunkHeader

func (*RequestMapData) MsgId

func (msg *RequestMapData) MsgId() int

func (*RequestMapData) MsgType

func (msg *RequestMapData) MsgType() network7.MsgType

func (*RequestMapData) Pack

func (msg *RequestMapData) Pack() []byte

func (*RequestMapData) SetHeader

func (msg *RequestMapData) SetHeader(header *chunk7.ChunkHeader)

func (*RequestMapData) System

func (msg *RequestMapData) System() bool

func (*RequestMapData) Unpack

func (msg *RequestMapData) Unpack(u *packer.Unpacker) error

func (*RequestMapData) Vital

func (msg *RequestMapData) Vital() bool

type ServerInfo

type ServerInfo struct {
	ChunkHeader *chunk7.ChunkHeader

	Version     string
	Name        string
	Hostname    string
	MapName     string
	GameType    string
	Flags       int
	SkillLevel  int
	PlayerCount int
	PlayerSlots int
	ClientCount int
	MaxClients  int
}

func (*ServerInfo) Header

func (msg *ServerInfo) Header() *chunk7.ChunkHeader

func (*ServerInfo) MsgId

func (msg *ServerInfo) MsgId() int

func (*ServerInfo) MsgType

func (msg *ServerInfo) MsgType() network7.MsgType

func (*ServerInfo) Pack

func (msg *ServerInfo) Pack() []byte

func (*ServerInfo) SetHeader

func (msg *ServerInfo) SetHeader(header *chunk7.ChunkHeader)

func (*ServerInfo) System

func (msg *ServerInfo) System() bool

func (*ServerInfo) Unpack

func (msg *ServerInfo) Unpack(u *packer.Unpacker) error

func (*ServerInfo) Vital

func (msg *ServerInfo) Vital() bool

type Snap

type Snap struct {
	ChunkHeader *chunk7.ChunkHeader

	GameTick  int
	DeltaTick int
	NumParts  int
	Part      int
	Crc       int
	PartSize  int
	Data      []byte
}

func (*Snap) Header

func (msg *Snap) Header() *chunk7.ChunkHeader

func (*Snap) MsgId

func (msg *Snap) MsgId() int

func (*Snap) MsgType

func (msg *Snap) MsgType() network7.MsgType

func (*Snap) Pack

func (msg *Snap) Pack() []byte

func (*Snap) SetHeader

func (msg *Snap) SetHeader(header *chunk7.ChunkHeader)

func (*Snap) System

func (msg *Snap) System() bool

func (*Snap) Unpack

func (msg *Snap) Unpack(u *packer.Unpacker) error

func (*Snap) Vital

func (msg *Snap) Vital() bool

type SnapEmpty

type SnapEmpty struct {
	ChunkHeader *chunk7.ChunkHeader

	GameTick  int
	DeltaTick int
}

func (*SnapEmpty) Header

func (msg *SnapEmpty) Header() *chunk7.ChunkHeader

func (*SnapEmpty) MsgId

func (msg *SnapEmpty) MsgId() int

func (*SnapEmpty) MsgType

func (msg *SnapEmpty) MsgType() network7.MsgType

func (*SnapEmpty) Pack

func (msg *SnapEmpty) Pack() []byte

func (*SnapEmpty) SetHeader

func (msg *SnapEmpty) SetHeader(header *chunk7.ChunkHeader)

func (*SnapEmpty) System

func (msg *SnapEmpty) System() bool

func (*SnapEmpty) Unpack

func (msg *SnapEmpty) Unpack(u *packer.Unpacker) error

func (*SnapEmpty) Vital

func (msg *SnapEmpty) Vital() bool

type SnapSingle

type SnapSingle struct {
	ChunkHeader *chunk7.ChunkHeader

	GameTick  int
	DeltaTick int
	Crc       int
	PartSize  int

	// TODO: remove data when snapshot packing works
	//       as of right now Data and Snapshot are the same thing
	Data     []byte
	Snapshot snapshot7.Snapshot
}

func (*SnapSingle) Header

func (msg *SnapSingle) Header() *chunk7.ChunkHeader

func (*SnapSingle) MsgId

func (msg *SnapSingle) MsgId() int

func (*SnapSingle) MsgType

func (msg *SnapSingle) MsgType() network7.MsgType

func (*SnapSingle) Pack

func (msg *SnapSingle) Pack() []byte

func (*SnapSingle) SetHeader

func (msg *SnapSingle) SetHeader(header *chunk7.ChunkHeader)

func (*SnapSingle) System

func (msg *SnapSingle) System() bool

func (*SnapSingle) Unpack

func (msg *SnapSingle) Unpack(u *packer.Unpacker) error

func (*SnapSingle) Vital

func (msg *SnapSingle) Vital() bool

type SnapSmall

type SnapSmall struct {
	ChunkHeader *chunk7.ChunkHeader
}

this message is unused in the official 0.7.5 implementation

func (*SnapSmall) Header

func (msg *SnapSmall) Header() *chunk7.ChunkHeader

func (*SnapSmall) MsgId

func (msg *SnapSmall) MsgId() int

func (*SnapSmall) MsgType

func (msg *SnapSmall) MsgType() network7.MsgType

func (*SnapSmall) Pack

func (msg *SnapSmall) Pack() []byte

func (*SnapSmall) SetHeader

func (msg *SnapSmall) SetHeader(header *chunk7.ChunkHeader)

func (*SnapSmall) System

func (msg *SnapSmall) System() bool

func (*SnapSmall) Unpack

func (msg *SnapSmall) Unpack(u *packer.Unpacker) error

func (*SnapSmall) Vital

func (msg *SnapSmall) Vital() bool

type SvBroadcast

type SvBroadcast struct {
	ChunkHeader *chunk7.ChunkHeader

	Message string
}

func (*SvBroadcast) Header

func (msg *SvBroadcast) Header() *chunk7.ChunkHeader

func (*SvBroadcast) MsgId

func (msg *SvBroadcast) MsgId() int

func (*SvBroadcast) MsgType

func (msg *SvBroadcast) MsgType() network7.MsgType

func (*SvBroadcast) Pack

func (msg *SvBroadcast) Pack() []byte

func (*SvBroadcast) SetHeader

func (msg *SvBroadcast) SetHeader(header *chunk7.ChunkHeader)

func (*SvBroadcast) System

func (msg *SvBroadcast) System() bool

func (*SvBroadcast) Unpack

func (msg *SvBroadcast) Unpack(u *packer.Unpacker) error

func (*SvBroadcast) Vital

func (msg *SvBroadcast) Vital() bool

type SvChat

type SvChat struct {
	ChunkHeader *chunk7.ChunkHeader

	Mode     network7.ChatMode
	ClientId int
	TargetId int
	Message  string
}

func (*SvChat) Header

func (msg *SvChat) Header() *chunk7.ChunkHeader

func (*SvChat) MsgId

func (msg *SvChat) MsgId() int

func (*SvChat) MsgType

func (msg *SvChat) MsgType() network7.MsgType

func (*SvChat) Pack

func (msg *SvChat) Pack() []byte

func (*SvChat) SetHeader

func (msg *SvChat) SetHeader(header *chunk7.ChunkHeader)

func (*SvChat) System

func (msg *SvChat) System() bool

func (*SvChat) Unpack

func (msg *SvChat) Unpack(u *packer.Unpacker) error

func (*SvChat) Vital

func (msg *SvChat) Vital() bool

type SvCheckpoint

type SvCheckpoint struct {
	ChunkHeader *chunk7.ChunkHeader

	Diff int
}

func (*SvCheckpoint) Header

func (msg *SvCheckpoint) Header() *chunk7.ChunkHeader

func (*SvCheckpoint) MsgId

func (msg *SvCheckpoint) MsgId() int

func (*SvCheckpoint) MsgType

func (msg *SvCheckpoint) MsgType() network7.MsgType

func (*SvCheckpoint) Pack

func (msg *SvCheckpoint) Pack() []byte

func (*SvCheckpoint) SetHeader

func (msg *SvCheckpoint) SetHeader(header *chunk7.ChunkHeader)

func (*SvCheckpoint) System

func (msg *SvCheckpoint) System() bool

func (*SvCheckpoint) Unpack

func (msg *SvCheckpoint) Unpack(u *packer.Unpacker) error

func (*SvCheckpoint) Vital

func (msg *SvCheckpoint) Vital() bool

type SvClientDrop

type SvClientDrop struct {
	ChunkHeader *chunk7.ChunkHeader

	ClientId int
	Reason   string
	Silent   bool
}

func (*SvClientDrop) Header

func (msg *SvClientDrop) Header() *chunk7.ChunkHeader

func (*SvClientDrop) MsgId

func (msg *SvClientDrop) MsgId() int

func (*SvClientDrop) MsgType

func (msg *SvClientDrop) MsgType() network7.MsgType

func (*SvClientDrop) Pack

func (msg *SvClientDrop) Pack() []byte

func (*SvClientDrop) SetHeader

func (msg *SvClientDrop) SetHeader(header *chunk7.ChunkHeader)

func (*SvClientDrop) System

func (msg *SvClientDrop) System() bool

func (*SvClientDrop) Unpack

func (msg *SvClientDrop) Unpack(u *packer.Unpacker) error

func (*SvClientDrop) Vital

func (msg *SvClientDrop) Vital() bool

type SvClientInfo

type SvClientInfo struct {
	ChunkHeader *chunk7.ChunkHeader

	ClientId              int
	Local                 bool
	Team                  int
	Name                  string
	Clan                  string
	Country               int
	Body                  string
	Marking               string
	Decoration            string
	Hands                 string
	Feet                  string
	Eyes                  string
	CustomColorBody       bool
	CustomColorMarking    bool
	CustomColorDecoration bool
	CustomColorHands      bool
	CustomColorFeet       bool
	CustomColorEyes       bool
	ColorBody             int
	ColorMarking          int
	ColorHands            int
	ColorFeet             int
	ColorEyes             int
	Silent                bool
}

func (*SvClientInfo) Header

func (msg *SvClientInfo) Header() *chunk7.ChunkHeader

func (*SvClientInfo) MsgId

func (info *SvClientInfo) MsgId() int

func (*SvClientInfo) MsgType

func (info *SvClientInfo) MsgType() network7.MsgType

func (*SvClientInfo) Pack

func (msg *SvClientInfo) Pack() []byte

func (*SvClientInfo) SetHeader

func (msg *SvClientInfo) SetHeader(header *chunk7.ChunkHeader)

func (*SvClientInfo) System

func (info *SvClientInfo) System() bool

func (*SvClientInfo) Unpack

func (info *SvClientInfo) Unpack(u *packer.Unpacker) error

func (*SvClientInfo) Vital

func (info *SvClientInfo) Vital() bool

type SvCommandInfo

type SvCommandInfo struct {
	ChunkHeader *chunk7.ChunkHeader

	Name       string
	ArgsFormat string
	HelpText   string
}

func (*SvCommandInfo) Header

func (msg *SvCommandInfo) Header() *chunk7.ChunkHeader

func (*SvCommandInfo) MsgId

func (msg *SvCommandInfo) MsgId() int

func (*SvCommandInfo) MsgType

func (msg *SvCommandInfo) MsgType() network7.MsgType

func (*SvCommandInfo) Pack

func (msg *SvCommandInfo) Pack() []byte

func (*SvCommandInfo) SetHeader

func (msg *SvCommandInfo) SetHeader(header *chunk7.ChunkHeader)

func (*SvCommandInfo) System

func (msg *SvCommandInfo) System() bool

func (*SvCommandInfo) Unpack

func (msg *SvCommandInfo) Unpack(u *packer.Unpacker) error

func (*SvCommandInfo) Vital

func (msg *SvCommandInfo) Vital() bool

type SvCommandInfoRemove

type SvCommandInfoRemove struct {
	ChunkHeader *chunk7.ChunkHeader

	Name string
}

func (*SvCommandInfoRemove) Header

func (msg *SvCommandInfoRemove) Header() *chunk7.ChunkHeader

func (*SvCommandInfoRemove) MsgId

func (msg *SvCommandInfoRemove) MsgId() int

func (*SvCommandInfoRemove) MsgType

func (msg *SvCommandInfoRemove) MsgType() network7.MsgType

func (*SvCommandInfoRemove) Pack

func (msg *SvCommandInfoRemove) Pack() []byte

func (*SvCommandInfoRemove) SetHeader

func (msg *SvCommandInfoRemove) SetHeader(header *chunk7.ChunkHeader)

func (*SvCommandInfoRemove) System

func (msg *SvCommandInfoRemove) System() bool

func (*SvCommandInfoRemove) Unpack

func (msg *SvCommandInfoRemove) Unpack(u *packer.Unpacker) error

func (*SvCommandInfoRemove) Vital

func (msg *SvCommandInfoRemove) Vital() bool

type SvEmoticon

type SvEmoticon struct {
	ChunkHeader *chunk7.ChunkHeader

	ClientId int
	Emoticon network7.Emoticon
}

func (*SvEmoticon) Header

func (msg *SvEmoticon) Header() *chunk7.ChunkHeader

func (*SvEmoticon) MsgId

func (msg *SvEmoticon) MsgId() int

func (*SvEmoticon) MsgType

func (msg *SvEmoticon) MsgType() network7.MsgType

func (*SvEmoticon) Pack

func (msg *SvEmoticon) Pack() []byte

func (*SvEmoticon) SetHeader

func (msg *SvEmoticon) SetHeader(header *chunk7.ChunkHeader)

func (*SvEmoticon) System

func (msg *SvEmoticon) System() bool

func (*SvEmoticon) Unpack

func (msg *SvEmoticon) Unpack(u *packer.Unpacker) error

func (*SvEmoticon) Vital

func (msg *SvEmoticon) Vital() bool

type SvExtraProjectile

type SvExtraProjectile struct {
	ChunkHeader *chunk7.ChunkHeader
}

this message is unused in the official 0.7.5 implementation

func (*SvExtraProjectile) Header

func (msg *SvExtraProjectile) Header() *chunk7.ChunkHeader

func (*SvExtraProjectile) MsgId

func (msg *SvExtraProjectile) MsgId() int

func (*SvExtraProjectile) MsgType

func (msg *SvExtraProjectile) MsgType() network7.MsgType

func (*SvExtraProjectile) Pack

func (msg *SvExtraProjectile) Pack() []byte

func (*SvExtraProjectile) SetHeader

func (msg *SvExtraProjectile) SetHeader(header *chunk7.ChunkHeader)

func (*SvExtraProjectile) System

func (msg *SvExtraProjectile) System() bool

func (*SvExtraProjectile) Unpack

func (msg *SvExtraProjectile) Unpack(u *packer.Unpacker) error

func (*SvExtraProjectile) Vital

func (msg *SvExtraProjectile) Vital() bool

type SvGameInfo

type SvGameInfo struct {
	ChunkHeader *chunk7.ChunkHeader

	// Gameflags can have any combination of those flag bits set:
	//    1 - GAMEFLAG_TEAMS
	//    2 - GAMEFLAG_FLAGS
	//    4 - GAMEFLAG_SURVIVAL
	//    8 - GAMEFLAG_RACE
	GameFlags    int
	ScoreLimit   int
	TimeLimit    int
	MatchNum     int
	MatchCurrent int
}

func (*SvGameInfo) Header

func (msg *SvGameInfo) Header() *chunk7.ChunkHeader

func (*SvGameInfo) MsgId

func (msg *SvGameInfo) MsgId() int

func (*SvGameInfo) MsgType

func (msg *SvGameInfo) MsgType() network7.MsgType

func (*SvGameInfo) Pack

func (msg *SvGameInfo) Pack() []byte

func (*SvGameInfo) SetHeader

func (msg *SvGameInfo) SetHeader(header *chunk7.ChunkHeader)

func (*SvGameInfo) System

func (msg *SvGameInfo) System() bool

func (*SvGameInfo) Unpack

func (msg *SvGameInfo) Unpack(u *packer.Unpacker) error

func (*SvGameInfo) Vital

func (msg *SvGameInfo) Vital() bool

type SvGameMsg

type SvGameMsg struct {
	ChunkHeader *chunk7.ChunkHeader

	GameMsgId  network7.GameMsg
	Parameters [3]int
}

func (*SvGameMsg) Header

func (msg *SvGameMsg) Header() *chunk7.ChunkHeader

func (*SvGameMsg) MsgId

func (msg *SvGameMsg) MsgId() int

func (*SvGameMsg) MsgType

func (msg *SvGameMsg) MsgType() network7.MsgType

func (*SvGameMsg) Pack

func (msg *SvGameMsg) Pack() []byte

func (*SvGameMsg) SetHeader

func (msg *SvGameMsg) SetHeader(header *chunk7.ChunkHeader)

func (*SvGameMsg) System

func (msg *SvGameMsg) System() bool

func (*SvGameMsg) Unpack

func (msg *SvGameMsg) Unpack(u *packer.Unpacker) error

func (*SvGameMsg) Vital

func (msg *SvGameMsg) Vital() bool

type SvKillMsg

type SvKillMsg struct {
	ChunkHeader *chunk7.ChunkHeader

	// Client ID of the killer.
	// Can be the same as the Victim.
	// For example on a selfkill with grenade but also when a tee dies in a spike (death tile) or falls out of the world.
	KillerId int

	// Client ID of the killed.
	VictimId int

	// Weapon the tee was killed with. Can be one of those:
	//
	// -3 network7.WeaponGame (team switching etc)
	// -2 network7.WeaponSelf (console kill command)
	// -1 network7.WeaponWorld (death tiles etc)
	//  0 network7.WeaponHammer
	//  1 network7.WeaponGun
	//  2 network7.WeaponShotgun
	//  3 network7.WeaponGrenade
	//  4 network7.WeaponLase
	//  5 network7.WeaponNinja
	Weapon network7.WeaponAll

	// For CTF, if the guy is carrying a flag for example.
	// Only when the sv_gametype is ctf this mode is non zero.
	// It is set in ctf.cpp when a flag is involved on death.
	ModeSpecial int
}

func (*SvKillMsg) Header

func (msg *SvKillMsg) Header() *chunk7.ChunkHeader

func (*SvKillMsg) MsgId

func (msg *SvKillMsg) MsgId() int

func (*SvKillMsg) MsgType

func (msg *SvKillMsg) MsgType() network7.MsgType

func (*SvKillMsg) Pack

func (msg *SvKillMsg) Pack() []byte

func (*SvKillMsg) SetHeader

func (msg *SvKillMsg) SetHeader(header *chunk7.ChunkHeader)

func (*SvKillMsg) System

func (msg *SvKillMsg) System() bool

func (*SvKillMsg) Unpack

func (msg *SvKillMsg) Unpack(u *packer.Unpacker) error

func (*SvKillMsg) Vital

func (msg *SvKillMsg) Vital() bool

type SvMotd

type SvMotd struct {
	ChunkHeader *chunk7.ChunkHeader

	Message string
}

func (*SvMotd) Header

func (msg *SvMotd) Header() *chunk7.ChunkHeader

func (*SvMotd) MsgId

func (msg *SvMotd) MsgId() int

func (*SvMotd) MsgType

func (msg *SvMotd) MsgType() network7.MsgType

func (*SvMotd) Pack

func (msg *SvMotd) Pack() []byte

func (*SvMotd) SetHeader

func (msg *SvMotd) SetHeader(header *chunk7.ChunkHeader)

func (*SvMotd) System

func (msg *SvMotd) System() bool

func (*SvMotd) Unpack

func (msg *SvMotd) Unpack(u *packer.Unpacker) error

func (*SvMotd) Vital

func (msg *SvMotd) Vital() bool

type SvRaceFinish

type SvRaceFinish struct {
	ChunkHeader *chunk7.ChunkHeader

	ClientId       int
	Time           int
	Diff           int
	RecordPersonal int
	RecordServer   int
}

func (*SvRaceFinish) Header

func (msg *SvRaceFinish) Header() *chunk7.ChunkHeader

func (*SvRaceFinish) MsgId

func (msg *SvRaceFinish) MsgId() int

func (*SvRaceFinish) MsgType

func (msg *SvRaceFinish) MsgType() network7.MsgType

func (*SvRaceFinish) Pack

func (msg *SvRaceFinish) Pack() []byte

func (*SvRaceFinish) SetHeader

func (msg *SvRaceFinish) SetHeader(header *chunk7.ChunkHeader)

func (*SvRaceFinish) System

func (msg *SvRaceFinish) System() bool

func (*SvRaceFinish) Unpack

func (msg *SvRaceFinish) Unpack(u *packer.Unpacker) error

func (*SvRaceFinish) Vital

func (msg *SvRaceFinish) Vital() bool

type SvReadyToEnter

type SvReadyToEnter struct {
	ChunkHeader *chunk7.ChunkHeader
}

func (*SvReadyToEnter) Header

func (msg *SvReadyToEnter) Header() *chunk7.ChunkHeader

func (*SvReadyToEnter) MsgId

func (msg *SvReadyToEnter) MsgId() int

func (*SvReadyToEnter) MsgType

func (msg *SvReadyToEnter) MsgType() network7.MsgType

func (*SvReadyToEnter) Pack

func (msg *SvReadyToEnter) Pack() []byte

func (*SvReadyToEnter) SetHeader

func (msg *SvReadyToEnter) SetHeader(header *chunk7.ChunkHeader)

func (*SvReadyToEnter) System

func (msg *SvReadyToEnter) System() bool

func (*SvReadyToEnter) Unpack

func (msg *SvReadyToEnter) Unpack(u *packer.Unpacker) error

func (*SvReadyToEnter) Vital

func (msg *SvReadyToEnter) Vital() bool

type SvServerSettings

type SvServerSettings struct {
	ChunkHeader *chunk7.ChunkHeader

	KickVote    bool
	KickMin     int
	SpecVote    bool
	TeamLock    bool
	TeamBalance bool
	PlayerSlots int
}

func (*SvServerSettings) Header

func (msg *SvServerSettings) Header() *chunk7.ChunkHeader

func (*SvServerSettings) MsgId

func (msg *SvServerSettings) MsgId() int

func (*SvServerSettings) MsgType

func (msg *SvServerSettings) MsgType() network7.MsgType

func (*SvServerSettings) Pack

func (msg *SvServerSettings) Pack() []byte

func (*SvServerSettings) SetHeader

func (msg *SvServerSettings) SetHeader(header *chunk7.ChunkHeader)

func (*SvServerSettings) System

func (msg *SvServerSettings) System() bool

func (*SvServerSettings) Unpack

func (msg *SvServerSettings) Unpack(u *packer.Unpacker) error

func (*SvServerSettings) Vital

func (msg *SvServerSettings) Vital() bool

type SvSkinChange

type SvSkinChange struct {
	ChunkHeader *chunk7.ChunkHeader

	ClientId              int
	Body                  string
	Marking               string
	Decoration            string
	Hands                 string
	Feet                  string
	Eyes                  string
	CustomColorBody       bool
	CustomColorMarking    bool
	CustomColorDecoration bool
	CustomColorHands      bool
	CustomColorFeet       bool
	CustomColorEyes       bool
	ColorBody             int
	ColorMarking          int
	ColorDecoration       int
	ColorHands            int
	ColorFeet             int
	ColorEyes             int
}

func (*SvSkinChange) Header

func (msg *SvSkinChange) Header() *chunk7.ChunkHeader

func (*SvSkinChange) MsgId

func (msg *SvSkinChange) MsgId() int

func (*SvSkinChange) MsgType

func (msg *SvSkinChange) MsgType() network7.MsgType

func (*SvSkinChange) Pack

func (msg *SvSkinChange) Pack() []byte

func (*SvSkinChange) SetHeader

func (msg *SvSkinChange) SetHeader(header *chunk7.ChunkHeader)

func (*SvSkinChange) System

func (msg *SvSkinChange) System() bool

func (*SvSkinChange) Unpack

func (msg *SvSkinChange) Unpack(u *packer.Unpacker) error

func (*SvSkinChange) Vital

func (msg *SvSkinChange) Vital() bool

type SvTeam

type SvTeam struct {
	ChunkHeader *chunk7.ChunkHeader

	ClientId     int
	Silent       bool
	CooldownTick int
}

func (*SvTeam) Header

func (msg *SvTeam) Header() *chunk7.ChunkHeader

func (*SvTeam) MsgId

func (msg *SvTeam) MsgId() int

func (*SvTeam) MsgType

func (msg *SvTeam) MsgType() network7.MsgType

func (*SvTeam) Pack

func (msg *SvTeam) Pack() []byte

func (*SvTeam) SetHeader

func (msg *SvTeam) SetHeader(header *chunk7.ChunkHeader)

func (*SvTeam) System

func (msg *SvTeam) System() bool

func (*SvTeam) Unpack

func (msg *SvTeam) Unpack(u *packer.Unpacker) error

func (*SvTeam) Vital

func (msg *SvTeam) Vital() bool

type SvTuneParams

type SvTuneParams struct {
	ChunkHeader *chunk7.ChunkHeader

	GroundControlSpeed float32
	GroundControlAccel float32
	GroundFriction     float32
	GroundJumpImpulse  float32
	AirJumpImpulse     float32
	AirControlSpeed    float32
	AirControlAccel    float32
	AirFriction        float32
	HookLength         float32
	HookFireSpeed      float32
	HookDragAccel      float32
	HookDragSpeed      float32
	Gravity            float32
	VelrampStart       float32
	VelrampRange       float32
	VelrampCurvature   float32
	GunCurvature       float32
	GunSpeed           float32
	GunLifetime        float32
	ShotgunCurvature   float32
	ShotgunSpeed       float32
	ShotgunSpeeddiff   float32
	ShotgunLifetime    float32
	GrenadeCurvature   float32
	GrenadeSpeed       float32
	GrenadeLifetime    float32
	LaserReach         float32
	LaserBounceDelay   float32
	LaserBounceNum     float32
	LaserBounceCost    float32
	PlayerCollision    float32
	PlayerHooking      float32
}

func (*SvTuneParams) Header

func (msg *SvTuneParams) Header() *chunk7.ChunkHeader

func (*SvTuneParams) MsgId

func (msg *SvTuneParams) MsgId() int

func (*SvTuneParams) MsgType

func (msg *SvTuneParams) MsgType() network7.MsgType

func (*SvTuneParams) Pack

func (msg *SvTuneParams) Pack() []byte

func (*SvTuneParams) SetHeader

func (msg *SvTuneParams) SetHeader(header *chunk7.ChunkHeader)

func (*SvTuneParams) System

func (msg *SvTuneParams) System() bool

func (*SvTuneParams) Unpack

func (msg *SvTuneParams) Unpack(u *packer.Unpacker) error

func (*SvTuneParams) Vital

func (msg *SvTuneParams) Vital() bool

type SvVoteClearOptions

type SvVoteClearOptions struct {
	ChunkHeader *chunk7.ChunkHeader
}

This message is used by the server to empty all vote entries in the client menu.

func (*SvVoteClearOptions) Header

func (msg *SvVoteClearOptions) Header() *chunk7.ChunkHeader

func (*SvVoteClearOptions) MsgId

func (msg *SvVoteClearOptions) MsgId() int

func (*SvVoteClearOptions) MsgType

func (msg *SvVoteClearOptions) MsgType() network7.MsgType

func (*SvVoteClearOptions) Pack

func (msg *SvVoteClearOptions) Pack() []byte

func (*SvVoteClearOptions) SetHeader

func (msg *SvVoteClearOptions) SetHeader(header *chunk7.ChunkHeader)

func (*SvVoteClearOptions) System

func (msg *SvVoteClearOptions) System() bool

func (*SvVoteClearOptions) Unpack

func (msg *SvVoteClearOptions) Unpack(u *packer.Unpacker) error

func (*SvVoteClearOptions) Vital

func (msg *SvVoteClearOptions) Vital() bool

type SvVoteOptionAdd

type SvVoteOptionAdd struct {
	ChunkHeader *chunk7.ChunkHeader

	Description string
}

func (*SvVoteOptionAdd) Header

func (msg *SvVoteOptionAdd) Header() *chunk7.ChunkHeader

func (*SvVoteOptionAdd) MsgId

func (msg *SvVoteOptionAdd) MsgId() int

func (*SvVoteOptionAdd) MsgType

func (msg *SvVoteOptionAdd) MsgType() network7.MsgType

func (*SvVoteOptionAdd) Pack

func (msg *SvVoteOptionAdd) Pack() []byte

func (*SvVoteOptionAdd) SetHeader

func (msg *SvVoteOptionAdd) SetHeader(header *chunk7.ChunkHeader)

func (*SvVoteOptionAdd) System

func (msg *SvVoteOptionAdd) System() bool

func (*SvVoteOptionAdd) Unpack

func (msg *SvVoteOptionAdd) Unpack(u *packer.Unpacker) error

func (*SvVoteOptionAdd) Vital

func (msg *SvVoteOptionAdd) Vital() bool

type SvVoteOptionListAdd

type SvVoteOptionListAdd struct {
	ChunkHeader *chunk7.ChunkHeader

	NumOptions   int
	Descriptions []string

	// this is used for compatibility with the
	// ddnet server 0.7 bridge implementation
	// to ensure if a ddnet message is unpacked and packed again
	// it matches it exactly
	//
	// TODO: should this be a boolean instead?
	//       instead of counting on unpack
	//       it could always fill it up to 14 descriptions on pack
	//       if some Compat06 bool is set
	NumUnusedOptions int
}

You have to manually set NumOptions to be the amount of Descriptions For example:

options := []string{"foo", "bar", "baz"} voteAdd := SvVoteOptionListAdd{NumOptions: len(options), Descriptions: options}

func (*SvVoteOptionListAdd) Header

func (msg *SvVoteOptionListAdd) Header() *chunk7.ChunkHeader

func (*SvVoteOptionListAdd) MsgId

func (msg *SvVoteOptionListAdd) MsgId() int

func (*SvVoteOptionListAdd) MsgType

func (msg *SvVoteOptionListAdd) MsgType() network7.MsgType

func (*SvVoteOptionListAdd) Pack

func (msg *SvVoteOptionListAdd) Pack() []byte

func (*SvVoteOptionListAdd) SetHeader

func (msg *SvVoteOptionListAdd) SetHeader(header *chunk7.ChunkHeader)

func (*SvVoteOptionListAdd) System

func (msg *SvVoteOptionListAdd) System() bool

func (*SvVoteOptionListAdd) Unpack

func (msg *SvVoteOptionListAdd) Unpack(u *packer.Unpacker) error

func (*SvVoteOptionListAdd) Vital

func (msg *SvVoteOptionListAdd) Vital() bool

type SvVoteOptionRemove

type SvVoteOptionRemove struct {
	ChunkHeader *chunk7.ChunkHeader

	Description string
}

func (*SvVoteOptionRemove) Header

func (msg *SvVoteOptionRemove) Header() *chunk7.ChunkHeader

func (*SvVoteOptionRemove) MsgId

func (msg *SvVoteOptionRemove) MsgId() int

func (*SvVoteOptionRemove) MsgType

func (msg *SvVoteOptionRemove) MsgType() network7.MsgType

func (*SvVoteOptionRemove) Pack

func (msg *SvVoteOptionRemove) Pack() []byte

func (*SvVoteOptionRemove) SetHeader

func (msg *SvVoteOptionRemove) SetHeader(header *chunk7.ChunkHeader)

func (*SvVoteOptionRemove) System

func (msg *SvVoteOptionRemove) System() bool

func (*SvVoteOptionRemove) Unpack

func (msg *SvVoteOptionRemove) Unpack(u *packer.Unpacker) error

func (*SvVoteOptionRemove) Vital

func (msg *SvVoteOptionRemove) Vital() bool

type SvVoteSet

type SvVoteSet struct {
	ChunkHeader *chunk7.ChunkHeader

	ClientId    int
	Type        network7.Vote
	Timeout     int
	Description string
	Reason      string
}

func (*SvVoteSet) Header

func (msg *SvVoteSet) Header() *chunk7.ChunkHeader

func (*SvVoteSet) MsgId

func (msg *SvVoteSet) MsgId() int

func (*SvVoteSet) MsgType

func (msg *SvVoteSet) MsgType() network7.MsgType

func (*SvVoteSet) Pack

func (msg *SvVoteSet) Pack() []byte

func (*SvVoteSet) SetHeader

func (msg *SvVoteSet) SetHeader(header *chunk7.ChunkHeader)

func (*SvVoteSet) System

func (msg *SvVoteSet) System() bool

func (*SvVoteSet) Unpack

func (msg *SvVoteSet) Unpack(u *packer.Unpacker) error

func (*SvVoteSet) Vital

func (msg *SvVoteSet) Vital() bool

type SvVoteStatus

type SvVoteStatus struct {
	ChunkHeader *chunk7.ChunkHeader

	Yes   int
	No    int
	Pass  int
	Total int
}

func (*SvVoteStatus) Header

func (msg *SvVoteStatus) Header() *chunk7.ChunkHeader

func (*SvVoteStatus) MsgId

func (msg *SvVoteStatus) MsgId() int

func (*SvVoteStatus) MsgType

func (msg *SvVoteStatus) MsgType() network7.MsgType

func (*SvVoteStatus) Pack

func (msg *SvVoteStatus) Pack() []byte

func (*SvVoteStatus) SetHeader

func (msg *SvVoteStatus) SetHeader(header *chunk7.ChunkHeader)

func (*SvVoteStatus) System

func (msg *SvVoteStatus) System() bool

func (*SvVoteStatus) Unpack

func (msg *SvVoteStatus) Unpack(u *packer.Unpacker) error

func (*SvVoteStatus) Vital

func (msg *SvVoteStatus) Vital() bool

type SvWeaponPickup

type SvWeaponPickup struct {
	ChunkHeader *chunk7.ChunkHeader

	Weapon network7.Weapon
}

func (*SvWeaponPickup) Header

func (msg *SvWeaponPickup) Header() *chunk7.ChunkHeader

func (*SvWeaponPickup) MsgId

func (msg *SvWeaponPickup) MsgId() int

func (*SvWeaponPickup) MsgType

func (msg *SvWeaponPickup) MsgType() network7.MsgType

func (*SvWeaponPickup) Pack

func (msg *SvWeaponPickup) Pack() []byte

func (*SvWeaponPickup) SetHeader

func (msg *SvWeaponPickup) SetHeader(header *chunk7.ChunkHeader)

func (*SvWeaponPickup) System

func (msg *SvWeaponPickup) System() bool

func (*SvWeaponPickup) Unpack

func (msg *SvWeaponPickup) Unpack(u *packer.Unpacker) error

func (*SvWeaponPickup) Vital

func (msg *SvWeaponPickup) Vital() bool

type Unknown

type Unknown struct {
	ChunkHeader *chunk7.ChunkHeader

	// contains entire raw message
	// including message id and chunk header
	// can either be a control message or a game/system message
	Data []byte
	Type network7.MsgType
	// contains filtered or unexported fields
}

func (*Unknown) Header

func (msg *Unknown) Header() *chunk7.ChunkHeader

func (*Unknown) MsgId

func (msg *Unknown) MsgId() int

func (*Unknown) MsgType

func (msg *Unknown) MsgType() network7.MsgType

func (*Unknown) Pack

func (msg *Unknown) Pack() []byte

func (*Unknown) SetHeader

func (msg *Unknown) SetHeader(header *chunk7.ChunkHeader)

func (*Unknown) System

func (msg *Unknown) System() bool

func (*Unknown) Unpack

func (msg *Unknown) Unpack(u *packer.Unpacker) error

func (*Unknown) Vital

func (msg *Unknown) Vital() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL