Skip to content
Multiplayer game server framework for Node.js
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example
lib
test
.eslintrc
.gitignore
.travis.yml
CONTRIBUTING.md
LICENSE.md
README.md
index.js
package-lock.json
package.json

README.md

Patchwire

Multiplayer game server framework for Node.js

Build Status

Install

npm install patchwire

Use

// MyGameServer.js
const Server = require('patchwire').Server;
const ClientManager = require('patchwire').ClientManager;

const gameLobby = new ClientManager();
gameLobby.on('clientAdded', function() {
    gameLobby.broadcast('chat', {
        message: 'A new player has joined the game.'
    });
});

const server = new Server(function(client) {
  gameLobby.addClient(client);
});

server.listen(3001);

Documentation

See the patchwire Github wiki

About

Patchwire is a server framework designed for multiplayer games. Originally built to work with GameMaker: Studio's networking code, it has been standardized to be unassuming about the client end framework.

Patchwire uses a paradigm of sending "commands" to clients, and in turn, listening for commands from the client. A command is nothing more than a string identifier, and some data. A command looks like this:

{
  command: 'updatePosition',
  x: 200,
  y: 120
}

Clients

Patchwire is unassuming about the client side as it speaks primarily through JSON strings encoded over the wire. If you do not see your preferred client side below, creating your own client package is strongly encouraged, as Patchwire is built to be as easy as possible to implement. More client packages will come over time.

List of client packages:

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.