diff --git a/evennia/commands/default/tests.py b/evennia/commands/default/tests.py index 051a0e1976..dccc124520 100644 --- a/evennia/commands/default/tests.py +++ b/evennia/commands/default/tests.py @@ -2115,6 +2115,14 @@ class TestUnconnectedCommand(BaseEvenniaCommandTest): self.call(unloggedin.CmdUnconnectedInfo(), "", expected) del gametime.SERVER_START_TIME + @override_settings(NEW_ACCOUNT_REGISTRATION_ENABLED=False) + def test_disabled_registration(self): + self.call( + unloggedin.CmdUnconnectedCreate(), + "testacct testpass", + "Registration is currently disabled.", + ) + # Test syscommands diff --git a/evennia/commands/default/unloggedin.py b/evennia/commands/default/unloggedin.py index e92a52f3f5..6d72c9d805 100644 --- a/evennia/commands/default/unloggedin.py +++ b/evennia/commands/default/unloggedin.py @@ -174,11 +174,11 @@ class CmdUnconnectedCreate(COMMAND_DEFAULT_CLASS): def at_pre_cmd(self): """Verify that account creation is enabled.""" - if not settings.REGISTER_ENABLED: + if not settings.NEW_ACCOUNT_REGISTRATION_ENABLED: # truthy return cancels the command self.msg("Registration is currently disabled.") return True - + return super().at_pre_cmd() def func(self): diff --git a/evennia/settings_default.py b/evennia/settings_default.py index a6d8c626a4..01ea956036 100644 --- a/evennia/settings_default.py +++ b/evennia/settings_default.py @@ -34,8 +34,9 @@ SERVER_HOSTNAME = "localhost" # Lockdown mode will cut off the game from any external connections # and only allow connections from localhost. Requires a cold reboot. LOCKDOWN_MODE = False -# Enables new account registration -REGISTER_ENABLED = True +# Controls whether new account registration is available. +# Set to False to lock down the registration page and the create account command. +NEW_ACCOUNT_REGISTRATION_ENABLED = True # Activate telnet service TELNET_ENABLED = True # A list of ports the Evennia telnet server listens on Can be one or many. diff --git a/evennia/web/utils/general_context.py b/evennia/web/utils/general_context.py index 5b3f172cba..cd41d518e4 100644 --- a/evennia/web/utils/general_context.py +++ b/evennia/web/utils/general_context.py @@ -70,7 +70,7 @@ def load_game_settings(): GAME_SLOGAN = SERVER_VERSION SERVER_HOSTNAME = settings.SERVER_HOSTNAME - REGISTER_ENABLED = settings.REGISTER_ENABLED + REGISTER_ENABLED = settings.NEW_ACCOUNT_REGISTRATION_ENABLED TELNET_ENABLED = settings.TELNET_ENABLED TELNET_PORTS = settings.TELNET_PORTS