Go-Raknet est une bibliothèque qui implémente une version de base du protocole Raknet, qui est utilisée pour Minecraft (Bedrock Edition). Il implémente les paquets peu fiables, fiables et fiables et envoie des paquets utilisateur comme fiable.
Go-Raknet tente de résumer l'interaction directe avec Raknet et fournit une API GO idiomatique simple à utiliser pour écouter des connexions ou se connecter aux serveurs.
À partir de Go-Raknet version 1.14.0, Go-Raknet nécessite au moins GO 1.22 . La version 1.12.1 de Go-Raknet est la dernière version de la bibliothèque qui prend en charge GO 1.18 et plus.
GO-RAKNET peut être utilisé pour les clients et les serveurs (et les proxys, lorsqu'ils sont combinés) d'une manière très similaire aux fonctions net.tcp * standard.
Serveur Raknet de base:
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 ()
}
}Client Raknet de base:
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 )
}