-
Notifications
You must be signed in to change notification settings - Fork 0
Spectating
When the player clicks on the "Start Spectating" button on a player's user-card, a StartSpectating packet will get sent to the server. The server then proceeds to add the spectator to the player's #spectator
chat (See Chat), as well as notifying the player and other spectators with the SpectatorJoined and FellowSpectatorJoined packets respectively.
If a client is being spectated, it automatically starts sending out SendFrames packets to the server, which it then proceeds to broadcast to all other spectators, using the SpectateFrames packet.
The process is very similar to the procedure above. The client sends out a StopSpectating packet, the server removes the client from the #spectator
chat and also notifies the player and other spectators, using the SpectatorLeft and FellowSpectatorLeft packets.
If a spectator doesn't have the beatmap, that the player is currently playing on, the client will send out a CantSpectate (21) packet. The server will then redirect that to the player, as well as all of the fellow spectators, with the CantSpectate (22) packet.
-
Home
- Protocol
- Introduction
- Login
- PacketEnums
- Players
- Chat
- Spectating
- Multiplayer
- Types
- Packets
- Client
- 0 ChangeStatus
- 1 SendMessage
- 2 Exit
- 3 RequestStatus
- 4 Pong
- 16 StartSpectating
- 17 StopSpectating
- 18 SendFrames
- 20 ErrorReport
- 21 CantSpectate
- 25 SendPrivateMessage
- 29 PartLobby
- 30 JoinLobby
- 31 CreateMatch
- 32 JoinMatch
- 33 LeaveMatch
- 38 MatchChangeSlot
- 39 MatchReady
- 40 MatchLock
- 41 MatchChangeSettings
- 44 MatchStart
- 47 MatchScoreUpdate
- 49 MatchComplete
- 50 MatchChangeBeatmap
- 51 MatchChangeMods
- 52 MatchLoadComplete
- 54 MatchNoBeatmap
- 55 MatchNotReady
- 56 MatchFailed
- 59 MatchHasBeatmap
- 60 MatchSkip
- 63 JoinChannel
- 68 BeatmapInfo
- 70 MatchTransferHost
- 73 AddFriend
- 74 RemoveFriend
- 77 MatchChangeTeam
- 78 LeaveChannel
- 79 ReceiveUpdates
- 82 SetAwayMessage
- 84 IrcOnly
- 85 StatsRequest
- 87 MatchInvite
- 90 MatchChangePassword
- 93 TournamentMatchInfo
- 97 PresenceRequest
- 98 PresenceRequestAll
- 99 ChangeFriendonlyDms
- 108 TournamentJoinMatchChannel
- 109 TournamentLeaveMatchChannel
- Server
- 5 LoginReply
- 6 CommandError
- 7 SendMessage
- 8 Ping
- 9 IrcChangeUsername
- 10 IrcQuit
- 11 UserStats
- 12 UserQuit
- 13 SpectatorJoined
- 14 SpectatorLeft
- 15 SpectateFrames
- 19 VersionUpdate
- 22 CantSpectate
- 23 GetAttension
- 24 Announce
- 26 UpdateMatch
- 27 NewMatch
- 28 DisbandMatch
- 34 LobbyJoin
- 35 LobbyPart
- 36 MatchJoinSuccess
- 37 MatchJoinFail
- 42 FellowSpectatorJoined
- 43 FellowSpectatorLeft
- 45 AllPlayersLoaded
- 46 MatchStart
- 48 MatchScoreUpdate
- 50 MatchTransferHost
- 53 MatchAllPlayersLoaded
- 57 MatchPlayerFailed
- 58 MatchComplete
- 61 MatchSkip
- 62 Unauthorized
- 64 ChannelJoinSuccess
- 65 ChannelAvailable
- 66 ChannelRevoked
- 67 ChannelAvailableAutojoin
- 69 BeatmapInfoReply
- 71 LoginPermissions
- 72 FriendsList
- 75 ProtocolVersion
- 76 MenuIcon
- 80 Monitor
- 81 MatchPlayerSkipped
- 83 UserPresence
- 84 IrcOnly
- 86 Restart
- 88 Invite
- 89 ChannelInfoComplete
- 91 MatchChangePassword
- 92 SilenceInfo
- 94 UserSilenced
- 95 UserPresenceSingle
- 96 UserPresenceBundle
- 100 UserDmBlocked
- 101 TargetIsSilenced
- 102 VersionUpdateForced
- 103 SwitchServer
- 104 AccountRestricted
- 105 RTX
- 106 MatchAbort
- 107 SwitchTournamentServer
- Client
- Protocol