A Node.js contributor and Screeps player Marcel Laverdet managed to track down a bug in the built-in Node.js
vm module that caused a race condition when sandboxed code timed out. It was the primary reason of so called “hard resets” of player code execution in Screeps. A fix for this bug is manually patched into Node.js on Screeps runtime servers, and the number of hard resets is greatly reduced now. This change takes effect starting from now.
The patch is proposed to Node.js upstream repo. If you want it to be included to your own Node.js instance running your private Screeps server, you can give it a thumb up on GitHub. Well done Marcel!
There are still some other reasons that cause hard resets occasionally. We’re working on tracking them down right now.
Have comments or feedback? You can discuss this post here.