From 85709aa77e14a02866cdbb7ede40a0b52ef12b74 Mon Sep 17 00:00:00 2001 From: ai4rei Date: Thu, 13 Jan 2011 10:27:17 +0000 Subject: * Added support for creating account through the console-plugin on login-server (replaces ladmin functionality unavailable through atcommands). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14665 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 1 + src/login/login.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index b3627f0ec..025183acd 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -1,6 +1,7 @@ Date Added 2011/01/13 + * Added support for creating account through the console-plugin on login-server (replaces ladmin functionality unavailable through atcommands). [Ai4rei] * Reformatting and minor cleanups to console-plugin related code. [Ai4rei] 2011/01/10 * Fixed script command 'cleararray' setting 1 element more, than it is told to (bugreport:2047, since r12253). [Ai4rei] diff --git a/src/login/login.c b/src/login/login.c index 1bce63900..567bbddf3 100644 --- a/src/login/login.c +++ b/src/login/login.c @@ -70,6 +70,7 @@ struct s_subnet { int subnet_count = 0; +int mmo_auth_new(const char* userid, const char* pass, const char sex, const char* last_ip); //----------------------------------------------------- // Auth database @@ -337,6 +338,35 @@ int parse_console(const char* command) ShowInfo(" 'shutdown|exit|quit|end'\n"); ShowInfo("To know if server is alive:\n"); ShowInfo(" 'alive|status'\n"); + ShowInfo("To create a new account:\n"); + ShowInfo(" 'create'\n"); + } + else + {// commands with parameters + char cmd[128], params[256]; + + if( sscanf(command, "%127s %255[^\r\n]", cmd, params) < 2 ) + { + return 0; + } + + if( strcmpi(cmd, "create") == 0 ) + { + char username[NAME_LENGTH], password[NAME_LENGTH], sex; + + if( sscanf(params, "%23s %23s %c", username, password, &sex) < 3 || strnlen(username, sizeof(username)) < 4 || strnlen(password, sizeof(password)) < 1 ) + { + ShowWarning("Console: Invalid parameters for '%s'. Usage: %s \n", cmd, cmd); + return 0; + } + + if( mmo_auth_new(username, password, TOUPPER(sex), "0.0.0.0") != -1 ) + { + ShowError("Console: Account creation failed.\n"); + return 0; + } + ShowStatus("Console: Account '%s' created successfully.\n", username); + } } return 0; -- cgit v1.2.3-70-g09d2