This module handles initial database propagation, which is only run the first time the game starts. It will create some default channels, objects, and other things.

Everything starts at handle_setup()


Creates the god user and don’t take no for an answer.


Creates the #1 account and Limbo room.


Creates some sensible default channels.


Custom hook for users to overload some or all parts of the initial setup. Called very last in the sequence. It tries to import and srun a module settings.AT_INITIAL_SETUP_HOOK_MODULE and will fail silently if this does not exist or fails to load.


Run collectstatic to make sure all web assets are loaded.


We end the initialization by resetting the server. This makes sure the first login is the same as all the following ones, particularly it cleans all caches for the special objects. It also checks so the warm-reset mechanism works as it should.


Main logic for the module. It allows for restarting the initialization at any point if one of the modules should crash.


last_step (int) – The last stored successful step, for starting over on errors. If < 0, initialization has finished and no steps need to be redone.