Skip to main content

NodeMod Revitalization - Complete Engine Access & Node.js Update

· 3 min read
Steven Linn
NodeMod Maintainer

Years since the original project went into archive mode on github, I'm excited to share the modernized NodeMod - taking the existing plugin and bringing it up to modern standards with full engine access, Node.js 24.6.0, and a complete ecosystem.

Building on the solid foundation laid by previous contributors, I've modernized NodeMod into a comprehensive development platform with complete Half-Life engine bindings, modern tooling, and professional distribution. Special thanks to SNMetamorph for pointing me in the direction of this old project!

The Modernization​

I've modernized the existing NodeMod codebase with:

  • Node.js 24.6.0 - Updated from legacy Node.js versions to the latest runtime
  • Complete Engine Access - Added ALL missing engine and DLL functions
  • Professional Distribution - Created GitHub org, NPM packages, and compiled libraries
  • Full Documentation - This website, examples repository, and comprehensive guides
  • Modern Toolchain - TypeScript-first development with complete type safety

What Changed?​

The existing NodeMod had limitations and was running on older Node.js versions. I've modernized and expanded it:

// Now with COMPLETE engine access!
import nodemodCore from '@nodemod/core';

// All engine functions are available
const trace = nodemodCore.engine.traceHull(start, end, hull);
const entity = nodemodCore.dll.createEntity('weapon_crowbar');

// Modern async patterns work perfectly
const players = await nodemodCore.players.getAll();
players.forEach(player => {
console.log(`Player ${player.netname}: ${player.health}HP`);
});

What's new?​

Complete Organization​

Professional Packages​

  • @nodemod/core: Full TypeScript bindings with every engine function
  • Compiled Libraries: Pre-built binaries for easy deployment
  • Example Projects: Real-world plugin demonstrations

Technical Improvements​

  • Added tons of missing engine/DLL function and event bindings
  • Updated from legacy Node.js to 24.6.0
  • Complete TypeScript definitions and IntelliSense support
  • Modern build system with proper dependency management

From Foundation to Complete Platform​

NodeMod had a solid foundation but needed modernization. I've expanded it into a production-ready platform:

Every engine function - No more "not implemented" errors
Modern Node.js - Latest runtime with all modern features
Professional packaging - NPM packages, GitHub releases, documentation
Real examples - Working plugins you can actually use
Type safety - Full TypeScript definitions for everything

Ready for Production​

NodeMod is now a complete, professional-grade solution for Half-Life server development. The entire ecosystem is in place - from development tools to deployment packages.

Get Involved​

Credits​

NodeMod exists thanks to the foundational work of these developers:

  • TheEVolk (Maksim Nikiforov) - Original NodeMod creator
  • iAmir (Amyr Aahmady) - Inspiration from samp-node project
  • SNMetamorph - C++17 modernization and build system refactoring
  • Steven Linn - Complete engine bindings, Node.js 24.6.0 update, and ecosystem creation

Steven Linn, NodeMod Maintainer