Search the Community
Showing results for tags 'auth'.
Hi there, I am writing this little article about default accounts in MaNGOS and how to deal with them. > WHAT ARE DEFAULT ACCOUNTS ? Default accounts are accounts created in the account table of the auth DB when you have a fresh install : After a fresh install you will get those 4 default accounts that allow you to connect directly to your realm in order to make quick tests. > HOW CAN YOU USE THEM ? As you can see you have only encrypted password in DB but the scheme is easy : all passwords are equal to the account name. USERNAME PASSWORD ADMINISTRATOR ADMINISTRATOR GAMEMASTER GAMEMASTER MODERATOR MODERATOR PLAYER PLAYER Note : They are not case sensitive when you type them in the game client. > PLEASE... DELETE THESE ACCOUNTS IF THEY ARE NOT NEEDED AFTER YOUR FIRST TESTS ! We recommend that you get rid of these accounts and create your own ones, for obvious security reasons : DELETE FROM `account` WHERE `username` IN ('ADMINISTRATOR', 'GAMEMASTER', 'MODERATOR', 'PLAYER'); If you let them as it is and run a live server... anyone would be able to connect as a GM if you do not change the default passwords.
Hello, Mangos Community! I'm trying to developing python core from scratch and using your project as example. Currently my client stucks on 'Connected' and I think problem can be with packet encryption. Can anybody help me with debug or advice ? This is my project. And this is how packet encrypted: class HeaderCrypt(object): ENCRYPT_HEADER_SIZE = 4 DECRYPT_HEADER_SIZE = 6 def __init__(self, session_key): self.session_key = session_key self.send_i = 0 self.send_j = 0 self.recv_i = 0 self.recv_j = 0 def encrypt(self, data): assert len(data) >= HeaderCrypt.ENCRYPT_HEADER_SIZE encrypted_header =  * HeaderCrypt.ENCRYPT_HEADER_SIZE for index in range(HeaderCrypt.ENCRYPT_HEADER_SIZE): enc = (data[index] ^ self.session_key[self.send_i]) + self.send_j enc %= 0x100 encrypted_header[index] = self.send_j = enc self.send_i = (self.send_i + 1) % len(self.session_key) return bytes(encrypted_header) + data[HeaderCrypt.ENCRYPT_HEADER_SIZE:] def decrypt(self, data): assert len(data) >= HeaderCrypt.DECRYPT_HEADER_SIZE decrypted_header =  * HeaderCrypt.DECRYPT_HEADER_SIZE for index in range(self.DECRYPT_HEADER_SIZE): dec = (data[index] - self.recv_j) ^ self.session_key[self.recv_i] dec %= 0x100 decrypted_header[index] = dec self.recv_j = data[index] self.recv_i = (self.recv_i + 1) % len(self.session_key) return bytes(decrypted_header) + data[HeaderCrypt.DECRYPT_HEADER_SIZE:]