O Go-Raknet é uma biblioteca que implementa uma versão básica do protocolo Raknet, que é usado para o Minecraft (Bedrock Edition). Ele implementa pacotes não confiáveis, confiáveis e confiáveis e envia pacotes de usuários como confiáveis.
O Go-RakNet tenta abstrair a interação direta com a RAKNET e fornece API Idiomatic Go Usiomatic, usada para ouvir conexões ou se conectar aos servidores.
Até o Go-Raknet versão 1.14.0, o Go-RakNet requer pelo menos 1 1,22 . A versão 1.12.1 do Go-RakNet é a última versão da biblioteca que suporta Go 1.18 e acima.
O Go-RakNet pode ser usado para clientes e servidores (e proxies, quando combinado) de uma maneira muito semelhante às funções Net.tcp* padrão.
Servidor Raknet básico:
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 ()
}
}Cliente Basic Raknet:
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 )
}