Files
strom/tools/schematic_server/main.go
T

53 lines
1.1 KiB
Go

package main
import (
"log/slog"
"github.com/admin-else/strom/event"
"github.com/admin-else/strom/proto"
"github.com/admin-else/strom/server"
"github.com/admin-else/strom/text"
)
func wontFail[T any](v T, err error) T {
if err != nil {
panic(err)
}
return v
}
var StatusResponse = server.StatusResponse{
Version: server.StatusResponseVersion{
Name: text.Pretty("STROM"),
Protocol: 772,
},
Players: server.StatusResponsePlayers{},
Description: text.Pretty("GO TO LIMBO"),
Favicon: "",
EnforcesSecureChat: false,
}.MustMarshal()
type Server struct {
*proto.Conn
}
func (s *Server) OnStart(_ event.OnStart) (err error) {
//goland:noinspection GoResourceLeak captures the conn object which should NOT be closed
_, err = server.ServeLogin(s.Conn, server.WithRawStatus(StatusResponse))
if err != nil {
return
}
return
}
func main() {
slog.SetLogLoggerLevel(slog.LevelDebug)
err := server.StartServerWithFactory(":25565", func(c *proto.Conn) (h any, err error) {
h = &Server{Conn: c}
return
})
if err != nil {
panic(err)
}
}