diff --git a/osu.Game/Online/Rooms/Room.cs b/osu.Game/Online/Rooms/Room.cs
index f8660a656e..7647134646 100644
--- a/osu.Game/Online/Rooms/Room.cs
+++ b/osu.Game/Online/Rooms/Room.cs
@@ -342,6 +342,29 @@ namespace osu.Game.Online.Rooms
// Not yet serialised (not implemented).
private RoomAvailability availability;
+ public Room()
+ {
+ }
+
+ ///
+ /// Creates a from a .
+ ///
+ public Room(MultiplayerRoom room)
+ {
+ RoomID = room.RoomID;
+ Host = room.Host?.User;
+
+ Name = room.Settings.Name;
+ Password = room.Settings.Password;
+ Type = room.Settings.MatchType;
+ QueueMode = room.Settings.QueueMode;
+ AutoStartDuration = room.Settings.AutoStartDuration;
+ AutoSkip = room.Settings.AutoSkip;
+
+ Playlist = room.Playlist.Select(item => new PlaylistItem(item)).ToArray();
+ CurrentPlaylistItem = Playlist.FirstOrDefault(item => item.ID == room.Settings.PlaylistItemId);
+ }
+
///
/// Copies values from another into this one.
///