# evennia.server.portal.portal

This module implements the main Evennia server process, the core of the game engine.

This module should be started with the ‘twistd’ executable since it sets up all the networking features. (this is done automatically by game/evennia.py).

class `evennia.server.portal.portal.``Portal`(application)

  Bases: `object`

  The main Portal server handler. This object sets up the database and tracks and interlinks all the twisted network services that make up Portal.

  `__init__`(application)

    Setup the server.

    Parameters

      application (Application) – An instantiated Twisted application

  `get_info_dict`()

    Return the Portal info, for display.

  `shutdown`(_reactor_stopping=False, _stop_server=False)

    Shuts down the server from inside it.

    Parameters

      - _reactor_stopping (bool, optional) – This is set if server is already in the process of shutting down; in this case we don’t need to stop it again.

      - _stop_server (bool, optional) – Only used in portal-interactive mode; makes sure to stop the Server cleanly.

    Note that restarting (regardless of the setting) will not work if the Portal is currently running in daemon mode. In that case it always needs to be restarted manually.

class `evennia.server.portal.portal.``Websocket`(*args, **kwargs)

  Bases: `autobahn.twisted.websocket.WebSocketServerFactory`

  Only here for better naming in logs