Skip to content
NodeMP

One map. Many cars.

NodeMP is multiplayer for BeamNG.drive: your own servers, honest vehicle sync and Lua plugins. Install the launcher, pick a server and hold to play.

3 servers · 0 players in game right now

Getting started

Three steps to your first drive

  1. BeamNG.drive on Steam

    You need the game at version 0.39.4.0, started at least once: the first start creates the user folder the launcher installs the client mod into.

  2. Download NodeMP

    The Windows launcher installs for the current user, needs no administrator rights, and downloads and updates the client mod itself before every join.

    DownloadVersion 1.1.13 · 4.5 MB
  3. Sign in or Test Drive

    With an account you get a fixed name the directory vouches for. Without one you play as Test Drive under a random guest name — some servers refuse guests.

What it is

A platform, not just a mod

BeamNG.drive screenshot: a server with several players

Servers

Your server, your rules

Node-Server runs on Linux, Windows and in Docker: one program, one port, server.toml. A server key from this site puts it on the public list; without a key it still runs — people join it by address.

BeamNG.drive screenshot: two cars colliding

Sync

Fair play by default

TLS 1.3, one-shot join tickets, names verified by the directory. Before every join the launcher checks the game files as strictly as the server asks — up to comparing the whole install and the user folder against a reference of a clean game.

BeamNG.drive screenshot: chat and a plugin's UI in game

Plugins

Lua on the server and in the game

A resource is a folder with a resource.toml: the server half in Lua or JavaScript, the client half streamed to players on join and run inside BeamNG. Events, chat commands, timers, HTTP and PostgreSQL — one node API.

Right now

Live numbers

—
servers online
—
players online
—
24-hour peak

For developers

A plugin is a folder and a Lua file

The server half subscribes to events and answers players; the client half runs inside BeamNG with full access to the game. Below is the real API: an event subscription, a spawn refusal, a chat command. Chat lines go through the chat example resource from the server archive.

resources/welcome/server/main.lua
node.on("playerJoined", function(player)    player:tell("Welcome, %s", player.name)    node.log("%s joined from %s", tostring(player), player.ip)end)node.on("vehicleSpawnRequest", function(player, id, config)    if player.vehicleCount >= 2 then        return false, "two cars per player"    endend)node.commands.add("online", function(player, args, raw)    player:tell("%d players online", node.players.count())end)