optimized gameuuid handling

This commit is contained in:
Matthew Toro 2026-04-04 02:17:59 -04:00
parent 6169b133ec
commit 692a1ffc8e
13 changed files with 61 additions and 45 deletions

View file

@ -371,7 +371,10 @@ namespace ServerRuntime
}
auto whitelistManager = std::make_shared<WhitelistManager>(*current);
const WhitelistedPlayerEntry entry = { formatted, name, metadata };
WhitelistedPlayerEntry entry;
entry.xuid = formatted;
entry.name = name;
entry.metadata = metadata;
if (!whitelistManager->AddPlayer(entry))
{
return false;

View file

@ -199,6 +199,7 @@ namespace ServerRuntime
}
AccessStorageUtils::TryGetStringField(object, "name", &entry.name);
AccessStorageUtils::TryGetStringField(object, "uuid", &entry.uuid);
AccessStorageUtils::TryGetStringField(object, "created", &entry.metadata.created);
AccessStorageUtils::TryGetStringField(object, "source", &entry.metadata.source);
AccessStorageUtils::TryGetStringField(object, "expires", &entry.metadata.expires);
@ -302,6 +303,8 @@ namespace ServerRuntime
{
OrderedJson object = OrderedJson::object();
object["xuid"] = AccessStorageUtils::NormalizeXuid(entry.xuid);
if (!entry.uuid.empty())
object["uuid"] = entry.uuid;
object["name"] = entry.name;
object["created"] = entry.metadata.created;
object["source"] = entry.metadata.source;

View file

@ -22,6 +22,7 @@ namespace ServerRuntime
struct BannedPlayerEntry
{
std::string xuid;
std::string uuid;
std::string name;
BanMetadata metadata;
};

View file

@ -117,6 +117,7 @@ namespace ServerRuntime
}
AccessStorageUtils::TryGetStringField(object, "name", &entry.name);
AccessStorageUtils::TryGetStringField(object, "uuid", &entry.uuid);
AccessStorageUtils::TryGetStringField(object, "created", &entry.metadata.created);
AccessStorageUtils::TryGetStringField(object, "source", &entry.metadata.source);
NormalizeMetadata(&entry.metadata);
@ -134,6 +135,8 @@ namespace ServerRuntime
{
OrderedJson object = OrderedJson::object();
object["xuid"] = AccessStorageUtils::NormalizeXuid(entry.xuid);
if (!entry.uuid.empty())
object["uuid"] = entry.uuid;
object["name"] = entry.name;
object["created"] = entry.metadata.created;
object["source"] = entry.metadata.source;

View file

@ -16,6 +16,7 @@ namespace ServerRuntime
struct WhitelistedPlayerEntry
{
std::string xuid;
std::string uuid;
std::string name;
WhitelistMetadata metadata;
};