Add login and status clients with modular compression handling

This commit is contained in:
adman
2025-11-10 23:24:58 +01:00
parent 030ea679a7
commit 27f34ec149
4 changed files with 183 additions and 41 deletions
+10 -34
View File
@@ -1,43 +1,12 @@
package main
import (
"fmt"
"strom"
"strom/modules"
"github.com/admin-else/queser"
"github.com/admin-else/queser/generated/v1_21_8"
"github.com/google/uuid"
)
type StatusClient struct {
*strom.Connection
}
func (s *StatusClient) Default(event any) (err error) {
err = fmt.Errorf("unexpected event: %v", event)
return
}
func (s *StatusClient) OnStart(_ strom.OnStart) (err error) {
err = s.Send(v1_21_8.HandshakingToServerPacketSetProtocol{
ProtocolVersion: 772,
ServerHost: "127.0.0.1",
ServerPort: 25566,
NextState: queser.VarInt(queser.Status),
})
if err != nil {
return
}
s.State = queser.Status
err = s.Send(v1_21_8.StatusToServerPacketPingStart{})
return
}
func (s *StatusClient) OnStatus(p v1_21_8.StatusToClientPacketServerInfo) (err error) {
fmt.Println(p)
err = strom.HandlerDone
return
}
func must(err error) {
if err != nil {
panic(err)
@@ -47,6 +16,13 @@ func must(err error) {
func main() {
c, err := strom.ClientConnect("127.0.0.1:25566")
must(err)
err = c.Start(&StatusClient{c})
err = c.Start(&modules.LoginClient{
Account: modules.Account{
Username: "Admin_rizz",
UUID: uuid.UUID{},
Token: "",
},
Connection: c,
})
must(err)
}