From 97bb21a79949779df76269b087f3bce7ef8179ee Mon Sep 17 00:00:00 2001 From: Dennis Friis Date: Wed, 2 Apr 2008 15:09:18 +0000 Subject: initial checkin --- doc/admin_packet.txt | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 doc/admin_packet.txt (limited to 'doc/admin_packet.txt') diff --git a/doc/admin_packet.txt b/doc/admin_packet.txt new file mode 100644 index 0000000..670a038 --- /dev/null +++ b/doc/admin_packet.txt @@ -0,0 +1,281 @@ +=========================================================================== +=========================================================================== + DETAIL OF ADMINISTRATION PACKETS +--------------------------------------------------------------------------- +--------------------------------------------------------------------------- + +=========================================================================== + COMMON PACKETS FOR ALL SERVERS +--------------------------------------------------------------------------- +S 7530 (void) + It's a request to obtain the version of the server. + Answer packet: 0x7531. + +R 7531 .B .B .B .B .B .B .w + It's the reply to a request about the server version (0x7530). + It gives the information about the version of the server. + release_flag : 0 = release, 1 = debug + official_flag: 0 = official, 1 = mod + server_type: 1 = login, 2 = char, 4 = inter, 8 = map (add all values if the server have more than 1 type) + +S 7532 (void) + End of connection (no reply is sended back) + +=========================================================================== + ADMINISTRATION PACKETS OF THE LOGIN-SERVER +--------------------------------------------------------------------------- + +NB: All information about an account can be obtain by an administration packet, except the password. + The login-server will never send back the password af an account. + If someone sniffs the password from the login-server, he can not obtain it. + But, it exists a packet to check the password. + It's to secure the password. + +CONNECTION SYSTEM IN ADMINSTRATION MODE + +S 7918 .w .24(16)B + It's a request to obtain an (administration) connection on the login-server. + The packet size changes according to the encrypted password or not. + A non-encrypted password is sended with 24 bytes (plain text with NULL terminate), + and an encrypted password is sended with 16 bytes. + Answer packet: 0x7919. + encrypt_flag: 0 = plain text, 1 = md5 (key + password), 2 = md5 (password + key) + +R 7919 .B + It's the reply to a request for an (administration) connection (0x7918). + Flag: 0 = accepted, 1 = refused + +S 791a (void) + It's a request to obtain the encrypted key. This key is used to create the encrypted password. + This packet must be called before the packet 0x7918 if you want connect you with an encrypted password. + The reply is the packet 0x01dc, as like a player sends a connection request with the packet 0x01db. + +PACKETS OF ADMINISTRATION MODE + +R 791f (void) + Ready signal (no reply is sended back). NOT USED. + +S 7920 .l .l + It's a request to obtain an accounts list. + start_id: 0 for begining of the list, or presumed start id value of the first account. + end_id: 0 to go until the last id, or the upper id limit value that you want. + If 'end_id' is lower to 'start_id', you give no limit for the last id. + Answer packet: 0x7921. + +R 7921 .w { .l .B .24B .B .l .l }.38B* + It's tje reply packet of the packet 0x7920. + It gives an accounts list. + If you receive at least an account, you must do an additional request (packet 0x7920 begining with the last received account id +1) + to be sure that you receive all asked accounts, because this packet is limited in size when it sends information. + if is 7, there are 2 possibilities: banishement or state{Your are Prohibited to log in until %s}. + +S 7930 .24B .24B .B .40B + It's a request to create a new account. + If e-mail is not valid, the e-mail is replaced by the default e-mail (a@a.com). + The default e-mail is like no e-mail to protect your characters against a deletion. + Answer packet: 0x7931. + +R 7931 .l .24B + It's the reply to an account creation (0x7930). + If the account_id value is -1, the login-server fails to create the new account + (an account already exists with the same name, the request is invalid, etc.). + Otherwise, the account_id is the id of the new account. + +S 7932 .24B + It's a request to delete an account. + Answer packet: 0x7933. + +R 7933 .l .24B + It's the reply to an account deletion (0x7932). + If the account_id value is -1, the login-server fails to delete the account (the account doesn't exist). + Otherwise, the account_id is the id of the deleted account. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7934 .24B .24B + It's a request to modify the password of an account. + Answer packet: 0x7935. + +R 7935 .l .24B + It's the reply to an password modification (0x7934). + If the account_id value is -1, the login-server fails to modify the password (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have modified the password. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7936 .24B .l .20B + It's a request to modify the state of an account. + State: It's the state like the packet 0x006a +1. + Error_message: it's the message of the error code #6 = Your are Prohibited to login until (packet 0x006a). + If state is 7 (6+1), the error_message is saved in the account. + For another state, the error_message is deleted (voided) in the account. + Answer packet: 0x7937. + +R 7937 .l .24B .l + It's the reply to a state modification (0x7936). + If the account_id value is -1, the login-server fails to modify the state (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have modified the state. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7938 (void) + It's a request to obtain information about the servers connected to the login-server (servers list with details) + Answer packet: 0x7939. + +R 7939 .w {.l .w .20B <#_of_users>.w .w .w}.32B* + It's the reply to an request to obtain servers information (0x7938). + It returns all information about the servers connected on the login-server. + +S 793a .24B .24B + It's a request to test a password. REMEMBER: Never create a packet to send the password from the login-server. + Answer packet: 0x793b. + +S 793b .l .24B + It's the reply to a password check (0x793a). + If the account_id value is -1, the login-server doesn't valid the password (the account doesn't exist or the password is not the correct one). + Otherwise, the account_id is the id of the account that the login-server have checked the password. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 793c .24B .B + It's a request to modify the sex of an account. + Answer packet: 0x793d. + +R 793d .l .24B + It's the reply to a request to modify a sex (0x793c). + If the account_id value is -1, the login-server fails to modify the sex (the account doesn't exist or the sex is already the good sex). + Otherwise, the account_id is the id of the account that the login-server have modified the sex. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 793e .24B .B + It's a request to modify the GM level of an account. + Answer packet: 0x793f. + +R 793f .l .24B + It's the reply to a request to modify a GM level (0x793e). + If the account_id value is -1, the login-server fails to modify the GM level (the account doesn't exist, or GM_account file can not be modified or the GM level is already the good sex). + Otherwise, the account_id is the id of the account that the login-server have modified the GM level. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7940 .24B .40B + It's a request to modify the email of an account. + Answer packet: 0x7941. + +R 7941 .l .24B + It's the reply to a request to modify an email (0x7940). + If the account_id value is -1, the login-server fails to modify the e-mail (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have modified the email. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7942 .24B .w .(length_of_memo)B + It's a request to modify the memo of an account. + The length can be 0 to have a void memo. + Answer packet: 0x7943. + +R 7943 .l .24B + It's the reply to an request to modify a memo (0x7942). + If the account_id value is -1, the login-server fails to modify the memo (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have modified the memo. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7944 .24B + It's a request to obtain (by the name) the id of an account. + Answer packet: 0x7945. + +R 7945 .l .24B + It's the reply to an request (by the name) to obtain an account id (0x7944). + If the account_id value is -1, the login-server fails to obtain the account id (the account doesn't exist). + Otherwise, the account_id is the id of the found account. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 7946 .l + It's a request to obtain (by the id) the name of an account. + Answer packet: 0x7947. + +R 7947 .l .24B + It's the reply to an request (by the id) to obtain an account name (0x7946). + If the account_name value is "" (void), the login-server fails to obtain the account name (the account id doesn't exist). + Otherwise, the account_name is the name of the found account. + +S 7948 .24B .l + It's a request to set the validity date of an account. + This packet fixes an absolute validity time. + Answer packet: 0x7949. + +R 7949 .l .24B .l + It's the reply to an request to set the validity date of an account (0x7948). + If the account_id value is -1, the login-server fails to set the validity date (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have fixed the validity date. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 794a .24B .l + It's a request to set the final date of a banishment of an account. + This packet fixes an absolute time for the end of the banishment. + Answer packet: 0x794b. + +R 794b .l .24B .l + It's the reply to an request to set the final date of a banishment of an account (0x794a). + If the account_id value is -1, the login-server fails to set the final date of a banishment (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have fixed the final date of a banishment. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + +S 794c .24B <+/-years_modification>.w <+/-months_modification>.w <+/-days_modification>.w <+/-hours_modification>.w <+/-minutes_modification>.w <+/-seconds_modification>.w + It's a request to adjust the final date of a banishment of an account. + This packet modifies the final date of a banishment by add/sustract of some parameters. + If you adjust a non-banished account, you fix a banishment with actual time + adjustments. + Answer packet: 0x794d. + +R 794d .l .24B .l + It's the reply to an request to adjust the final date of a banishment of an account (0x794c). + If the account_id value is -1, the login-server fails to adjust the final date of a banishment (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have adjusted the final date of a banishment. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + Note: if value is impossible, the returned value is the (unchanged) value of the final date of the banishment. + +S 794e .W .L .(length_of_message)B + It's a request to send a broadcast to all map-servers. + The length can not be 0. + broadcast_type: + 0: normal (yellow) + 0x10: blue + Answer packet: 794f. + +R 794f .W + It's the reply to an request to send a broadcast to all map-servers (794e). + If the answer value is -1, the login-server fails to send the message (no char-server are conected). + Otherwise, the answer is 0. + +S 7950 .24B <+/-years_modification>.w <+/-months_modification>.w <+/-days_modification>.w <+/-hours_modification>.w <+/-minutes_modification>.w <+/-seconds_modification>.w + It's a request to adjust the validity date of an account. + This packet modifies the validity date by add/sustract of some parameters. + You can not adjust an unlimited validity date. + Answer packet: 0x7951. + +R 7951 .l .24B .l + It's the reply to an request to adjust the validity date of an account (0x7950). + If the account_id value is -1, the login-server fails to adjust the validity date (the account doesn't exist). + Otherwise, the account_id is the id of the account that the login-server have found to try the adjustement of the validity date. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + If the returned validity date is 0, the login-server haven't modify the validity date (the account have an unlimited validity, + the modification is impossible because the new date is too far in the future, etc...). + If the returned validity date is not 0, it's the new validity date of the account. + +S 7952 .24B + It's a request (by name) to obtain complete information about an account. + Answer packet: 0x7953. + +R 7953 .l .B .24B .B .l .l .20B .24B .16B .40B .l .l .w .(length_of_memo)B + It's the reply to an request to obtain complete information about an account (0x7952 and 0x7954). + It sends all informations about an account. + Reply of 0x7952: + If the account_id value is -1, the login-server fails to found the account (the account doesn't exist). + Otherwise, the account_id is the id of the found account. + The login-server returns the correct sensitive case account_name (use strcmpi to compare). + Reply of 0x7954: + If the account_name value is "" (void), the login-server fails to found the account (the account id doesn't exist). + Otherwise, the account_name is the name of the found account. + +S 7954 .l + It's a request (by id) to obtain complete information about an account. + Answer packet: 0x7953. + +S 7955 + It's a request to re-load GM file definition. + Answer packet: NONE. + -- cgit v1.2.3-70-g09d2