diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index 40c249e71..aea1d8a5e 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -912,6 +912,10 @@ serverlist_file (Serverlist file) string favoriteservers.txt # 0 to disable queueing and -1 to make the queue size unlimited. max_out_chat_queue_size (Maximum size of the out chat queue) int 20 +# Enable register confirmation when connecting to server. +# If disabled, new account will be registered automatically. +enable_register_confirmation (Enable register confirmation) bool true + [*Advanced] # Timeout for client to remove unused map data from memory. diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index daa015927..64231c74c 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -60,6 +60,7 @@ void set_default_settings(Settings *settings) settings->setDefault("enable_client_modding", "false"); settings->setDefault("max_out_chat_queue_size", "20"); settings->setDefault("pause_on_lost_focus", "false"); + settings->setDefault("enable_register_confirmation", "true"); // Keymap settings->setDefault("remote_port", "30000"); diff --git a/src/network/clientpackethandler.cpp b/src/network/clientpackethandler.cpp index 6c0b770fa..909d336ae 100644 --- a/src/network/clientpackethandler.cpp +++ b/src/network/clientpackethandler.cpp @@ -98,7 +98,8 @@ void Client::handleCommand_Hello(NetworkPacket* pkt) // Authenticate using that method, or abort if there wasn't any method found if (chosen_auth_mechanism != AUTH_MECHANISM_NONE) { if (chosen_auth_mechanism == AUTH_MECHANISM_FIRST_SRP - && !m_simple_singleplayer_mode) { + && !m_simple_singleplayer_mode + && g_settings->getBool("enable_register_confirmation")) { promptConfirmRegistration(chosen_auth_mechanism); } else { startAuth(chosen_auth_mechanism);