Skip to content

Instantly share code, notes, and snippets.

@num8er
Created October 21, 2019 01:39
Show Gist options
  • Save num8er/1d005266b6fe82e873798027da7ab1ee to your computer and use it in GitHub Desktop.
Save num8er/1d005266b6fe82e873798027da7ab1ee to your computer and use it in GitHub Desktop.
const config = require('./config.json');
(async () => {
for (let i = 0; i < config.serverList.length; i++) {
const {serverIp, serverPort} = config.serverList[i];
const serverInfo = await getServerInfo(serverIp, serverPort);
if (serverInfo && serverInfo.constructor.name === 'Object') {
config.serverList[i] = {...config.serverList[i], ...serverInfo};
}
}
await saveConfigFile();
await wait(10000);
})();
const wait = ms => new Promise(resolve => setTimeout(resolve, ms));
const getServerInfo = (ip, port) => {
return new Promise(resolve => {
fivereborn.query(
ip, port,
(error, data) => {
if (error) {
console.error(error);
return resolve({});
}
resolve(data);
});
});
};
const fs = require('fs');
const path = require('path');
const configFile = path.join(__dirname, 'config.json');
const saveConfigFile = () => {
return new Promise(resolve => {
fs.writeFile(
configFile,
JSON.stringify(config, null, 4),
(error) => {
if (error) {
console.log(error);
return resolve();
}
});
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment