GO-RAKNET ist eine Bibliothek, die eine grundlegende Version des Raknet-Protokolls implementiert, das für Minecraft (Bedrock Edition) verwendet wird. Es implementiert unzuverlässige, zuverlässige und zuverlässige Pakete und sendet Benutzerpakete als zuverlässig angeordnet.
GO-RAKNET versucht, die direkte Interaktion mit RAKNET abstrahieren und bietet einfach zu bedienende idiomatische GO-API, mit der Sie auf Verbindungen anhören oder eine Verbindung zu Servern herstellen können.
Ab Go-Raknet Version 1.14.0 erfordert GO-Raknet mindestens GO 1.22 . Version 1.12.1 von Go-Raknet ist die letzte Version der Bibliothek, die Go 1.18 und höher unterstützt.
GO-RAKNET kann sowohl für Clients als auch für Server (und Proxys, wenn sie zusammengefasst) auf eine Weise verwendet werden, die den Standardfunktionen von Net.tcp* sehr ähnlich ist.
Basic Raknet Server:
package main
import (
"github.com/sandertv/go-raknet"
)
func main () {
listener , _ := raknet . Listen ( "0.0.0.0:19132" )
defer listener . Close ()
for {
conn , _ := listener . Accept ()
b := make ([] byte , 1024 * 1024 * 4 )
_ , _ = conn . Read ( b )
_ , _ = conn . Write ([] byte { 1 , 2 , 3 })
conn . Close ()
}
}Basic Raknet Client:
package main
import (
"github.com/sandertv/go-raknet"
)
func main () {
conn , _ := raknet . Dial ( "mco.mineplex.com:19132" )
defer conn . Close ()
b := make ([] byte , 1024 * 1024 * 4 )
_ , _ = conn . Write ([] byte { 1 , 2 , 3 })
_ , _ = conn . Read ( b )
}