# evennia.server.initial_setup

This module handles initial database propagation, which is only run the first time the game starts. It will create some default objects (notably give #1 its evennia-specific properties, and create the Limbo room). It will also hooks, and then perform an initial restart.

Everything starts at handle_setup()

`evennia.server.initial_setup.``create_objects`()

  Creates the #1 account and Limbo room.

`evennia.server.initial_setup.``at_initial_setup`()

  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.

`evennia.server.initial_setup.``collectstatic`()

  Run collectstatic to make sure all web assets are loaded.

`evennia.server.initial_setup.``reset_server`()

  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.

`evennia.server.initial_setup.``handle_setup`(last_step=None)

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

  Parameters

    last_step (str, None) – The last stored successful step, for starting over on errors. None if starting from scratch. If this is ‘done’, the function will exit immediately.