mirror of
https://github.com/PretendoNetwork/nex-go.git
synced 2025-04-02 11:02:14 -04:00
Barebones PRUDP/NEX server library written in Go
.gitignore | ||
.golangci.yml | ||
client.go | ||
compression.go | ||
counter.go | ||
errors.go | ||
go.mod | ||
go.sum | ||
init.go | ||
kerberos.go | ||
LICENSE | ||
md5.go | ||
nex_version.go | ||
packet.go | ||
packet_flags.go | ||
packet_interface.go | ||
packet_types.go | ||
packet_v0.go | ||
packet_v1.go | ||
README.md | ||
rmc.go | ||
server.go | ||
stream_in.go | ||
stream_out.go | ||
sum.go | ||
types.go |
NEX Go
Barebones PRUDP/NEX server library written in Go
Other NEX libraries
nex-protocols-go - NEX protocol definitions
nex-protocols-common-go - NEX protocols used by many games with premade handlers and a high level API
Install
go get github.com/PretendoNetwork/nex-go
Usage note
This module provides a barebones PRUDP server for use with titles using the Nintendo NEX library. It does not provide any support for titles using the original Rendez-Vous library developed by Quazal. This library only provides the low level packet data, as such it is recommended to use NEX Protocols Go to develop servers.
Usage
package main
import (
"fmt"
nex "github.com/PretendoNetwork/nex-go"
)
func main() {
nexServer := nex.NewServer()
nexServer.SetPrudpVersion(0)
nexServer.SetSignatureVersion(1)
nexServer.SetKerberosKeySize(16)
nexServer.SetAccessKey("ridfebb9")
nexServer.On("Data", func(packet *nex.PacketV0) {
request := packet.RMCRequest()
fmt.Println("==Friends - Auth==")
fmt.Printf("Protocol ID: %#v\n", request.ProtocolID())
fmt.Printf("Method ID: %#v\n", request.MethodID())
fmt.Println("==================")
})
nexServer.Listen(":60000")
}