Added a plugin system for server and portal. This allows for plugging in your own services without having to edit any modules in src/server/. Also made some various cleanups and fixes.
This commit is contained in:
parent
ee450a4fed
commit
83fa9397d5
8 changed files with 100 additions and 80 deletions
|
|
@ -19,9 +19,11 @@ from twisted.application import internet, service
|
|||
from twisted.internet import protocol, reactor
|
||||
from twisted.web import server, static
|
||||
from django.conf import settings
|
||||
from src.utils.utils import get_evennia_version
|
||||
from src.utils.utils import get_evennia_version, mod_import
|
||||
from src.server.sessionhandler import PORTAL_SESSIONS
|
||||
|
||||
PORTAL_SERVICES_PLUGIN_MODULE = mod_import(settings.PORTAL_SERVICES_PLUGIN_MODULE)
|
||||
|
||||
if os.name == 'nt':
|
||||
# For Windows we need to handle pid files manually.
|
||||
PORTAL_PIDFILE = os.path.join(settings.GAME_DIR, 'portal.pid')
|
||||
|
|
@ -285,6 +287,11 @@ if WEBSERVER_ENABLED:
|
|||
webserver.setName('EvenniaWebServer%s' % pstring)
|
||||
PORTAL.services.addService(webserver)
|
||||
|
||||
if PORTAL_SERVICES_PLUGIN_MODULE:
|
||||
# external plugin services to start
|
||||
PORTAL_SERVICES_PLUGIN_MODULE.start_plugin_services(PORTAL)
|
||||
|
||||
|
||||
if os.name == 'nt':
|
||||
# Windows only: Set PID file manually
|
||||
f = open(os.path.join(settings.GAME_DIR, 'portal.pid'), 'w')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue