# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# README
NEX Protocols Go
NEX servers with protocol support in Go
Other NEX libraries
nex-go - Barebones NEX/PRUDP server implementation
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-protocols-go/v2
Usage
nex-protocols-go
provides a higher level API than the NEX Go module to the underlying PRUDP server by providing a set of NEX protocols. This module only provides access to the lower level raw RMC method calls, however, and all method handlers must be defined in full manually. For a higher level API, see the common NEX method handlers module
Example, friends (Wii U) authentication server
For a complete example, see the complete Friends Server, and other game servers
package main
import (
nex "github.com/PretendoNetwork/nex-go/v2"
ticket_granting "github.com/PretendoNetwork/nex-protocols-go/v2/ticket-granting"
)
var nexServer *nex.PRUDPServer
func main() {
nexServer := nex.NewPRUDPServer()
endpoint := nex.NewPRUDPEndPoint(1)
endpoint.ServerAccount = nex.NewAccount(types.NewPID(1), "Quazal Authentication", "password"))
endpoint.AccountDetailsByPID = accountDetailsByPID
endpoint.AccountDetailsByUsername = accountDetailsByUsername
nexServer.BindPRUDPEndPoint(endpoint)
nexServer.SetFragmentSize(962)
nexServer.LibraryVersions.SetDefault(nex.NewLibraryVersion(1, 1, 0))
nexServer.SessionKeyLength = 16
nexServer.AccessKey = "ridfebb9"
ticketGrantingProtocol := ticket_granting.NewProtocol(endpoint)
// Handle Login RMC method
ticketGrantingProtocol.Login = login
// Handle RequestTicket RMC method
ticketGrantingProtocol.RequestTicket = requestTicket
// Register the protocol on the endpoint
endpoint.RegisterServiceProtocol(ticketGrantingProtocol)
nexServer.Listen(60000)
}