Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a4f203621 | ||
|
|
69e230a79c |
+16
-1
@@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"debug/buildinfo"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
@@ -18,12 +19,26 @@ import (
|
||||
var ExpectedASubcommandErr = errors.New("expected a subcommand")
|
||||
var UnknownSubcommandErr = errors.New("unknown subcommand try 'strom help' for a list of subcommands")
|
||||
|
||||
func Version(args []string) (err error) {
|
||||
selfPath, err := os.Executable()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
info, err := buildinfo.ReadFile(selfPath)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
fmt.Println("strom cli ", info.Main.Version, " (", info.Main.Sum, ")")
|
||||
return
|
||||
}
|
||||
|
||||
var subcommands = map[string]func(args []string) error{
|
||||
"offline-uuid": offline_uuid.Run,
|
||||
"print-nbt": print_nbt.Run,
|
||||
"status": status.Run,
|
||||
"packet-spy": packet_inspector.Run,
|
||||
"api": api.Run,
|
||||
"version": Version,
|
||||
}
|
||||
|
||||
func Help(args []string) (err error) {
|
||||
@@ -39,7 +54,7 @@ func mainE() (err error) {
|
||||
|
||||
// Debug stuff
|
||||
slog.SetLogLoggerLevel(slog.LevelDebug)
|
||||
//args = []string{"TEST", "packet-spy"}
|
||||
//args = []string{"TEST", "version"}
|
||||
|
||||
if len(args) < 2 {
|
||||
err = ExpectedASubcommandErr
|
||||
|
||||
@@ -102,7 +102,7 @@ func Run(args []string) (err error) {
|
||||
return
|
||||
}
|
||||
}
|
||||
_, err = server.ServeLogin(serveeConn, server.WithOtherAccount(acc), server.WithStatus(StatusResponse))
|
||||
_, err = server.ServeLogin(serveeConn, server.WithOtherAccount(acc), server.WithStatus(StatusResponse), server.WithoutOnlineMode())
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -235,6 +235,12 @@ func WithCompatibleVersions(versions ...int32) LoginServerSetting {
|
||||
}
|
||||
}
|
||||
|
||||
func WithoutOnlineMode() LoginServerSetting {
|
||||
return func(s *LoginServer) {
|
||||
s.OnlineMode = false
|
||||
}
|
||||
}
|
||||
|
||||
func ServeLogin(c *proto.Conn, settings ...LoginServerSetting) (ret *LoginServer, err error) {
|
||||
ret = &LoginServer{Conn: c}
|
||||
ret.OnlineMode = true
|
||||
|
||||
Reference in New Issue
Block a user