A client UUID is generated when the server is in offline mode.
1.7.9 client works with these changes in offline mode.
This commit is contained in:
@@ -31,6 +31,8 @@
|
||||
#include "CompositeChat.h"
|
||||
#include "Items/ItemSword.h"
|
||||
|
||||
#include "md5/md5.h"
|
||||
|
||||
|
||||
|
||||
/** Maximum number of explosions to send this tick, server will start dropping if exceeded */
|
||||
@@ -175,6 +177,28 @@ void cClientHandle::Destroy(void)
|
||||
|
||||
|
||||
|
||||
void cClientHandle::GenerateOfflineUUID(void)
|
||||
{
|
||||
// Proper format for a version 3 UUID is:
|
||||
// xxxxxxxx-xxxx-3xxx-yxxx-xxxxxxxxxxxx where x is any hexadecimal digit and y is one of 8, 9, A, or B
|
||||
|
||||
// Generate an md5 checksum, and use it as base for the ID:
|
||||
MD5 Checksum(m_Username);
|
||||
m_UUID = Checksum.hexdigest();
|
||||
m_UUID[12] = '3'; // Version 3 UUID
|
||||
m_UUID[16] = '8'; // Variant 1 UUID
|
||||
|
||||
// Now the digest doesn't have the UUID slashes, but the client requires them, so add them into the appropriate positions:
|
||||
m_UUID.insert(8, "-");
|
||||
m_UUID.insert(13, "-");
|
||||
m_UUID.insert(18, "-");
|
||||
m_UUID.insert(23, "-");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cClientHandle::Kick(const AString & a_Reason)
|
||||
{
|
||||
if (m_State >= csAuthenticating) // Don't log pings
|
||||
|
||||
Reference in New Issue
Block a user