예제 #1
0
    def setUp(self):
        super(_TestAMP, self).setUp()
        self.account = mommy.make("accounts.AccountDB", id=1)
        self.server = server.Evennia(MagicMock())
        self.server.sessions.data_in = MagicMock()
        self.server.sessions.data_out = MagicMock()
        self.amp_client_factory = amp_client.AMPClientFactory(self.server)
        self.amp_client = self.amp_client_factory.buildProtocol("127.0.0.1")
        self.session = MagicMock()  # serversession.ServerSession()
        self.session.sessid = 1
        self.server.sessions[1] = self.session

        self.portal = portal.Portal(MagicMock())
        self.portalsession = session.Session()
        self.portalsession.sessid = 1
        self.portal.sessions[1] = self.portalsession
        self.portal.sessions.data_in = MagicMock()
        self.portal.sessions.data_out = MagicMock()
        self.amp_server_factory = amp_server.AMPServerFactory(self.portal)
        self.amp_server = self.amp_server_factory.buildProtocol("127.0.0.1")
예제 #2
0
if AMP_ENABLED:

    # The AMP protocol handles the communication between
    # the portal and the mud server. Only reason to ever deactivate
    # it would be during testing and debugging.

    ifacestr = ""
    if AMP_INTERFACE != "127.0.0.1":
        ifacestr = "-%s" % AMP_INTERFACE

    INFO_DICT["amp"] = "amp %s: %s" % (ifacestr, AMP_PORT)

    from evennia.server import amp_client

    factory = amp_client.AMPClientFactory(EVENNIA)
    amp_service = internet.TCPClient(AMP_HOST, AMP_PORT, factory)
    amp_service.setName("ServerAMPClient")
    EVENNIA.services.addService(amp_service)

if WEBSERVER_ENABLED:

    # Start a django-compatible webserver.

    from evennia.server.webserver import (
        DjangoWebRoot,
        WSGIWebServer,
        Website,
        LockableThreadPool,
        PrivateStaticRoot,
    )