Example #1
0
    from twisted.python import threadpool
    from src.server.webserver import DjangoWebRoot, WSGIWebServer

    # start a thread pool and define the root url (/) as a wsgi resource
    # recognized by Django
    threads = threadpool.ThreadPool(minthreads=max(1, settings.WEBSERVER_THREADPOOL_LIMITS[0]),
                                    maxthreads=max(1, settings.WEBSERVER_THREADPOOL_LIMITS[1]))
    web_root = DjangoWebRoot(threads)
    # point our media resources to url /media
    web_root.putChild("media", static.File(settings.MEDIA_ROOT))
    web_site = server.Site(web_root, logPath=settings.HTTP_LOG_FILE)

    for proxyport, serverport in WEBSERVER_PORTS:
        # create the webserver (we only need the port for this)
        webserver = WSGIWebServer(threads, serverport, web_site, interface='127.0.0.1')
        webserver.setName('EvenniaWebServer%s' % serverport)
        EVENNIA.services.addService(webserver)

        print "  webserver: %s" % serverport

ENABLED = []
if IRC_ENABLED:
    # IRC channel connections
    ENABLED.append('irc')

if IMC2_ENABLED:
    # IMC2 channel connections
    ENABLED.append('imc2')

if RSS_ENABLED:
Example #2
0
        webclientstr = "/client"

    web_site = server.Site(web_root, logPath=settings.HTTP_LOG_FILE)

    for interface in WEBSERVER_INTERFACES:
        if ":" in interface:
            print "  iPv6 interfaces not yet supported"
            continue
        ifacestr = ""
        if interface != '0.0.0.0' or len(WEBSERVER_INTERFACES) > 1:
            ifacestr = "-%s" % interface
        for port in WEBSERVER_PORTS:
            pstring = "%s:%s" % (ifacestr, port)
            # create the webserver
            webserver = WSGIWebServer(threads, port, web_site, interface=interface)
            webserver.setName('EvenniaWebServer%s' % pstring)
            PORTAL.services.addService(webserver)

            print "  webserver%s%s: %s" % (webclientstr, ifacestr, port)

for plugin_module in PORTAL_SERVICES_PLUGIN_MODULES:
    # external plugin services to start
    plugin_module.start_plugin_services(PORTAL)

print '-' * 50 # end of terminal output


if os.name == 'nt':
    # Windows only: Set PID file manually
    f = open(os.path.join(settings.GAME_DIR, 'portal.pid'), 'w')