diff options
Diffstat (limited to 'src/network/room.cpp')
| -rw-r--r-- | src/network/room.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/network/room.cpp b/src/network/room.cpp index d87db37de..682de720e 100644 --- a/src/network/room.cpp +++ b/src/network/room.cpp @@ -355,7 +355,14 @@ void Room::RoomImpl::HandleJoinRequest(const ENetEvent* event) { std::lock_guard lock(verify_uid_mutex); uid = verify_uid; } - member.user_data = verify_backend->LoadUserData(uid, token); + + if (verify_backend != nullptr) + member.user_data = verify_backend->LoadUserData(uid, token); + + if (nickname == room_information.host_username) { + member.user_data.moderator = true; + LOG_INFO(Network, "User {} is a moderator", std::string(room_information.host_username)); + } std::string ip; { @@ -574,8 +581,7 @@ bool Room::RoomImpl::HasModPermission(const ENetPeer* client) const { if (sending_member == members.end()) { return false; } - if (room_information.enable_yuzu_mods && - sending_member->user_data.moderator) { // Community moderator + if (sending_member->user_data.moderator) { // Community moderator return true; } @@ -1047,7 +1053,7 @@ bool Room::Create(const std::string& name, const std::string& description, const u32 max_connections, const std::string& host_username, const GameInfo preferred_game, std::unique_ptr<VerifyUser::Backend> verify_backend, - const Room::BanList& ban_list, bool enable_yuzu_mods) { + const Room::BanList& ban_list) { ENetAddress address; address.host = ENET_HOST_ANY; if (!server_address.empty()) { @@ -1069,7 +1075,6 @@ bool Room::Create(const std::string& name, const std::string& description, room_impl->room_information.port = server_port; room_impl->room_information.preferred_game = preferred_game; room_impl->room_information.host_username = host_username; - room_impl->room_information.enable_yuzu_mods = enable_yuzu_mods; room_impl->password = password; room_impl->verify_backend = std::move(verify_backend); room_impl->username_ban_list = ban_list.first; |
