The browser version runs in a WebWorker (each team gets one). I didn't even know what WebWorkers were before I programmed this. The server side runs in a NodeJS process (each team gets its own), and your code runs in a fresh VM context. These both provide commonly expected JS such as Math and Date, but not other stuff such as console (which I provide in the webworker case and send messages back to the browser).