Luke100000 / Nooby

Node.js multiplayer message server suitable for client to client applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nooby

Extendable Node.js messaging server designed for easy client to client applications.

Communication uses MessagePack and TCP / WebSocket and a simple packet format and therefore works for a wide variety of clients.

Client implementations provided for Lua. JavaScript is WIP.

An example chat software, benchmarks and test bench is provided for Lua. JavaScript is WIP.

Project license GitHub stars

Table of contents

Concept

The concept is a peer to peer packet messenger, with a server used to avoid direct connections. Usage should be simple and generic, yet stable and secure with reasonably performance.

A Nooby server can be reused for multiple projects and handles common logic like login, session creation, game lobby queries etc. It also offloads the broadcasting of data to a server with potential better bandwidth.

Clients send packages, which consist of two parts: the header and the payload. The header is meant for the server and specifies the type of packet and how to treat it. The payload is forwarded to the other clients and can contain any type of data (including binary). It is recommended to also use MsgPack here.

Usually, messages do not confirm successful operations, but instead return errors otherwise.

About

Node.js multiplayer message server suitable for client to client applications

License:MIT License


Languages

Language:Lua 56.3%Language:JavaScript 35.1%Language:Python 6.2%Language:HTML 2.0%Language:Dockerfile 0.4%