Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save MiladNazeri/f763d29ffcabb2f5852f909cc6db1561 to your computer and use it in GitHub Desktop.
Save MiladNazeri/f763d29ffcabb2f5852f909cc6db1561 to your computer and use it in GitHub Desktop.
Tracks down and reloads failing entity server scripts.
var entitiesWithServerScripts = 0
function callbackClosure(i, callback) {
return function() {
return callback(i);
}
}
var interval = Script.setInterval(function() {
console.log("Checks pending:", entitiesWithServerScripts)
var entities = Entities.findEntities(Vec3.ZERO, 100000);
for (var i in entities) {
var entity = entities[i];
var props = Entities.getEntityProperties(entity, ["serverScripts"]);
if (props.serverScripts != "") {
Entities.getServerScriptStatus(entity, (function() {
var entityID = entity;
var serverScripts = props.serverScripts;
return function(success, isRunning, status, errorInfo) {
if (!success || !isRunning) {
console.log("Script not running:", entityID, success, isRunning, status, errorInfo, JSON.stringify(serverScripts));
Entities.reloadServerScripts(entityID);
}
entitiesWithServerScripts--
}
})());
entitiesWithServerScripts++
}
}
console.log("Num entities to check:", entitiesWithServerScripts)
}, 5000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment