screeps / launcher

ISC License
24 stars 25 forks source link

Improved start (async/await) #6

Closed AlinaNova21 closed 5 years ago

AlinaNova21 commented 6 years ago

This is an improved version of the start part of the launcher.

It adds a few helpful features (forwarding console to terminal, better logging structure) And also adds a few performance improving features (restart interval for runners/processors, option to disable storage when using alternative storage mods) With Node 8, async/await runs natively, the code is restructured slightly to use them, this simplified some of the code and in general makes promises easier to work with. (I can try refactoring into a PR without async/await if this isn't desirable)

artch commented 6 years ago

This looks interesting. Do we really need to use async/await here? It'd be the only place in this code base that raises overall minimum requirement to Node.js 8.

AlinaNova21 commented 6 years ago

Not really, regular .then usage should work here, I started by modifying the launcher for personal use, I'm always hacking it in node_modules to change some things such as disabling storage and redirecting logs to stdout. I should be able to switch it back though.

As another thought, isolatedVM only compiles for newer node versions last I tried, is that not going to be setting a hard requirement for Node 8 then?

tedivm commented 6 years ago

Due to better performance, and the fact that node8 is the current LTS version, we've already been recommending to people in slack who are running their own servers to use node8. I believe some of the community mods are also targeting node8 and are ignoring backwards compatibility. I really don't think changing this will disrupt much.

AlinaNova21 commented 5 years ago

Rebased on current launcher master branch