mc root source folder cleanup
This commit is contained in:
@@ -6,7 +6,7 @@ import (
|
|||||||
"flag"
|
"flag"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/admin-else/strom/api"
|
api2 "github.com/admin-else/strom/mc/api"
|
||||||
)
|
)
|
||||||
|
|
||||||
var cmd = flag.NewFlagSet("api", flag.ContinueOnError)
|
var cmd = flag.NewFlagSet("api", flag.ContinueOnError)
|
||||||
@@ -25,9 +25,9 @@ func Run(args []string) (err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
a := &api.Account{}
|
a := &api2.Account{}
|
||||||
if *tokenFlag != "" {
|
if *tokenFlag != "" {
|
||||||
a, err = api.NewAccountFromYGG(*tokenFlag)
|
a, err = api2.NewAccountFromYGG(*tokenFlag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -40,14 +40,14 @@ func Run(args []string) (err error) {
|
|||||||
}
|
}
|
||||||
} else if *uuidFlag != "" || *nameFlag != "" {
|
} else if *uuidFlag != "" || *nameFlag != "" {
|
||||||
if *nameFlag != "" {
|
if *nameFlag != "" {
|
||||||
var idName api.IdName
|
var idName api2.IdName
|
||||||
idName, err = api.NameToId(*nameFlag)
|
idName, err = api2.NameToId(*nameFlag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
*uuidFlag = idName.Id
|
*uuidFlag = idName.Id
|
||||||
}
|
}
|
||||||
data, err = api.Profile(*uuidFlag, *unsignedFlag)
|
data, err = api2.Profile(*uuidFlag, *unsignedFlag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"slices"
|
"slices"
|
||||||
|
|
||||||
"github.com/admin-else/strom/data"
|
data2 "github.com/admin-else/strom/mc/data"
|
||||||
"github.com/admin-else/strom/proto_generated"
|
"github.com/admin-else/strom/mc/proto_generated"
|
||||||
"github.com/admin-else/strom/util"
|
"github.com/admin-else/strom/mc/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
// strom data 1.21.11 blocks id 0 name => air
|
// strom data 1.21.11 blocks id 0 name => air
|
||||||
@@ -39,11 +39,11 @@ func Run(args []string) (err error) {
|
|||||||
case 0: // print available versions
|
case 0: // print available versions
|
||||||
dataValues = proto_generated.SupportedVersions
|
dataValues = proto_generated.SupportedVersions
|
||||||
case 1: // print available data for version
|
case 1: // print available data for version
|
||||||
dataValues = slices.Collect(maps.Keys(data.Paths.Data[args[0]]))
|
dataValues = slices.Collect(maps.Keys(data2.Paths.Data[args[0]]))
|
||||||
case 2:
|
case 2:
|
||||||
err = data.LoadVersionedJson(args[0], args[1], &dataValues)
|
err = data2.LoadVersionedJson(args[0], args[1], &dataValues)
|
||||||
case 3:
|
case 3:
|
||||||
err = data.LoadVersionedJson(args[0], args[1], &dataValues)
|
err = data2.LoadVersionedJson(args[0], args[1], &dataValues)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -68,7 +68,7 @@ func Run(args []string) (err error) {
|
|||||||
}
|
}
|
||||||
dataValues = result
|
dataValues = result
|
||||||
case 4, 5:
|
case 4, 5:
|
||||||
err = data.LoadVersionedJson(args[0], args[1], &dataValues)
|
err = data2.LoadVersionedJson(args[0], args[1], &dataValues)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import (
|
|||||||
"log/slog"
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/admin-else/strom/level/anvil"
|
"github.com/admin-else/strom/mc/level/anvil"
|
||||||
"github.com/admin-else/strom/nbt"
|
"github.com/admin-else/strom/mc/nbt"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ import (
|
|||||||
"log/slog"
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/admin-else/strom/level"
|
"github.com/admin-else/strom/mc/level"
|
||||||
"github.com/admin-else/strom/level/anvil"
|
anvil2 "github.com/admin-else/strom/mc/level/anvil"
|
||||||
"github.com/admin-else/strom/nbt"
|
nbt2 "github.com/admin-else/strom/mc/nbt"
|
||||||
"github.com/admin-else/strom/proto/replay"
|
"github.com/admin-else/strom/mc/proto/replay"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_11"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_11"
|
||||||
"github.com/admin-else/strom/util"
|
"github.com/admin-else/strom/mc/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -40,15 +40,15 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetChunkFromMca(x, z int32, version string) (b []byte, err error) {
|
func GetChunkFromMca(x, z int32, version string) (b []byte, err error) {
|
||||||
xmca := util.FloorDiv(x, anvil.ChunksWidthRegionFile)
|
xmca := util.FloorDiv(x, anvil2.ChunksWidthRegionFile)
|
||||||
zmca := util.FloorDiv(z, anvil.ChunksWidthRegionFile)
|
zmca := util.FloorDiv(z, anvil2.ChunksWidthRegionFile)
|
||||||
x = x % anvil.ChunksWidthRegionFile
|
x = x % anvil2.ChunksWidthRegionFile
|
||||||
if x < 0 {
|
if x < 0 {
|
||||||
x += anvil.ChunksWidthRegionFile
|
x += anvil2.ChunksWidthRegionFile
|
||||||
}
|
}
|
||||||
z = z % anvil.ChunksWidthRegionFile
|
z = z % anvil2.ChunksWidthRegionFile
|
||||||
if z < 0 {
|
if z < 0 {
|
||||||
z += anvil.ChunksWidthRegionFile
|
z += anvil2.ChunksWidthRegionFile
|
||||||
}
|
}
|
||||||
|
|
||||||
f, err := os.Open(fmt.Sprintf("./level/anvil/testdata/securechattestworld/region/r.%v.%v.mca", xmca, zmca))
|
f, err := os.Open(fmt.Sprintf("./level/anvil/testdata/securechattestworld/region/r.%v.%v.mca", xmca, zmca))
|
||||||
@@ -56,12 +56,12 @@ func GetChunkFromMca(x, z int32, version string) (b []byte, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
mca, err := anvil.ReadChunkHeader(f)
|
mca, err := anvil2.ReadChunkHeader(f)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var n *nbt.Tag
|
var n *nbt2.Tag
|
||||||
n, err = mca.ChunkAt(f, x, z)
|
n, err = mca.ChunkAt(f, x, z)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@@ -70,8 +70,8 @@ func GetChunkFromMca(x, z int32, version string) (b []byte, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var chunk anvil.Chunk
|
var chunk anvil2.Chunk
|
||||||
err = nbt.Format.Decode(n.Value, &chunk)
|
err = nbt2.Format.Decode(n.Value, &chunk)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/admin-else/strom/crypto"
|
"github.com/admin-else/strom/mc/crypto"
|
||||||
)
|
)
|
||||||
|
|
||||||
var cmd = flag.NewFlagSet("offline-uuid", flag.ContinueOnError)
|
var cmd = flag.NewFlagSet("offline-uuid", flag.ContinueOnError)
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/admin-else/strom/data"
|
"github.com/admin-else/strom/mc/data"
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
"github.com/admin-else/strom/proto_generated"
|
"github.com/admin-else/strom/mc/proto_generated"
|
||||||
)
|
)
|
||||||
|
|
||||||
var cmd = flag.NewFlagSet("packet-info", flag.ContinueOnError)
|
var cmd = flag.NewFlagSet("packet-info", flag.ContinueOnError)
|
||||||
|
|||||||
@@ -7,15 +7,15 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/admin-else/strom/api"
|
api2 "github.com/admin-else/strom/mc/api"
|
||||||
"github.com/admin-else/strom/client"
|
client2 "github.com/admin-else/strom/mc/client"
|
||||||
"github.com/admin-else/strom/event"
|
"github.com/admin-else/strom/mc/event"
|
||||||
"github.com/admin-else/strom/nbt"
|
"github.com/admin-else/strom/mc/nbt"
|
||||||
"github.com/admin-else/strom/proto"
|
proto2 "github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_11"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_11"
|
||||||
"github.com/admin-else/strom/server"
|
server2 "github.com/admin-else/strom/mc/server"
|
||||||
"github.com/admin-else/strom/text"
|
"github.com/admin-else/strom/mc/text"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Cmd = flag.NewFlagSet("packet-inspector", flag.ContinueOnError)
|
var Cmd = flag.NewFlagSet("packet-inspector", flag.ContinueOnError)
|
||||||
@@ -28,7 +28,7 @@ var ListenAddr = Cmd.String("listen", "127.0.0.1:25566", "address to listen on")
|
|||||||
var TrueForward = Cmd.Bool("true-forward", false, "forward packets without modification -name and custom server status wont work")
|
var TrueForward = Cmd.Bool("true-forward", false, "forward packets without modification -name and custom server status wont work")
|
||||||
|
|
||||||
type Proxy struct {
|
type Proxy struct {
|
||||||
Client, Servee *proto.Conn
|
Client, Servee *proto2.Conn
|
||||||
Data nbt.Tag
|
Data nbt.Tag
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@ func (p *Proxy) OnAnything(e event.Anything) (err error) {
|
|||||||
if !ok {
|
if !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
packetInfo, ok := proto.LookupPacketInfoByType(packet)
|
packetInfo, ok := proto2.LookupPacketInfoByType(packet)
|
||||||
if !ok {
|
if !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -145,12 +145,12 @@ func (p *Proxy) OnCompress(packet *v1_21_11.LoginToClientPacketCompress) (err er
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var StatusResponse = server.StatusResponse{
|
var StatusResponse = server2.StatusResponse{
|
||||||
Version: server.StatusResponseVersion{
|
Version: server2.StatusResponseVersion{
|
||||||
Name: text.Pretty("STROM"),
|
Name: text.Pretty("STROM"),
|
||||||
Protocol: 772,
|
Protocol: 772,
|
||||||
},
|
},
|
||||||
Players: server.StatusResponsePlayers{},
|
Players: server2.StatusResponsePlayers{},
|
||||||
Description: text.Pretty("Packet spy forwards to " + *TargetAddr),
|
Description: text.Pretty("Packet spy forwards to " + *TargetAddr),
|
||||||
Favicon: "",
|
Favicon: "",
|
||||||
EnforcesSecureChat: false,
|
EnforcesSecureChat: false,
|
||||||
@@ -162,33 +162,33 @@ func Run(args []string) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
slog.Info("Starting packet inspector", "listen", *ListenAddr)
|
slog.Info("Starting packet inspector", "listen", *ListenAddr)
|
||||||
err = server.StartServerWithOnConn(*ListenAddr, func(serveeConn *proto.Conn) (err error) {
|
err = server2.StartServerWithOnConn(*ListenAddr, func(serveeConn *proto2.Conn) (err error) {
|
||||||
p := &Proxy{Servee: serveeConn, Client: nil}
|
p := &Proxy{Servee: serveeConn, Client: nil}
|
||||||
var acc = api.NewOfflineAccount(*OfflineNameFlag)
|
var acc = api2.NewOfflineAccount(*OfflineNameFlag)
|
||||||
if !*TrueForward {
|
if !*TrueForward {
|
||||||
if *Token != "" {
|
if *Token != "" {
|
||||||
acc, err = api.NewAccountFromYGG(*Token)
|
acc, err = api2.NewAccountFromYGG(*Token)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_, err = server.ServeLogin(serveeConn, server.WithOtherAccount(acc), server.WithStatus(StatusResponse), server.WithoutOnlineMode(), server.WithoutEncryption())
|
_, err = server2.ServeLogin(serveeConn, server2.WithOtherAccount(acc), server2.WithStatus(StatusResponse), server2.WithoutOnlineMode(), server2.WithoutEncryption())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*TargetAddr, err = client.DoDnsSimple(*TargetAddr)
|
*TargetAddr, err = client2.DoDnsSimple(*TargetAddr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
c, err := client.Connect(*TargetAddr)
|
c, err := client2.Connect(*TargetAddr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer c.Close()
|
defer c.Close()
|
||||||
if !*TrueForward {
|
if !*TrueForward {
|
||||||
err = client.LoginRaw(c, acc)
|
err = client2.LoginRaw(c, acc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/admin-else/strom/nbt"
|
nbt2 "github.com/admin-else/strom/mc/nbt"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -29,14 +29,14 @@ func Run(args []string) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
n, err := nbt.ReadUnstructuredFile(f)
|
n, err := nbt2.ReadUnstructuredFile(f)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
var b []byte
|
var b []byte
|
||||||
if *HashFormatFlag {
|
if *HashFormatFlag {
|
||||||
bb := bytes.NewBuffer(nil)
|
bb := bytes.NewBuffer(nil)
|
||||||
err = nbt.PrintSNBTAny(n.Value, bb)
|
err = nbt2.PrintSNBTAny(n.Value, bb)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,9 +14,9 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/admin-else/strom/data"
|
"github.com/admin-else/strom/mc/data"
|
||||||
"github.com/admin-else/strom/proto"
|
proto2 "github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -32,7 +32,7 @@ var (
|
|||||||
//go:embed failed_packet.go.tmpl
|
//go:embed failed_packet.go.tmpl
|
||||||
var TestSrcF string
|
var TestSrcF string
|
||||||
|
|
||||||
func SaveUnCodeAbleAsTest(packet *proto.UnCodablePacket) {
|
func SaveUnCodeAbleAsTest(packet *proto2.UnCodablePacket) {
|
||||||
hUntrimmed := sha256.Sum256(packet.Data)
|
hUntrimmed := sha256.Sum256(packet.Data)
|
||||||
h := hUntrimmed[:8]
|
h := hUntrimmed[:8]
|
||||||
f, err := os.Create(fmt.Sprintf(*CreateTestsPath+"/%v_%10x_test.go", len(packet.Data), h))
|
f, err := os.Create(fmt.Sprintf(*CreateTestsPath+"/%v_%10x_test.go", len(packet.Data), h))
|
||||||
@@ -87,15 +87,15 @@ func UnpackPacket(r io.Reader) (packet proto_base.EncodeDecodeAble, err error) {
|
|||||||
// indexafterid represents how many bytes we've read so far
|
// indexafterid represents how many bytes we've read so far
|
||||||
indexafterid := int(b.Size()) - b.Len()
|
indexafterid := int(b.Size()) - b.Len()
|
||||||
|
|
||||||
i, ok := proto.LookUpTypeByPacketInfo(proto_base.ToClient, state, packetId, int32(*ProtocolVersion))
|
i, ok := proto2.LookUpTypeByPacketInfo(proto_base.ToClient, state, packetId, int32(*ProtocolVersion))
|
||||||
if !ok {
|
if !ok {
|
||||||
packet = &proto.UnCodablePacket{Err: proto.BadPacketIdErr, Data: packetData, Info: i}
|
packet = &proto2.UnCodablePacket{Err: proto2.BadPacketIdErr, Data: packetData, Info: i}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
packet = reflect.New(reflect.TypeOf(i.Type).Elem()).Interface().(proto_base.EncodeDecodeAble)
|
packet = reflect.New(reflect.TypeOf(i.Type).Elem()).Interface().(proto_base.EncodeDecodeAble)
|
||||||
err = packet.Decode(b)
|
err = packet.Decode(b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
packet = &proto.UnCodablePacket{Err: err, Data: packetData[indexafterid:], Info: i}
|
packet = &proto2.UnCodablePacket{Err: err, Data: packetData[indexafterid:], Info: i}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
switch i.Name {
|
switch i.Name {
|
||||||
@@ -138,7 +138,7 @@ func Run(args []string) (err error) {
|
|||||||
for {
|
for {
|
||||||
var packet proto_base.EncodeDecodeAble
|
var packet proto_base.EncodeDecodeAble
|
||||||
packet, err = UnpackPacket(f)
|
packet, err = UnpackPacket(f)
|
||||||
unCodablePacket, ok := packet.(*proto.UnCodablePacket)
|
unCodablePacket, ok := packet.(*proto2.UnCodablePacket)
|
||||||
if ok {
|
if ok {
|
||||||
if *CreateTestsPath != "" {
|
if *CreateTestsPath != "" {
|
||||||
SaveUnCodeAbleAsTest(unCodablePacket)
|
SaveUnCodeAbleAsTest(unCodablePacket)
|
||||||
|
|||||||
@@ -6,16 +6,16 @@ import (
|
|||||||
"log/slog"
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/admin-else/strom/api"
|
"github.com/admin-else/strom/mc/api"
|
||||||
"github.com/admin-else/strom/client"
|
"github.com/admin-else/strom/mc/client"
|
||||||
"github.com/admin-else/strom/data"
|
"github.com/admin-else/strom/mc/data"
|
||||||
"github.com/admin-else/strom/event"
|
"github.com/admin-else/strom/mc/event"
|
||||||
"github.com/admin-else/strom/nbt"
|
nbt2 "github.com/admin-else/strom/mc/nbt"
|
||||||
"github.com/admin-else/strom/proto"
|
proto2 "github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_8"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_8"
|
||||||
"github.com/admin-else/strom/server"
|
server2 "github.com/admin-else/strom/mc/server"
|
||||||
"github.com/admin-else/strom/text"
|
"github.com/admin-else/strom/mc/text"
|
||||||
)
|
)
|
||||||
|
|
||||||
func wontFail[T any](v T, err error) T {
|
func wontFail[T any](v T, err error) T {
|
||||||
@@ -33,8 +33,8 @@ var (
|
|||||||
FinishedConfigErr = errors.New("finished configuration")
|
FinishedConfigErr = errors.New("finished configuration")
|
||||||
)
|
)
|
||||||
|
|
||||||
var Status = wontFail(json.Marshal(server.StatusResponse{
|
var Status = wontFail(json.Marshal(server2.StatusResponse{
|
||||||
Version: server.StatusResponseVersion{
|
Version: server2.StatusResponseVersion{
|
||||||
Name: nil,
|
Name: nil,
|
||||||
Protocol: CompatibleProtocolVersion,
|
Protocol: CompatibleProtocolVersion,
|
||||||
},
|
},
|
||||||
@@ -42,8 +42,8 @@ var Status = wontFail(json.Marshal(server.StatusResponse{
|
|||||||
}))
|
}))
|
||||||
|
|
||||||
type Proxy struct {
|
type Proxy struct {
|
||||||
Client, Servee *proto.Conn
|
Client, Servee *proto2.Conn
|
||||||
Data *nbt.Tag
|
Data *nbt2.Tag
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Proxy) OnAnything(e event.Anything) (err error) {
|
func (p *Proxy) OnAnything(e event.Anything) (err error) {
|
||||||
@@ -51,7 +51,7 @@ func (p *Proxy) OnAnything(e event.Anything) (err error) {
|
|||||||
if !ok {
|
if !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
packetInfo, ok := proto.LookupPacketInfoByType(packet)
|
packetInfo, ok := proto2.LookupPacketInfoByType(packet)
|
||||||
if !ok {
|
if !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -107,10 +107,10 @@ func (p *Proxy) OnTags(data *v1_21_8.ConfigurationToClientPacketTags) (err error
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleClient(c *proto.Conn) (err error) {
|
func handleClient(c *proto2.Conn) (err error) {
|
||||||
acc := api.NewOfflineAccount("RegistryHunter")
|
acc := api.NewOfflineAccount("RegistryHunter")
|
||||||
|
|
||||||
_, err = server.ServeLogin(c, server.WithOtherAccount(acc), server.WithCompatibleVersions(CompatibleProtocolVersion), server.WithRawStatus(Status))
|
_, err = server2.ServeLogin(c, server2.WithOtherAccount(acc), server2.WithCompatibleVersions(CompatibleProtocolVersion), server2.WithRawStatus(Status))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -141,12 +141,12 @@ func handleClient(c *proto.Conn) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
err = nbt.WriteUnstructuredFile(f, p.Data)
|
err = nbt2.WriteUnstructuredFile(f, p.Data)
|
||||||
slog.Info("saved", "file", SaveAs)
|
slog.Info("saved", "file", SaveAs)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func Run(args []string) error {
|
func Run(args []string) error {
|
||||||
slog.SetLogLoggerLevel(slog.LevelDebug)
|
slog.SetLogLoggerLevel(slog.LevelDebug)
|
||||||
return server.StartServerWithOnConn(":25566", handleClient)
|
return server2.StartServerWithOnConn(":25566", handleClient)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/admin-else/strom/event"
|
"github.com/admin-else/strom/mc/event"
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto/replay"
|
"github.com/admin-else/strom/mc/proto/replay"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_8"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_8"
|
||||||
"github.com/admin-else/strom/server"
|
server2 "github.com/admin-else/strom/mc/server"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Server struct {
|
type Server struct {
|
||||||
@@ -30,12 +30,12 @@ var (
|
|||||||
func Limbo(c *proto.Conn, tmcprPath string) (err error) {
|
func Limbo(c *proto.Conn, tmcprPath string) (err error) {
|
||||||
s := &Server{Conn: c}
|
s := &Server{Conn: c}
|
||||||
|
|
||||||
_, err = server.ServeLogin(s.Conn, server.WithoutOnlineMode())
|
_, err = server2.ServeLogin(s.Conn, server2.WithoutOnlineMode())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err = server.ServeConfig(s.Conn)
|
err = server2.ServeConfig(s.Conn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -91,7 +91,7 @@ func Run(args []string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return server.StartServerWithOnConn(*bindAddr, func(c *proto.Conn) error {
|
return server2.StartServerWithOnConn(*bindAddr, func(c *proto.Conn) error {
|
||||||
return Limbo(c, *tmcprFile)
|
return Limbo(c, *tmcprFile)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,14 +8,14 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/admin-else/strom/event"
|
"github.com/admin-else/strom/mc/event"
|
||||||
"github.com/admin-else/strom/level"
|
"github.com/admin-else/strom/mc/level"
|
||||||
"github.com/admin-else/strom/level/anvil"
|
anvil2 "github.com/admin-else/strom/mc/level/anvil"
|
||||||
"github.com/admin-else/strom/nbt"
|
nbt2 "github.com/admin-else/strom/mc/nbt"
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_8"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_8"
|
||||||
"github.com/admin-else/strom/server"
|
server2 "github.com/admin-else/strom/mc/server"
|
||||||
"github.com/admin-else/strom/util"
|
"github.com/admin-else/strom/mc/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Server struct {
|
type Server struct {
|
||||||
@@ -41,15 +41,15 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetChunkFromMca(x, z int32, version string) (b []byte, err error) {
|
func GetChunkFromMca(x, z int32, version string) (b []byte, err error) {
|
||||||
xmca := util.FloorDiv(x, anvil.ChunksWidthRegionFile)
|
xmca := util.FloorDiv(x, anvil2.ChunksWidthRegionFile)
|
||||||
zmca := util.FloorDiv(z, anvil.ChunksWidthRegionFile)
|
zmca := util.FloorDiv(z, anvil2.ChunksWidthRegionFile)
|
||||||
x = x % anvil.ChunksWidthRegionFile
|
x = x % anvil2.ChunksWidthRegionFile
|
||||||
if x < 0 {
|
if x < 0 {
|
||||||
x += anvil.ChunksWidthRegionFile
|
x += anvil2.ChunksWidthRegionFile
|
||||||
}
|
}
|
||||||
z = z % anvil.ChunksWidthRegionFile
|
z = z % anvil2.ChunksWidthRegionFile
|
||||||
if z < 0 {
|
if z < 0 {
|
||||||
z += anvil.ChunksWidthRegionFile
|
z += anvil2.ChunksWidthRegionFile
|
||||||
}
|
}
|
||||||
|
|
||||||
f, err := os.Open(fmt.Sprintf("./level/anvil/testdata/securechattestworld/region/r.%v.%v.mca", xmca, zmca))
|
f, err := os.Open(fmt.Sprintf("./level/anvil/testdata/securechattestworld/region/r.%v.%v.mca", xmca, zmca))
|
||||||
@@ -57,12 +57,12 @@ func GetChunkFromMca(x, z int32, version string) (b []byte, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
mca, err := anvil.ReadChunkHeader(f)
|
mca, err := anvil2.ReadChunkHeader(f)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var n *nbt.Tag
|
var n *nbt2.Tag
|
||||||
n, err = mca.ChunkAt(f, x, z)
|
n, err = mca.ChunkAt(f, x, z)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@@ -71,8 +71,8 @@ func GetChunkFromMca(x, z int32, version string) (b []byte, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var chunk anvil.Chunk
|
var chunk anvil2.Chunk
|
||||||
err = nbt.Format.Decode(n.Value, &chunk)
|
err = nbt2.Format.Decode(n.Value, &chunk)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -95,12 +95,12 @@ func Limbo(c *proto.Conn) (err error) {
|
|||||||
s := &Server{
|
s := &Server{
|
||||||
Conn: c,
|
Conn: c,
|
||||||
}
|
}
|
||||||
_, err = server.ServeLogin(s.Conn, server.WithoutOnlineMode())
|
_, err = server2.ServeLogin(s.Conn, server2.WithoutOnlineMode())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err = server.ServeConfig(s.Conn)
|
err = server2.ServeConfig(s.Conn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -176,5 +176,5 @@ func (s *Server) SendKeepAlive() (err error) {
|
|||||||
|
|
||||||
func Run(args []string) error {
|
func Run(args []string) error {
|
||||||
slog.SetLogLoggerLevel(slog.LevelDebug)
|
slog.SetLogLoggerLevel(slog.LevelDebug)
|
||||||
return server.StartServerWithOnConn(":25566", Limbo)
|
return server2.StartServerWithOnConn(":25566", Limbo)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ import (
|
|||||||
"log/slog"
|
"log/slog"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/admin-else/strom/client"
|
client2 "github.com/admin-else/strom/mc/client"
|
||||||
"github.com/admin-else/strom/event"
|
"github.com/admin-else/strom/mc/event"
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_8"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_8"
|
||||||
)
|
)
|
||||||
|
|
||||||
var cmd = flag.NewFlagSet("status", flag.ContinueOnError)
|
var cmd = flag.NewFlagSet("status", flag.ContinueOnError)
|
||||||
@@ -46,7 +46,7 @@ func (s *StatusClient) OnPong(p *v1_21_8.StatusToClientPacketPing) (err error) {
|
|||||||
// So ignore the resource leak warning. And maybe attach a warn ignore comment.
|
// So ignore the resource leak warning. And maybe attach a warn ignore comment.
|
||||||
// It does not resolve SRV records.
|
// It does not resolve SRV records.
|
||||||
func StatusRaw(addr string) (s *StatusClient, err error) {
|
func StatusRaw(addr string) (s *StatusClient, err error) {
|
||||||
c, err := client.ConnectVersionLess(addr)
|
c, err := client2.ConnectVersionLess(addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -61,7 +61,7 @@ func StatusRaw(addr string) (s *StatusClient, err error) {
|
|||||||
s.RegisterCriticalUntilLatest(s.OnStatus)
|
s.RegisterCriticalUntilLatest(s.OnStatus)
|
||||||
s.RegisterCriticalUntilLatest(s.OnPong)
|
s.RegisterCriticalUntilLatest(s.OnPong)
|
||||||
|
|
||||||
p, err := client.MakeHandshakePacketAddr(s.Conn, proto_base.Status, addr)
|
p, err := client2.MakeHandshakePacketAddr(s.Conn, proto_base.Status, addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -82,7 +82,7 @@ func Run(args []string) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if *srvFlag {
|
if *srvFlag {
|
||||||
*addrFlag, err = client.DoDnsSimple(*addrFlag)
|
*addrFlag, err = client2.DoDnsSimple(*addrFlag)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package api
|
package api
|
||||||
|
|
||||||
import "github.com/admin-else/strom/crypto"
|
import (
|
||||||
|
"github.com/admin-else/strom/mc/crypto"
|
||||||
|
)
|
||||||
|
|
||||||
func NewOfflineAccount(name string) *Account {
|
func NewOfflineAccount(name string) *Account {
|
||||||
return &Account{
|
return &Account{
|
||||||
@@ -4,8 +4,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"net"
|
"net"
|
||||||
|
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Connect connects to the given address note that it does not resolve the SRV records it's just a raw net.Dial
|
// Connect connects to the given address note that it does not resolve the SRV records it's just a raw net.Dial
|
||||||
@@ -4,10 +4,10 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/admin-else/strom/event"
|
"github.com/admin-else/strom/mc/event"
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_8"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_8"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ConfigIgnorer struct {
|
type ConfigIgnorer struct {
|
||||||
@@ -4,9 +4,9 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_8"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_8"
|
||||||
)
|
)
|
||||||
|
|
||||||
func MakeHandshakePacket(c *proto.Conn, nextState proto_base.State) (p *v1_21_8.HandshakingToServerPacketSetProtocol, err error) {
|
func MakeHandshakePacket(c *proto.Conn, nextState proto_base.State) (p *v1_21_8.HandshakingToServerPacketSetProtocol, err error) {
|
||||||
@@ -7,14 +7,13 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
"github.com/admin-else/strom/api"
|
"github.com/admin-else/strom/mc/api"
|
||||||
"github.com/admin-else/strom/crypto"
|
"github.com/admin-else/strom/mc/crypto"
|
||||||
"github.com/admin-else/strom/event"
|
"github.com/admin-else/strom/mc/event"
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
"github.com/admin-else/strom/text"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_8"
|
||||||
|
"github.com/admin-else/strom/mc/text"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_8"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type LoginClient struct {
|
type LoginClient struct {
|
||||||
@@ -5,12 +5,11 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/admin-else/strom/event"
|
"github.com/admin-else/strom/mc/event"
|
||||||
"github.com/admin-else/strom/proto"
|
"github.com/admin-else/strom/mc/proto"
|
||||||
"github.com/admin-else/strom/proto_base"
|
"github.com/admin-else/strom/mc/proto_base"
|
||||||
"github.com/admin-else/strom/server"
|
"github.com/admin-else/strom/mc/proto_generated/v1_21_8"
|
||||||
|
"github.com/admin-else/strom/mc/server"
|
||||||
"github.com/admin-else/strom/proto_generated/v1_21_8"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type StatusClient struct {
|
type StatusClient struct {
|
||||||
@@ -3,7 +3,7 @@ package data_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/admin-else/strom/data"
|
"github.com/admin-else/strom/mc/data"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLookupBiomeById(t *testing.T) {
|
func TestLookupBiomeById(t *testing.T) {
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"slices"
|
"slices"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/admin-else/strom/util"
|
"github.com/admin-else/strom/mc/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
// {
|
// {
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/admin-else/strom/data"
|
"github.com/admin-else/strom/mc/data"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLookupBlockByStateId(t *testing.T) {
|
func TestLookupBlockByStateId(t *testing.T) {
|
||||||
@@ -3,7 +3,7 @@ package data_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/admin-else/strom/data"
|
"github.com/admin-else/strom/mc/data"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLookUpProtocolVersion(t *testing.T) {
|
func TestLookUpProtocolVersion(t *testing.T) {
|
||||||
@@ -3,7 +3,7 @@ package data
|
|||||||
import (
|
import (
|
||||||
"embed"
|
"embed"
|
||||||
|
|
||||||
"github.com/admin-else/strom/nbt"
|
nbt2 "github.com/admin-else/strom/mc/nbt"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TODO: this is stupid loginPacket.json exists next version migrate to that
|
// TODO: this is stupid loginPacket.json exists next version migrate to that
|
||||||
@@ -11,12 +11,12 @@ import (
|
|||||||
//go:embed registry/*
|
//go:embed registry/*
|
||||||
var Registry embed.FS
|
var Registry embed.FS
|
||||||
|
|
||||||
func LoadRegistry(name string) (n *nbt.Tag, err error) {
|
func LoadRegistry(name string) (n *nbt2.Tag, err error) {
|
||||||
r, err := Registry.Open("registry/" + name + ".nbt")
|
r, err := Registry.Open("registry/" + name + ".nbt")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer r.Close()
|
defer r.Close()
|
||||||
n, err = nbt.ReadUnstructuredFile(r)
|
n, err = nbt2.ReadUnstructuredFile(r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user