Documentation
¶
Index ¶
- Constants
- Variables
- type ClientCheckNickname
- type ClientLogin
- type ClientLoginMessage
- type ClientMessage
- type ClientMessageID
- type ClientMessage_
- type ClientReconnect
- type ClientSelectCharacter
- type ClientSelectServer
- type ClientSetNickname
- type Conn
- type ConnectMessage
- type LoginError
- type LoginSetCharacter
- type LoginSetNickname
- type LoginSuccess
- type Options
- type Server
- type Server0011
- type ServerEntry
- type ServerGameGuardCheck
- type ServerGameServerList
- type ServerGameSessionKey
- type ServerList
- type ServerLobbiesList
- type ServerLogin
- type ServerLoginSessionKey
- type ServerMacros
- type ServerMessage
- type ServerMessageServerList
- type ServerMessage_
- type ServerNicknameCheckResponse
Constants ¶
View Source
const ( LoginStatusSuccess = 0 LoginStatusError = 1 LoginStatusSetNickname = 216 LoginStatusSetCharacter = 217 )
View Source
const ( LoginErrorInvalidCredentials = 0 LoginErrorAlreadyLoggedIn = 5100019 LoginErrorDuplicateConn = 5100107 LoginErrorInvalidReconnectToken = 5157002 )
Variables ¶
View Source
var ClientMessageTable = common.NewMessageTable(map[uint16]ClientMessage{ 0x0001: &ClientLogin{}, 0x0003: &ClientSelectServer{}, 0x0006: &ClientSetNickname{}, 0x0007: &ClientCheckNickname{}, 0x0008: &ClientSelectCharacter{}, 0x000B: &ClientReconnect{}, })
View Source
var ServerMessageTable = common.NewMessageTable(map[uint16]ServerMessage{ 0x0001: &ServerLogin{}, 0x0002: &ServerGameServerList{}, 0x0003: &ServerGameSessionKey{}, 0x0006: &ServerMacros{}, 0x0009: &ServerMessageServerList{}, 0x000E: &ServerNicknameCheckResponse{}, 0x0010: &ServerLoginSessionKey{}, 0x0011: &Server0011{}, 0x0040: &ServerGameGuardCheck{}, 0x004D: &ServerLobbiesList{}, })
These are the known possible server message IDs.
Functions ¶
This section is empty.
Types ¶
type ClientCheckNickname ¶
type ClientCheckNickname struct { ClientMessage_ Nickname common.PString }
type ClientLogin ¶
type ClientLogin struct { ClientMessage_ Username common.PString Password common.PString }
ClientLogin is the payload associated with the ClientLogin packet. It is sent by the client when the client logs in.
type ClientLoginMessage ¶
type ClientLoginMessage struct { }
type ClientMessage ¶
type ClientMessageID ¶
type ClientMessageID uint16
ClientMessageID is the type used to identify client messages.
type ClientMessage_ ¶
type ClientMessage_ struct{}
type ClientReconnect ¶
type ClientReconnect struct {
ClientMessage_
}
type ClientSelectCharacter ¶
type ClientSelectCharacter struct { ClientMessage_ CharacterID uint32 HairColor uint8 Unknown uint8 }
type ClientSelectServer ¶
type ClientSelectServer struct { ClientMessage_ Unknown1 uint32 }
type ClientSetNickname ¶
type ClientSetNickname struct { ClientMessage_ Nickname common.PString }
type Conn ¶
type Conn struct { *common.ServerConn[ClientMessage, ServerMessage] // contains filtered or unexported fields }
Conn holds the state for a connection to the server.
func (*Conn) GetServerList ¶
func (c *Conn) GetServerList(ctx context.Context, typ topologypb.Server_Type) (*ServerList, error)
GetServerList returns a server list using the topology store.
type ConnectMessage ¶
type ConnectMessage struct { Unknown1 uint16 Unknown2 uint16 Unknown3 uint16 Key uint16 Unknown4 uint16 ServerID uint16 Unknown6 uint16 }
ConnectMessage is the message sent by the server when connecting.
func (*ConnectMessage) SetKey ¶ added in v0.0.2
func (c *ConnectMessage) SetKey(key uint8)
type LoginError ¶
type LoginError struct {
Error uint32
}
type LoginSetCharacter ¶
type LoginSetCharacter struct { }
type LoginSetNickname ¶
type LoginSetNickname struct {
Unknown uint32
}
type LoginSuccess ¶
type Options ¶
type Options struct { Logger zerolog.Logger TopologyClient topologypbconnect.TopologyServiceClient AccountsService *accounts.Service ConfigProvider gameconfig.Provider }
Options specify the options to use to instantiate the login server.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server provides an implementation of the PangYa login server.
type Server0011 ¶
type Server0011 struct { ServerMessage_ Unknown byte }
type ServerEntry ¶
type ServerEntry struct { ServerName string `struct:"[40]byte"` ServerID uint32 MaxUsers uint32 NumUsers uint32 IPAddress string `struct:"[18]byte"` Port uint16 Unknown1 uint16 Flags uint16 Unknown2 [16]byte }
ServerEntry represents a server in a ServerListMessage.
type ServerGameGuardCheck ¶
type ServerGameGuardCheck struct {
ServerMessage_
}
type ServerGameServerList ¶
type ServerGameServerList struct { ServerMessage_ ServerList }
type ServerGameSessionKey ¶
type ServerGameSessionKey struct { ServerMessage_ Unknown uint32 SessionKey common.PString }
type ServerList ¶
type ServerList struct { Count uint8 `struct:"sizeof=Servers"` Servers []ServerEntry }
type ServerLobbiesList ¶
type ServerLobbiesList struct {
ServerMessage_
}
type ServerLogin ¶
type ServerLogin struct { ServerMessage_ Status byte Success *LoginSuccess `struct-if:"Status == 0"` Error *LoginError `struct-if:"Status == 1"` SetNickname *LoginSetNickname `struct-if:"Status == 216"` SetCharacter *LoginSetCharacter `struct-if:"Status == 217"` }
type ServerLoginSessionKey ¶
type ServerLoginSessionKey struct { ServerMessage_ SessionKey common.PString }
type ServerMacros ¶
type ServerMacros struct {
ServerMessage_
}
type ServerMessage ¶
type ServerMessageServerList ¶
type ServerMessageServerList struct { ServerMessage_ ServerList }
type ServerMessage_ ¶
type ServerMessage_ struct{}
type ServerNicknameCheckResponse ¶
type ServerNicknameCheckResponse struct { ServerMessage_ Unknown uint32 Nickname common.PString }
Click to show internal directories.
Click to hide internal directories.