Avoid re-running code when multiplayers exist

This requires `defer` instead of `async` for script loading