Versions in this module Expand all Collapse all v0 v0.5.1 Jan 15, 2023 Changes in this version + const GruntFailAlreadyOnline + const GruntFailAntiIndulgence + const GruntFailBanned + const GruntFailChargeback + const GruntFailConversionRequired + const GruntFailDbBusy + const GruntFailDisconnected + const GruntFailExpired + const GruntFailFailNoaccess + const GruntFailGameAccountLocked + const GruntFailIncorrectPassword + const GruntFailInternetGameRoomWithoutBnet + const GruntFailInvalidServer + const GruntFailLockedEnforced + const GruntFailNoGameAccount + const GruntFailNoTime + const GruntFailParentcontrol + const GruntFailSuspended + const GruntFailTrialEnded + const GruntFailUnknownAccount + const GruntFailUnlockableLock + const GruntFailUseBattlenet + const GruntFailVersionInvalid + const GruntFailVersionUpdate + const GruntImprovedSystem + const GruntLegacy + const GruntSuccess + const GruntSuccessSurvey + const LoginAlreadyonline + const LoginBadversion + const LoginBanned + const LoginConnected + const LoginDbbusy + const LoginDownloadFile + const LoginFailed + const LoginFailed2 + const LoginFailed3 + const LoginFailed4 + const LoginLockedEnforced + const LoginNotime + const LoginOk + const LoginParentalcontrol + const LoginSuspended + const LoginUnknownAccount + const LoginUnknownAccount3 + const LogonChallenge + const LogonProof + const NoValidExpFlag + const PostBcExpFlag + const PreBcExpFlag + const RealmGreen + const RealmList + const RealmRed + const RealmYellow + const ReconnectChallenge + const ReconnectProof + const XferAccept + const XferCancel + const XferData + const XferInitiate + const XferResume + var VersionChallenge = [...]byte + func RunServer(b Backend, l net.Listener) error + func Version(build vsn.Build) [3]byte + type AuthLogonChallenge_C struct + Build uint16 + Country string + Error ErrorType + GameName string + I string + IP uint32 + OS string + Platform string + TimezoneBias uint32 + Version [3]byte + func (ac *AuthLogonChallenge_C) Recv(build vsn.Build, conn *Connection) error + func (ac *AuthLogonChallenge_C) Type() AuthType + func (alcc *AuthLogonChallenge_C) Send(build vsn.Build, out *Connection) error + type AuthLogonChallenge_S struct + B []byte + Error ErrorType + G []byte + N []byte + S []byte + SecurityFlags uint8 + VersionChallenge []byte + func (acls *AuthLogonChallenge_S) Recv(build vsn.Build, conn *Connection) error + func (acls *AuthLogonChallenge_S) Send(build vsn.Build, conn *Connection) error + func (acls *AuthLogonChallenge_S) Type() AuthType + type AuthLogonProof_C struct + A []byte + CRC []byte + M1 []byte + NumberOfKeys uint8 + SecFlags uint8 + func (alpc *AuthLogonProof_C) Recv(build vsn.Build, conn *Connection) error + func (alpc *AuthLogonProof_C) Send(build vsn.Build, conn *Connection) error + func (alpc *AuthLogonProof_C) Type() AuthType + type AuthLogonProof_S struct + AccountFlags uint32 + Error ErrorType + M2 []byte + SurveyID uint32 + Unk3 uint16 + func (proof *AuthLogonProof_S) Recv(build vsn.Build, conn *Connection) error + func (proof *AuthLogonProof_S) Send(build vsn.Build, conn *Connection) error + func (proof *AuthLogonProof_S) Type() AuthType + type AuthType uint8 + func (i AuthType) String() string + type Backend interface + GetAccount func(user string) (*models.Account, []models.GameAccount, error) + ListRealms func() []models.Realm + StoreKey func(user, locale, platform string, K []byte) + type Client struct + Address string + GameName string + Password string + Realms []RealmListing + SessionKey []byte + Username string + Version vsn.Build + func Login(version vsn.Build, address, username, password string) (*Client, error) + func (cl *Client) Recv() error + func (cl *Client) RequestRealmListUpdates() error + func (cl *Client) Send(p Packet) error + type Connection struct + func Dial(address string) (*Connection, error) + func (conn *Connection) RecvBuffer(size int) (*etc.Buffer, error) + func (conn *Connection) SendBuffer(e *etc.Buffer) error + type ErrorType uint8 + func (i ErrorType) String() string + type LoginResult uint8 + type Packet interface + Recv func(build vsn.Build, in *Connection) error + Send func(build vsn.Build, out *Connection) error + Type func() AuthType + func LogonChallengePacket_C(build vsn.Build, username string) Packet + type RealmList_C struct + Request uint32 + func (rlc *RealmList_C) Recv(build vsn.Build, conn *Connection) error + func (rlc *RealmList_C) Send(build vsn.Build, out *Connection) error + func (rlc *RealmList_C) Type() AuthType + type RealmList_S struct + Flags uint16 + Realms []RealmListing + func MakeRealmlist(rlst []models.Realm) *RealmList_S + func (rls *RealmList_S) Recv(build vsn.Build, conn *Connection) error + func (rls *RealmList_S) Type() AuthType + func (rlst *RealmList_S) Send(build vsn.Build, out *Connection) error + type RealmListing struct + Address string + Characters uint8 + Flags uint8 + ID uint8 + Locked bool + Name string + Population float32 + Timezone uint8 + Type config.RealmType + type ReconnectChallenge_C struct + ChallengeData []byte + Result LoginResult + func (rc *ReconnectChallenge_C) Recv(build vsn.Build, in *Connection) error + func (rc *ReconnectChallenge_C) Send(build vsn.Build, out *Connection) error + func (rc *ReconnectChallenge_C) Type() AuthType + type Server struct + func (h *Server) Close() error + func (server *Server) Handle(cn net.Conn) + type Session struct + B *srp.BigNum + K []byte + M2 []byte + N *srp.BigNum + func (session *Session) Send(packet Packet) error