New server framework, an example, and compressed packet fixed.

This commit is contained in:
Tnze
2021-11-27 15:25:55 +08:00
parent b909621c58
commit ab63acbd7e
13 changed files with 2792 additions and 69 deletions

22
server/handshake.go Normal file
View File

@ -0,0 +1,22 @@
package server
import (
"github.com/Tnze/go-mc/net"
pk "github.com/Tnze/go-mc/net/packet"
)
func (s *Server) handshake(conn *net.Conn) (protocol int32, intention int32, err error) {
var (
Protocol, Intention pk.VarInt
ServerAddress pk.String // ignored
ServerPort pk.UnsignedShort // ignored
)
// receive handshake packet
var p pk.Packet
err = conn.ReadPacket(&p)
if err != nil {
return 0, 0, err
}
err = p.Scan(&Protocol, &ServerAddress, &ServerPort, &Intention)
return int32(Protocol), int32(Intention), err
}