What if we could start weakening while the grow is in progress, thus doing the tasks in parallel? We actually can: In my case, the obvious time sink was the weaken directly after grow, because the grow increased security significantly. Start by printing to log the time spent on each step.
Let’s assume we’ve gotten to the point where a server is prepped (min security and max money reached) so that our loop is approximately weaken -> grow -> weaken -> hack. In general for optimizations, it’s important to measure what parts of our algorithms has the longest impact on performance. In the early game when most of your ram comes from random servers you’ve rooted, this can count for quite an increase.
If the control script takes approximately twice the ram of a single thread of weaken.ns, grow.ns or hack.ns, we get 2 additional threads on each of our rooted servers for free by using this technique. The goal here is to write a control script that we run on our home computer, which can spawn weaken.ns grow.ns and hack.ns on other servers – leaving us with all their memory free for doing important jobs. But if we are just attacking the most profitable target with all of these servers of ours anyway, why not stick to a single control script on one server and let it control the others? But if we analyze ram usage on our rooted servers, we see that the actual weaken.ns, grow.ns and hack.ns scripts don’t use all the available ram because the control script takes up quite a chunk. If you deploy this hacking script to each server you have root on, you should be progressing quite well. Since only weaken() grow() and hack() benefit from using additional threads, separating them from everything else will let you run more threads and thus gain a higher payoff.Īt this point it’s worth having the API documentation handy. When writing scripts you might notice that their ram requirements increase as you use more ns functions. Note that speed here refers to the execution time, not how fast your weaken() grow() and hack() functions run – that is determined by hacking skill. Netscript2 is very close to modern javascript, and their speed is only limited by your computer. script files which are used in the tutorial, are slow and low on features. The first step is to start using netscript2. You might think it’s slow (and you’d be right) and that’s because there are several improvements you can make. Īt this point you have a script that will continuously weaken, grow and hack a given server.
Strange that I didn't notice the extra button in BN2.īut then these days a bus could park right in front of my staring window and I may not notice it.In addition the the ingame tutorial, there’s a good guide on how to get a decent hacking script started in the online documentation. So far I haven't progressed much outside the docs in the in-game help and asking a few stupid questions in these forums. I only started learning to script when I got this game so I'm only using Netscript (The game's default?) If you head off to theįull documentation on github or just take a look at the documentation for gangs you'll find a function: ns.gang.createGang(faction). Or you could write a script to do it for you. You need to either manually go to the faction screen for the criminal faction you joined (this is where things like 'purchase augments' and 'hacking contracts' are) and, assuming you are doing bitnode 2, there will be 'manage gang' button there.Ģ.
Originally posted by Suikoudan:Although the question has pretty much been answered already, I'll just chip in a bit more:ġ.