diff --git a/src/core/hle/service/ldn/ldn_types.h b/src/core/hle/service/ldn/ldn_types.h
index 0af6531642aa361360386a95136e5ee5ada716d6..6231e936dade106ddb88d87aa388d47571848767 100644
--- a/src/core/hle/service/ldn/ldn_types.h
+++ b/src/core/hle/service/ldn/ldn_types.h
@@ -145,26 +145,19 @@ struct NetworkId {
 static_assert(sizeof(NetworkId) == 0x20, "NetworkId is an invalid size");
 
 struct Ssid {
-    u8 length;
-    std::array<char, SsidLengthMax + 1> raw;
+    u8 length{};
+    std::array<char, SsidLengthMax + 1> raw{};
 
-    Ssid() {
-        length = 0;
-        std::memset(raw.data(), 0, raw.size());
-    }
+    Ssid() = default;
 
-    Ssid(std::string data) {
+    explicit Ssid(std::string_view data) {
         length = static_cast<u8>(std::min(data.size(), SsidLengthMax));
-        std::memcpy(raw.data(), data.data(), length);
+        data.copy(raw.data(), length);
         raw[length] = 0;
     }
 
     std::string GetStringValue() const {
-        return std::string(raw.data(), length);
-    }
-
-    bool operator==(const Ssid& b) const {
-        return (length == b.length) && (std::memcmp(raw.data(), b.raw.data(), length) == 0);
+        return std::string(raw.data());
     }
 };
 static_assert(sizeof(Ssid) == 0x22, "Ssid is an invalid size");
diff --git a/src/dedicated_room/yuzu_room.cpp b/src/dedicated_room/yuzu_room.cpp
index 173a533174c17d7121592118412738451fb3c98e..7b6deba417fd19c263f3820ee5f6b52ba871d0b2 100644
--- a/src/dedicated_room/yuzu_room.cpp
+++ b/src/dedicated_room/yuzu_room.cpp
@@ -76,12 +76,7 @@ static constexpr char BanListMagic[] = "YuzuRoom-BanList-1";
 static constexpr char token_delimiter{':'};
 
 static void PadToken(std::string& token) {
-    const auto remainder = token.size() % 3;
-    if (remainder == 0) {
-        return;
-    }
-
-    for (size_t i = 0; i < (3 - remainder); i++) {
+    while (token.size() % 4 != 0) {
         token.push_back('=');
     }
 }
diff --git a/src/yuzu/multiplayer/chat_room.cpp b/src/yuzu/multiplayer/chat_room.cpp
index bddceb795564c43b131836ec8763198a50df3dc3..9e672f82e98d409c41ee19259fa56f3ef1d97b10 100644
--- a/src/yuzu/multiplayer/chat_room.cpp
+++ b/src/yuzu/multiplayer/chat_room.cpp
@@ -154,9 +154,7 @@ public:
         }
         const QString version = data(GameVersionRole).toString();
         QString version_string;
-        if (version.isEmpty()) {
-            version_string = QString{};
-        } else {
+        if (!version.isEmpty()) {
             version_string = QStringLiteral("(%1)").arg(version);
         }
         return QStringLiteral("%1\n      %2 %3")
diff --git a/src/yuzu/multiplayer/direct_connect.cpp b/src/yuzu/multiplayer/direct_connect.cpp
index 65b5f0b9de174a1a1495a2d5d95d0556284f1e1b..017063074479666e0a6a8d98537708e50b268a58 100644
--- a/src/yuzu/multiplayer/direct_connect.cpp
+++ b/src/yuzu/multiplayer/direct_connect.cpp
@@ -8,6 +8,7 @@
 #include <QString>
 #include <QtConcurrent/QtConcurrentRun>
 #include "common/settings.h"
+#include "core/core.h"
 #include "core/internal_network/network_interface.h"
 #include "network/network.h"
 #include "ui_direct_connect.h"
diff --git a/src/yuzu/multiplayer/direct_connect.h b/src/yuzu/multiplayer/direct_connect.h
index defa4f4ec457be09f7e22e207c96de012eba67d0..e39dd1e0d6df75586672e63471708e3ed0e2de76 100644
--- a/src/yuzu/multiplayer/direct_connect.h
+++ b/src/yuzu/multiplayer/direct_connect.h
@@ -6,13 +6,16 @@
 #include <memory>
 #include <QDialog>
 #include <QFutureWatcher>
-#include "core/core.h"
 #include "yuzu/multiplayer/validation.h"
 
 namespace Ui {
 class DirectConnect;
 }
 
+namespace Core {
+class System;
+}
+
 class DirectConnectWindow : public QDialog {
     Q_OBJECT
 
diff --git a/src/yuzu/multiplayer/host_room.cpp b/src/yuzu/multiplayer/host_room.cpp
index ad7dcc36df7754f0fde27a5d35a52c149be87428..0c6adfd040075b840150285b8cfb319c2036d145 100644
--- a/src/yuzu/multiplayer/host_room.cpp
+++ b/src/yuzu/multiplayer/host_room.cpp
@@ -12,6 +12,7 @@
 #include <QtConcurrent/QtConcurrentRun>
 #include "common/logging/log.h"
 #include "common/settings.h"
+#include "core/core.h"
 #include "core/internal_network/network_interface.h"
 #include "network/announce_multiplayer_session.h"
 #include "ui_host_room.h"
diff --git a/src/yuzu/multiplayer/host_room.h b/src/yuzu/multiplayer/host_room.h
index 63c0d233320859b4ca6a267e9871dbf6d5738b64..034cb2eefd311803f949438702657d00255bc13e 100644
--- a/src/yuzu/multiplayer/host_room.h
+++ b/src/yuzu/multiplayer/host_room.h
@@ -8,7 +8,6 @@
 #include <QSortFilterProxyModel>
 #include <QStandardItemModel>
 #include <QVariant>
-#include "core/core.h"
 #include "network/network.h"
 #include "yuzu/multiplayer/chat_room.h"
 #include "yuzu/multiplayer/validation.h"
@@ -18,8 +17,9 @@ class HostRoom;
 }
 
 namespace Core {
+class System;
 class AnnounceMultiplayerSession;
-}
+} // namespace Core
 
 class ConnectionError;
 class ComboBoxProxyModel;
diff --git a/src/yuzu/multiplayer/lobby.cpp b/src/yuzu/multiplayer/lobby.cpp
index c5fb846c70d092d0da729992470fc11d355ccaf0..107d405476790df04a2d1352009a202dd187b144 100644
--- a/src/yuzu/multiplayer/lobby.cpp
+++ b/src/yuzu/multiplayer/lobby.cpp
@@ -6,6 +6,7 @@
 #include <QtConcurrent/QtConcurrentRun>
 #include "common/logging/log.h"
 #include "common/settings.h"
+#include "core/core.h"
 #include "core/internal_network/network_interface.h"
 #include "network/network.h"
 #include "ui_lobby.h"
diff --git a/src/yuzu/multiplayer/lobby.h b/src/yuzu/multiplayer/lobby.h
index 49fd4c473945081b908943cde8f1af9bc415ebca..2696aec21a52caca35dd4399b2c6d4635d50eda7 100644
--- a/src/yuzu/multiplayer/lobby.h
+++ b/src/yuzu/multiplayer/lobby.h
@@ -9,7 +9,6 @@
 #include <QSortFilterProxyModel>
 #include <QStandardItemModel>
 #include "common/announce_multiplayer_room.h"
-#include "core/core.h"
 #include "network/announce_multiplayer_session.h"
 #include "network/network.h"
 #include "yuzu/multiplayer/validation.h"
@@ -21,6 +20,10 @@ class Lobby;
 class LobbyModel;
 class LobbyFilterProxyModel;
 
+namespace Core {
+class System;
+}
+
 /**
  * Listing of all public games pulled from services. The lobby should be simple enough for users to
  * find the game they want to play, and join it.
diff --git a/src/yuzu/multiplayer/state.cpp b/src/yuzu/multiplayer/state.cpp
index d1a68b18299d5383f47d0c9f25978c809b41b0e7..66e098296d021f789495952daab49fe12b6ee3d0 100644
--- a/src/yuzu/multiplayer/state.cpp
+++ b/src/yuzu/multiplayer/state.cpp
@@ -8,6 +8,7 @@
 #include <QStandardItemModel>
 #include "common/announce_multiplayer_room.h"
 #include "common/logging/log.h"
+#include "core/core.h"
 #include "yuzu/game_list.h"
 #include "yuzu/multiplayer/client_room.h"
 #include "yuzu/multiplayer/direct_connect.h"
diff --git a/src/yuzu/multiplayer/state.h b/src/yuzu/multiplayer/state.h
index 3921f2fc309e3ab444cd0b72ff49a9b241dbe2fc..c92496413ca59e6be126e28f8c113491039925c2 100644
--- a/src/yuzu/multiplayer/state.h
+++ b/src/yuzu/multiplayer/state.h
@@ -4,7 +4,6 @@
 #pragma once
 
 #include <QWidget>
-#include "core/core.h"
 #include "network/announce_multiplayer_session.h"
 #include "network/network.h"
 
@@ -15,6 +14,10 @@ class ClientRoomWindow;
 class DirectConnectWindow;
 class ClickableLabel;
 
+namespace Core {
+class System;
+}
+
 class MultiplayerState : public QWidget {
     Q_OBJECT;