From e09a1728541b4161461b0bef475a04b1130efe9a Mon Sep 17 00:00:00 2001 From: Griatch Date: Thu, 24 Mar 2016 19:43:54 +0100 Subject: [PATCH] Fixed a regression that had non-persistent Scripts not being deleted as they should on server reload. Also prepared for the same functionality for tickerhandler tickers. --- evennia/server/server.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/evennia/server/server.py b/evennia/server/server.py index e80f9eaad3..42f1529a6a 100644 --- a/evennia/server/server.py +++ b/evennia/server/server.py @@ -280,7 +280,7 @@ class Evennia(object): MONITOR_HANDLER.restore() from evennia.scripts.tickerhandler import TICKER_HANDLER - TICKER_HANDLER.restore() + TICKER_HANDLER.restore(mode in ('True', 'reload')) # call correct server hook based on start file value if mode in ('True', 'reload'): @@ -437,6 +437,11 @@ class Evennia(object): from evennia.objects.models import ObjectDB ObjectDB.objects.clear_all_sessids() + # Remove non-persistent scripts + from evennia.scripts.models import ScriptDB + for script in ScriptDB.objects.filter(db_persistent=False): + script.stop() + if GUEST_ENABLED: for guest in PlayerDB.objects.all().filter(db_typeclass_path=settings.BASE_GUEST_TYPECLASS): for character in guest.db._playable_characters: