don't accept the player in offline mode

This commit is contained in:
Tnze
2022-12-03 18:45:57 +08:00
parent fde8193afd
commit a1870dd2ff
3 changed files with 14 additions and 14 deletions

View File

@ -75,7 +75,7 @@ func (m *MessageBody) WriteTo(w io.Writer) (n int64, err error) {
pk.Boolean(m.DecoratedMsg != nil),
pk.Opt{
Has: m.DecoratedMsg != nil,
Field: m.DecoratedMsg,
Field: pk.ByteArray(m.DecoratedMsg),
},
pk.Long(m.Timestamp.UnixMilli()),
pk.Long(m.Salt),
@ -209,7 +209,7 @@ func (p *HistoryMessage) ReadFrom(r io.Reader) (n int64, err error) {
return n + n2, err
}
func (p *HistoryMessage) WriteTo(w io.Writer) (n int64, err error) {
func (p HistoryMessage) WriteTo(w io.Writer) (n int64, err error) {
n, err = pk.UUID(p.Sender).WriteTo(w)
if err != nil {
return

View File

@ -22,7 +22,7 @@ import (
)
var (
address = flag.String("address", "127.0.0.1", "The server address")
address = flag.String("address", "127.0.0.1:25566", "The server address")
name = flag.String("name", "Daze", "The player's name")
playerID = flag.String("uuid", "", "The player's UUID")
accessToken = flag.String("token", "", "AccessToken")

View File

@ -84,19 +84,19 @@ func (d *MojangLoginHandler) AcceptLogin(conn *net.Conn, protocol int32) (name s
return
}
if hasPubKey {
if !pubKey.Verify() {
err = LoginFailErr{reason: chat.TranslateMsg("multiplayer.disconnect.invalid_public_key_signature")}
return
}
profilePubKey = &pubKey
} else if d.EnforceSecureProfile {
err = LoginFailErr{reason: chat.TranslateMsg("multiplayer.disconnect.missing_public_key")}
return
}
// auth
if d.OnlineMode {
if hasPubKey {
if !pubKey.Verify() {
err = LoginFailErr{reason: chat.TranslateMsg("multiplayer.disconnect.invalid_public_key_signature")}
return
}
profilePubKey = &pubKey
} else if d.EnforceSecureProfile {
err = LoginFailErr{reason: chat.TranslateMsg("multiplayer.disconnect.missing_public_key")}
return
}
var resp *auth.Resp
// Auth, Encrypt
resp, err = auth.Encrypt(conn, name, pubKey.PubKey)