Players, map and live view
The online player list, the world map, single-player live view and Multi Stream, the filter and sort controls all three share, and what each action does to a player.
Three pages read the same live roster: Players List, Map Interaction and Multi Stream. One fetch and one live push feed all three, so a player who appears on one appears on the others at the same time. Coming back to the tab after it was hidden re-reads the roster straight away rather than waiting for the next poll.
Players List
What a card shows
| On the card | What it is |
|---|---|
| Server id and name | The in-game server slot, then the player name. Both are what the game server reported. |
| Identifier line | Their Rockstar license, falling back to the Steam id when the resource sent no license. |
| Ping | Live, in milliseconds, coloured by band. |
| Health | A percentage, the same figure the in-game menu shows, and the map reads it the same way. A dead player reads 0 in red. A player whose health the game server has not reported shows a dash with an empty bar rather than a full one. |
| Armor | A percentage on its own bar. Absent armor reads zero. |
| Play time | One figure: the time on this server when the resource reports it, otherwise the total across every Raven server. The tooltip reads Play time on this server / Global and never says which of the two you got. |
| Verified | The player finished the Raven client handshake. Screenshot and live view both need this, because they talk to the player client directly. |
| Admin | The player carries an identifier tagged for in-game staff access on the In-Game Moderators page. The row carries a level and the abilities ticked on it, never dashboard access, and it is not the dashboard Admin level. |
See Admins and moderators for what the Admin tag actually grants in game.
Search
The search box matches the player name, the server id, the license, the Steam id, or any identifier the player carries. Beside it sit Filter and Sort, which Map Interaction and Multi Stream carry in the same form, covered under Filter and sort below. The FiveM routing bucket is one of the filter groups rather than a control of its own, and it only appears when the connected players are actually split across more than one bucket, since with a single bucket it could never narrow anything. Each bucket option carries the number of players in it. If everyone converges back into one bucket while a choice is ticked the choice clears itself, so players never vanish behind a control that is no longer on screen.
The card menu
| Item | What it does | Needs |
|---|---|---|
| Screenshot | The player client captures one frame and streams the bytes straight into the modal. Nothing is uploaded to the CDN and nothing is stored, so close the modal and the image is gone. A capture that came back empty is called out as a black screen rather than shown as a picture. | Verified player, Actions |
| Watch Live | Opens the single-player viewer. Shares one watch list with Multi Stream. | Verified player, Live Stream and View, resource 1.5.9.5 |
| Lookup Player | Opens the network lookup for that player, by Steam id when they have one and by name otherwise. | Nothing extra |
| Moderator Access | Tags that player as an in-game admin, a whitelisted staff member, or both, without copying an identifier by hand. | In-Game Moderators Edit or Admins Edit, resource 1.7.4.5 |
| Send Message | Opens the message composer with that player already picked, and room for nineteen more. | Direct Messages |
| Kick Player | Asks for a reason, then drops the player. | Actions |
| Ban Player | Asks for a reason, then bans and drops the player. | Actions |
Screenshot, Kick and Ban are the three items the menu does not hide. They are offered to anyone who can read the list, and the server refuses the request itself when the Actions permission is missing, so an admin without it gets an error rather than a quietly missing button. Everything else in the table above is hidden when you cannot use it.
Kick and ban both require a reason. The reason is what the player reads on the way out, so it is worth writing something a person could appeal against. Both write a row to the activity log naming you as the actor, and a ban also appears on the Bans List.
Captures have their own limits because each one wakes up a player client. Four can be in flight at once and a fifth is refused rather than queued, a request the client never answers is given up on after twelve seconds, and the browser stops waiting at fifteen. When a kick, ban or screenshot fails because the link to the game server did, the error is a sentence, for example The game server did not answer in time., rather than a code.
Keeping a ban the game server did not carry out
A ban the game server does not carry out, because the player left before you confirmed, was already being actioned, or the server did not answer in time, can still be kept to take effect the next time they connect. That needs three things at once.
| Requirement | Why |
|---|---|
| Identifiers on the ban | Without something to match them by, the ban could never find them again when they reconnect. |
| The Bans List Create permission | Recording a ban nobody enforced is the same power Ban Offline needs. |
| A record on this server tying those identifiers to that player | The player list finds people by server slot, and FiveM hands a slot on to whoever joins next. Without the record, a slot that has since passed to somebody else could get the newcomer banned under the first player’s name. |
If any of the three is missing nothing is saved, and the error says what the game server answered and why the ban was not kept. The same applies while the server is not connected. If the game server had just banned that player for something else, that ban is left as it is and no second one is added. Either way the confirmation says which of the two happened instead of a plain "Successfully banned".
Messaging players
There is one composer everywhere, with a Direct message or Announcement switch at the top of it, so no page is the only one that can reach several players and no page is the only one that can write to everyone. Message in the Players List header opens it with nobody picked, on Announcement. Send Message on a card opens the same composer with that player already picked, and that one opens on Direct message: picking the player was already the choice of who receives it, so landing on an announcement to the whole server would be the surprise. The header button reads Announce instead for someone who holds announcements and not direct messages, because that is the only thing they can do with it.
| Mode | Characters | Recipients | Rate limit | Permission |
|---|---|---|---|---|
| Direct message | 240 | Up to 20 | 10 a minute | Direct Messages |
| Announcement | 200 | Every screen | 2 a minute | Announcements |
Announcements and direct messages are two separate permissions, the switch only offers the modes you hold, and neither is granted unless it was ticked by hand. The same composer opens from the server home and from the World page. See Resources and World.
Filter and sort
All three pages carry the same pair of controls, and the two are deliberately not alike. Filter holds as many choices as you like at once and narrows the list. Sort holds one key and a direction and narrows nothing. Reading a sort as a filter is how people end up believing an ordering removed rows, so the two never share a control.
How several choices combine
Choices combine in the one way people expect when they tick a second box.
| Two choices on | What you get |
|---|---|
| different | Fields narrow each other. Role Admin together with Ping 150ms+ gives the admins who also have a high ping, not the admins plus everybody lagging. |
| the same | Field widens it. Trust 0-19 together with Trust 20-39 gives either band. |
Every active choice stays visible as a token you can click to remove, with Clear all beside them once there is more than one, and the count always reads 12 of 48 players. A list the filters emptied names the filters and the search term that did it and offers to clear them, rather than reading as nobody being online.
The fields
Each group is offered only when the roster can actually answer it. An older resource build reports no trust score and no play time at all, so on one of those the Trust and Playtime groups are absent rather than present and dead.
| Group | Choices | Pages |
|---|---|---|
| Bucket | One per FiveM routing bucket in play, with its player count | Players List |
| Role | Admin, Verified, Neither. A player who is both matches either | All three |
| Trust | 0-19, 20-39, 40-59, 60-79, 80-100, Not rated | All three |
| Ping | Under 50ms, 50-99ms, 100-149ms, 150ms+ | All three |
| Playtime | Under 1h, 1-10h, 10h+ | All three |
| Stream | Watching, Not watching | Multi Stream |
| Vehicle | In a vehicle, On foot | Map Interaction |
| Health | Low HP, meaning 30% or less, or Healthy | Map Interaction |
Apart from the routing bucket, which clears itself as described above, a group you have a choice ticked on stays offered even after the roster stops being able to answer it. The choice keeps narrowing the list and keeps its token until you untick it, and the list says that filter emptied it rather than quietly showing everyone again. The number on the Filter button counts only choices on groups that are actually on offer.
Sorting
| Page | Keys | Opens on |
|---|---|---|
| Players List | Name, ID, Trust, Ping, Playtime | ID, ascending |
| Multi Stream | Name, ID, Trust, Ping, Playtime | ID, ascending |
| Map Interaction | Name, ID, Trust, Ping, Playtime, Health | Name, ascending |
The Players List and Multi Stream open on ID, ascending, which is the order the game server reports its roster in, so the list you land on is the one those pages always showed. The map's panel opens on Name instead, since it was already a sorted list. A key the roster cannot answer is dropped from the menu, the same way the filter groups are. Sorting applies to whatever the filters left behind, and it works whether or not anything is filtered.
Neither control is saved. Each page keeps its own, they do not leak into one another, and both are back to their defaults on a reload, so nothing is ever hidden behind a filter you set yesterday and forgot.
Map Interaction
The map plots every connected player on the game world, with chips above it for the online count, how many are in a vehicle and how many are on low health, plus the average trust score once at least one player reports one. The panel beside it lists the same players with a count and a search box, and carries the same Filter and Sort buttons as the pages above it, with the two extra groups this page alone can answer. Each button opens its own panel over the map rather than a row of controls inside the column, which is what lets a panel this narrow hold both of them. The map's own search box matches the player name only, unlike the Players List box. Clicking a player focuses the map on them and keeps following until you click again.
The heatmap underneath is built from two sources. Positions sampled during the session you are watching give the live layer, and positions the dashboard has recorded before give the saved layer. The Hotspots button in the map controls turns the layer off.
| Behaviour | Value |
|---|---|
| Grid cell a sample is binned to | 60 units |
| Time for a saved cell to fade to about a third | 5 minutes |
| Age at which a cell is dropped entirely | 30 minutes |
| Busiest cells returned at once | 800 |
The heatmap is behind the map view permission, including writing position samples. The players plotted on it come from the same roster the Players List reads, so seeing them needs the players view permission as well.
Live view and Multi Stream
Watch Live on a player card opens a single viewer. Multi Stream is the same feed arranged as a grid: pick players from the roster on the left and each one tiles on the right. Both share one watch list, so a stream started from the Players List is already running when you open Multi Stream. The Multi Stream picker lists verified players only, because an unverified client has no channel to stream over, and its search matches the name or the server id.
| Behaviour | What happens |
|---|---|
| Watch limit | Sixteen players at once. Past that the picker refuses and says so. |
| A watched player leaves | Their tile is dropped automatically, so the grid always matches who is actually online. |
| FiveM reuses their server id | The tile, or the single viewer, closes with a notice naming who left and the id, instead of showing the newcomer under the old name. That holds even for a tile you are recording or reviewing, which otherwise stays when its player leaves, and its clip is discarded. |
| Rewind | Starts independent, so each tile rewinds on its own. Switching it to Synced moves every stream together. Pausing holds the rewound position instead of snapping back to live. |
Multi Stream needs the stream permission and resource 1.5.9.5 or newer. On an older resource the page is not in the sidebar at all, because the resource has no stream channel to serve it.