diff --git a/client.js b/client.js index b04fca05..1458dd60 100644 --- a/client.js +++ b/client.js @@ -6,6 +6,7 @@ var path = require('path'); var syncRequest = require('sync-request'); var ncp = require('ncp').ncp; var Rcon = require('simple-rcon'); +var hashFiles = require('hash-files'); // require config.json var config = require('./config'); @@ -388,5 +389,67 @@ String.prototype.hashCode = function () { } return hash; } - - +// string, function +// [{modname:string,hash:string}, ... ] +function hashMods(instanceName, callback) { + if(!callback) { + throw "ERROR in function hashMods NO CALLBACK" + } + function callback2(hash, modname){ + hashedMods[hashedMods.length] = { + modname: modname, + hash: hash, + } + // check if this callback has ran once for each mod + if(hashedMods.length == mods.length + instanceMods.length) { + callback(hashedMods); + } + //console.log(modname) + } + let hashedMods = []; + var i = 0; + let mods = fs.readdirSync("./sharedMods/") + let instanceMods = fs.readdirSync("./instances/"+instanceName+"/mods/") + + for(o=0;o