[Hotfix] Halt tick processing if the server isn't able to reach the internet
What has been done in this MR?
- If the watchdog is enabled (
server.watchdog_enabled
), it will now also monitor for an active internet connection - Internet connection is detected by trying to connect to a configurable URL (
server.connectivity_check_url
) (defaults to http://google.com) - Configurable timeout for connection attempt (
server.connectivity_timeout
) (defaults to 500 milliseconds) - If a loss of connection is detected, all tick processing is paused until connectivity resumes. The disconnection queue is still processed and world tick count is still incremented, but there is otherwise 0 game logic processing.
What should testers check?
- Testers can't really check without otherwise seriously disrupting the test server. Be at ease, I have very thoroughly tested this myself.
-
I have tested these changes thoroughly. -
I used the relevant Zaros tool for any JSON edits where possible, and have attached screenshots of any changes.