-
Notifications
You must be signed in to change notification settings - Fork 0
/
createserverlist.js
31 lines (23 loc) · 1.26 KB
/
createserverlist.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { spider } from "/libraries/spider.js";
/** @param {NS} ns **/
export async function main(ns) {
let servers = spider(ns);
let filteredservers = servers.filter(element => {
//return element.name.includes('darkweb') === false && element.name.includes('home') === false;
return element.name.includes('darkweb') === false;
});
// filteredservers.sort((a, b) => a.hackinglevel - b.hackinglevel);
filteredservers.sort((a, b) => a.portsrequired - b.portsrequired);
// Move all player owned servers to end of array
let playerservers = [];
playerservers = filteredservers.filter(s => s.name.includes('pserv-'));
playerservers = playerservers.concat(filteredservers.filter(s => s.name.includes('home')));
playerservers = playerservers.concat(filteredservers.filter(s => s.name.includes('hacknet-node-')));
for (let i = 0; i < filteredservers.length; i++) {
filteredservers.splice(filteredservers.indexOf('pserv-'));
filteredservers = filteredservers.filter(item => item.name !== 'home');
filteredservers.splice(filteredservers.indexOf('hacknet-node-'));
}
filteredservers = filteredservers.concat(playerservers);
await ns.write('serversbyhacklvl.json', JSON.stringify(filteredservers), "w");
}