PTR Changelog 2017-05-03
-
This post describes changes on the Public Test Realm.
- Updated runtime Node.js version to 7.9.0 (with V8 5.5).
-
(#c9f0476) Runtime virtual machine now uses
breakOnSigint
feature. NowCPU limit reached
error messages have three types:-
Script execution timed out
- when the soft timeout is fired -
Script execution has been interrupted
- when SIGINT signal received -
Script execution has been interrupted with a hard reset
- when SIGKILL signal received (runtime process restart).
These differences are mostly for informational purposes and don’t affect anything currently.
-
-
Nice! A new v8 engine under the hood. Literally .
I like the changes you made to the messages. I do have a personal request:
Could you make it possible to store the latest error message in Game. ?This way we can programatically report them using Game.notify, or log then in thrid party applications.
I'd love to have the following information in the last error:
Tick number
Datetime of the error
Stacktrace (on user script error)
Message
Name of the host the scriptI'd love to use this information to crowdsource data on errors/exceptions. We could find patterns about system exceptions this way.
-
If your code uses ES6 features the PTR should be better on your CPU.
Of course I expect everyone will need to reset their CPU expectations when this release happens.
-
Just a heads up that the performance chart shared by K_C is pretty outdated- it's using Node 7.3 instead of 7.9, and there have been a lot of performance improvements since there. I've asked the upstream project to run it again ( https://github.com/kpdecker/six-speed/issues/60 ).
-
I have high hopes. Anecdotally the current steam client of the server (Nodejs 6.?) gave me a much better tickrate than the latest node.
This isn't the end of the line as far as observations go, so I hope that we see improvements to the core which go along with the tech upgrade.
-
Does this mean that we can put something like:
process.on('SIGINT', () => { console.log('Received SIGINT. Press Control-D to exit.');
/* User Code to save state here */
exit(); });in our code and save whatever we like to Memory, then on the next Tick, check for it and do something?
Code from https://nodejs.org/api/process.html#process_signal_events
This comment is a little confusing (from breakOnSigint ), could someone explain it a little better: "Existing handlers for the event that have been attached via
process.on("SIGINT")
will be disabled during script execution, but will continue to work after that." [emphasis added]
-
Player code doesn't have access to such system-level things.
-
I guess node won't updated with the planed terminal deployment next week?
While I'm very lucky with the hard reset thing (usually once a day or so) this morning I got hit and it took about 5500 cpu out of my bucket ,)
what's very interesting is that it looks like the tick before was reported a secont time after 10 seconds to the client. (19027948) ,,, I'm using a client connection that watches a memory object to export the stats. Not sure if thats helping.
-
We're testing Node.js 7.5.0 on the PTR now, it doesn't have async functions enabled.