diff --git a/osu.Game/Online/Multiplayer/MultiplayerClient.cs b/osu.Game/Online/Multiplayer/MultiplayerClient.cs
index 0ffb81d986..ae53ef2e52 100644
--- a/osu.Game/Online/Multiplayer/MultiplayerClient.cs
+++ b/osu.Game/Online/Multiplayer/MultiplayerClient.cs
@@ -742,7 +742,7 @@ namespace osu.Game.Online.Multiplayer
Beatmap = { Value = apiBeatmap },
Ruleset = { Value = ruleset },
Expired = item.Expired,
- GameplayOrder = item.GameplayOrder
+ PlaylistOrder = item.PlaylistOrder
};
playlistItem.RequiredMods.AddRange(item.RequiredMods.Select(m => m.ToMod(rulesetInstance)));
diff --git a/osu.Game/Online/Rooms/MultiplayerPlaylistItem.cs b/osu.Game/Online/Rooms/MultiplayerPlaylistItem.cs
index ec98de2b43..c84b5b9039 100644
--- a/osu.Game/Online/Rooms/MultiplayerPlaylistItem.cs
+++ b/osu.Game/Online/Rooms/MultiplayerPlaylistItem.cs
@@ -43,7 +43,7 @@ namespace osu.Game.Online.Rooms
/// The order in which this will be played, starting from 0 and increasing for items which will be played later.
///
[Key(8)]
- public int GameplayOrder { get; set; }
+ public ushort PlaylistOrder { get; set; }
///
/// The date when this was last updated.
@@ -65,7 +65,7 @@ namespace osu.Game.Online.Rooms
RequiredMods = item.RequiredMods.Select(m => new APIMod(m)).ToArray();
AllowedMods = item.AllowedMods.Select(m => new APIMod(m)).ToArray();
Expired = item.Expired;
- GameplayOrder = item.GameplayOrder;
+ PlaylistOrder = item.PlaylistOrder ?? 0;
}
}
}
diff --git a/osu.Game/Online/Rooms/PlaylistItem.cs b/osu.Game/Online/Rooms/PlaylistItem.cs
index 4c7f9e139a..beefb17d54 100644
--- a/osu.Game/Online/Rooms/PlaylistItem.cs
+++ b/osu.Game/Online/Rooms/PlaylistItem.cs
@@ -33,8 +33,8 @@ namespace osu.Game.Online.Rooms
[JsonProperty("expired")]
public bool Expired { get; set; }
- [JsonProperty("gameplay_order")]
- public int GameplayOrder { get; set; }
+ [JsonProperty("playlist_order")]
+ public ushort? PlaylistOrder { get; set; }
[JsonIgnore]
public IBindable Valid => valid;
diff --git a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerHistoryList.cs b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerHistoryList.cs
index 25f658446a..ed41a6fc78 100644
--- a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerHistoryList.cs
+++ b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerHistoryList.cs
@@ -27,7 +27,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Match.Playlist
private class HistoryFillFlowContainer : FillFlowContainer>
{
- public override IEnumerable FlowingChildren => base.FlowingChildren.OfType>().OrderByDescending(item => item.Model.GameplayOrder);
+ public override IEnumerable FlowingChildren => base.FlowingChildren.OfType>().OrderByDescending(item => item.Model.PlaylistOrder);
}
}
}
diff --git a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerQueueList.cs b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerQueueList.cs
index 58f35b940a..1b1b66273f 100644
--- a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerQueueList.cs
+++ b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/Playlist/MultiplayerQueueList.cs
@@ -38,7 +38,7 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Match.Playlist
roomPlaylist.BindCollectionChanged((_, __) => InvalidateLayout());
}
- public override IEnumerable FlowingChildren => base.FlowingChildren.OfType>().OrderBy(item => item.Model.GameplayOrder);
+ public override IEnumerable FlowingChildren => base.FlowingChildren.OfType>().OrderBy(item => item.Model.PlaylistOrder);
}
}
}
diff --git a/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs b/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs
index 2831c94429..b47b86a2d8 100644
--- a/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs
+++ b/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs
@@ -316,7 +316,7 @@ namespace osu.Game.Tests.Visual.Multiplayer
case QueueMode.HostOnly:
// In host-only mode, the current item is re-used.
item.ID = currentItem.ID;
- item.GameplayOrder = currentItem.GameplayOrder;
+ item.PlaylistOrder = currentItem.PlaylistOrder;
serverSidePlaylist[currentIndex] = item;
await ((IMultiplayerClient)this).PlaylistItemChanged(item).ConfigureAwait(false);
@@ -488,10 +488,10 @@ namespace osu.Game.Tests.Visual.Multiplayer
for (int i = 0; i < orderedItems.Count; i++)
{
// Items which are already ordered correct don't need to be updated.
- if (orderedItems[i].GameplayOrder == i)
+ if (orderedItems[i].PlaylistOrder == i)
continue;
- orderedItems[i].GameplayOrder = i;
+ orderedItems[i].PlaylistOrder = (ushort)i;
// Items which have an ID of 0 are not in the database, so avoid propagating database/hub events for them.
if (orderedItems[i].ID <= 0)