Skip to content

Embedded Node.js

The game server embeds Node.js 22.22.x and ships the matching shared library and VIMP native binding. Production hosts do not select a separate Node version for the runtime.

Standard Node features work in the main script: ESM, CommonJS interop, dynamic imports, async/await, Buffer, URLs, filesystem, HTTP, crypto, and child processes. Add {"type":"module"} beside your built script when using ESM syntax.

Worker threads

Workers can run independent JavaScript or CPU tasks, but vimp exists only in the main isolate. Send plain data between a worker and main thread, then perform all VIMP operations on the main scripting isolate.

Reload and isolation

VIMP 2.x does not hot-reload the server entry script. Restart the process after code changes. There is no crash isolation between trusted server code and the host process: a fatal exception or broken native addon may terminate the whole server.

Keep an external supervisor in production and make startup idempotent so a clean restart is safe.

VIMP developer documentation