Barebones PRUDP/NEX server library written in Go
Find a file
2022-09-05 09:51:38 -04:00
.gitignore Updated .gitignore 2022-08-29 18:06:53 -04:00
client.go Fixed Client constructor 2022-09-05 09:46:06 -04:00
compression.go Moved all source files back to root 2022-03-29 00:15:55 -04:00
counter.go Moved all source files back to root 2022-03-29 00:15:55 -04:00
errors.go Removed unnecessary linebreaks 2022-04-17 22:00:44 -04:00
go.mod Updated plogger to plogger-go 2022-08-28 21:07:08 -04:00
go.sum Updated plogger to plogger-go 2022-08-28 21:07:08 -04:00
init.go Updated plogger to plogger-go 2022-08-28 21:07:08 -04:00
kerberos.go Moved DeriveKerberosKey to be more clear 2022-04-17 22:01:47 -04:00
LICENSE Create LICENSE 2022-08-13 20:16:23 -04:00
md5.go Moved all source files back to root 2022-03-29 00:15:55 -04:00
nex_types.go Added better DataHolder type handling 2022-05-09 10:21:30 -04:00
packet.go Moved all source files back to root 2022-03-29 00:15:55 -04:00
packet_flags.go Moved all source files back to root 2022-03-29 00:15:55 -04:00
packet_interface.go Moved all source files back to root 2022-03-29 00:15:55 -04:00
packet_types.go Moved all source files back to root 2022-03-29 00:15:55 -04:00
packet_v0.go Added plogger logging 2022-04-15 16:51:05 -04:00
packet_v1.go Track client PRUDP minor version and supported functions 2022-09-05 09:45:36 -04:00
README.md Updated README.md 2022-09-03 17:13:42 -04:00
rmc.go moved error mask to errors.go 2022-04-15 10:05:05 -04:00
server.go Removed duplicate code in V1 ACK encoding 2022-09-05 09:51:38 -04:00
stream_in.go Corrected structure header check 2022-09-05 08:59:53 -04:00
stream_out.go Corrected structure header check 2022-09-05 08:59:53 -04:00
sum.go Moved all source files back to root 2022-03-29 00:15:55 -04:00

NEX Go

Barebones PRUDP/NEX server library written in Go

GoDoc

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")
}