Administrator comparing a server-directory card grid with a live-stream sidebar on a widescreen monitor

Gaming boards buy the wrong add-on because they mix up three jobs. A directory is a filterable list of rooms someone declared. Live now is a list that changes when a platform API says a channel is broadcasting. VOD is a clip or archive you play after the fact. XenForo can do the first with stock threads. It can embed the third when a member pastes a URL. The second is an add-on (or a lie).

This is a comparison of those jobs and the plugin patterns that serve them. It is not the server-listing setup and not the Twitch / YouTube / Kick integration walkthrough. Those two articles already built the stock directory and named the streaming add-on path. Do not use this page as an install guide. If you wanted Discord role sync, that is a different integration.

Official XenForo does not ship a server browser or a live-stream content type. Community products exist. This article will not invent current version numbers for them. Where a product is already documented elsewhere, it is related, not re-specified.

Three jobs, three failure modes

Write the sentence. Then buy nothing until it still looks true.

Job Member question Freshness Stock XenForo Typical add-on pattern
Directory “Which rooms exist, and how do I join?” Human (staff or owner) Threads + prefixes + custom thread fields; optional XFRM Listing / resources add-on, or a query add-on that also tries to be live
Live now “Who of ours is broadcasting right now?” Platform API / scrape None Stream directory that polls Twitch / YouTube / Kick
VOD / clip “Play this thing that already happened” The URL BB code media sites + unfurl Rarely worth a plugin if stock embeds the host

A fourth job sits next to these and steals their budget: voice / Discord presence. “Who is in the Discord” is not a server listing and not a stream. [8WR] XenRio and Discord bridges are related products. They do not replace a connect-string field.

If you install a live-now add-on because you needed a filterable list of FiveM connect strings, you will moderate an API and still not have a directory. If you install a listing add-on because you wanted a green “live” dot, you will moderate fiction.

Job 1 — Directory (rooms, not broadcasts)

A directory is a catalogue of places. FiveM, Minecraft, a Discord invite, a Mumble, a community-run TF2 box. The artefact is a row a stranger can filter. The truth source is a human: the owner typed a connect string; staff marked Verified.

Stock pattern (usually enough)

The setup article already built this. Here is only the shape, so you can compare it to plugins:

  • One forum per game, or one forum plus prefixes if the board is small.
  • Prefix = the dimension you filter on the forum view (status or game — you get one prefix).
  • Custom thread fields for join data, shown in the thread status block so page two still has the IP.
  • Optional official Resource Manager: a catalogue when chatter is secondary.

Stock will not ping the game. A prefix that says Online is a staff habit, not telemetry. That limitation is the product. It is also why the directory stays honest.

Plugin pattern

Listing add-ons try to be a card grid, a map, or a live query. Before you buy one, name which of those you need:

Plugin promise What you should verify When it is worth it
Card grid / map UI Does it still use a thread or a resource you can moderate? When stock prefix-filter UI is the actual complaint
Game-query (player count, ping) Which games, how often, what happens when the query fails When a stale number would be worse than no number — so the fail state must be empty, not “96 players” from Tuesday
Paid bump / highlight Permissions, spam, who can buy visibility When the directory is a classifieds business
Import from another site Export format, URL map Rare. Usually a one-off script, not a product

If the add-on cannot show a dead query as dead, do not install it. A fake count is worse than a thread field that says “up when I posted this.”

Do not mix the directory with a whitelist application. Applications are a workflow: a user asks, staff decide, a group changes. That is the whitelist article. A listing thread can say whitelist required. It should not be the form.

Comparison: stock directory vs listing plugin

Stock threads Listing / query plugin
Filter UI Prefixes on the forum view Whatever the add-on drew
Join data Fields you defined Fields the add-on defined — confirm you can add “connect string”
Live player count No Only if the product actually queries your games
Upgrade risk Core Another outdated-template and 2.3 JS consumer
Honesty High if staff use Offline As honest as the fail state
Cost $0 extra Licence + CSS against your style

Buy the plugin when you have a working stock directory and the remaining complaint is specific (we need a map; we need a query for this one game). Do not buy it to avoid creating prefixes.

Job 2 — Live now (broadcasts, not rooms)

Live now is a catalogue of people on camera, refreshed by a platform. The artefact is a sidebar or a /streams/ page that is empty when nobody is live. The truth source is Twitch, YouTube, Kick, or another host’s API.

Stock pattern (there isn’t one)

XenForo will embed a URL you paste. It will not poll “is this channel live.” There is no stock streams/ route. There is no stock “who is live” widget type. Appearance → Widgets → Add widget will not grow one.

The honest stock fallback — already built in the streaming article — is:

  • A page node that says who streams, when, and links to a listing forum.
  • A listing forum with thread fields (platform, channel_url, schedule).
  • An HTML widget that links to that page. It does not turn green.

That fallback is a directory of streamers, not live now. It is still useful. It will not replace XenRio.

Plugin pattern

The named product in this series is [8WR] XenRio 2 (Streams) (Jaxel / 8wayrun, Resource Manager). The setup article already covered platforms, API keys, and Kick’s public-API rewrite. This page only compares the job:

What XenRio-class plugins do What they do not do
Scrape / poll supported platforms Replace media BB code in ordinary threads
Embed live players on a streams page Query a FiveM or Minecraft server
Filter by game, channel list, language Sync Discord roles
Multi-viewer for more than one live channel Invent a Kick provider inside stock XenForo

Related, not repeated here: Discord integration and any [8WR] Discord product. If your “we are live” signal is a Discord voice channel, you want a bridge or a bot, not a stream scraper. Do not expect one SKU to be both.

Comparison: stock embeds vs live-now plugin vs fake widget

Stock media sites Page + fields Live-now add-on
Pasted Twitch/YouTube in a post Plays in the thread n/a Still plays in the thread
Kick URL No stock provider Field + link Only if that add-on lists Kick
Sidebar “3 live” No No (unless you type it) Yes, if configured narrowly
Multi-viewer No No Product feature
API quota / keys No No You own the developer apps
Homepage LCP Fine (below the fold) Fine Bad if you auto-embed on /

The streaming article’s rule still stands: do not auto-embed a live player on the index. A thumbnail or a count on the portal first screen; the player on /streams/ or in the thread.

YouTube is a quota product, not a Twitch clone. A live-now plugin that “supports YouTube” can still burn a daily Data API quota if you scrape it like Twitch. Plan few channels, or treat YouTube as VOD.

Job 3 — VOD and clips

VOD is not a directory. It is a URL. Someone already published a video. You want it watchable on the forum without a bounce.

Stock BB code media sites (docs.xenforo.com/manual/content/bbcode-media-sites) turn a matched host into an embed. YouTube is the manual’s example. The ACP list under Setup → BB code media sites is the source of truth for your board — the public manual does not publish a frozen catalogue of every default 2.3 host.

Unfurl may draw a card for a URL that is not a media site. A card is not a player. A card is not live now.

Need Tool
Weekly raid recap on YouTube Stock embed in the recap thread
Twitch clip in a match debrief Stock embed if the host is enabled
Kick VOD A media site you add for a stable embed URL, or the add-on that actually embeds Kick — still not a live list
“All our VODs in one library” A forum of recap threads, or XFRM if the artefact is a downloadable file
Auto-archive of last live into the sidebar Live-now add-on territory (XenRio has stored last-stream behaviour in its own notes). Not stock

Do not buy a directory to embed one VOD. Do not paste six iframes into a page node. You will merge that HTML on every style upgrade.

Side-by-side: which product for which board

Board sentence Directory Live now VOD Buy
“We list 40 FiveM rooms and argue in the thread” Primary No Rare Stock listing. Maybe XFRM if chatter is noise
“We list rooms and we want player counts” Primary No (that is game-query) No A query listing add-on that fails empty, or stay stock
“Our six residents stream the game we play” Streamer directory (fields) Primary Recap threads Live-now add-on + channel allow-list
“We clip every raid to YouTube” No No Primary Stock media sites
“Homepage should feel like Twitch” No Dangerous No A streams page, not the index. Read speed
“Discord is the hangout; the forum is apps + lore” Optional Discord invites No No Discord article, not XenRio
“We need whitelist apps and a server list” Listing + separate app forum No No Two nodes. Never one

If two rows are true, you may need two tools. That is cheaper than one add-on that lies about both.

Permissions and groups (the comparison most plugins skip)

Official groups reminder: every registered human keeps Registered as primary. A Server owners or Streamers role is a secondary group. The permissions primer and the mistakes article both exist so you do not “promote” a Twitch partner by changing primary.

Compare how the jobs hang off groups:

Directory Live now VOD
Who creates the artefact Owners or staff (thread or resource) Staff (channel allow-list) or an application queue Anyone who can post a media URL
Who can lie Anyone who can edit the connect field Anyone who can add a channel to the scrape Anyone who can paste a URL — moderate the host list
Guest visibility Usually yes (the point is discovery) Your choice; public multi-viewer of your talent is fine Thread permissions
Unregistered submit Almost never Never scrape “top Twitch” onto a hobby board Media-site enablement is not a submit permission

A custom user field is not a permission. is_streamer = yes in a template is a toy. The group is the role. The user fields article already said so.

Data you should not store twice

Boards that run both jobs start copying URLs into three places: a user field, a thread field, and the live-now add-on’s channel list. Pick a source of truth.

Fact Lives on Does not live on
Connect string / invite Thread field (or XFRM field) Profile, Discord nick, extra.less
“This person is allowed to have a listing” Secondary group A checkbox field
Twitch login for live scrape The add-on’s channel list The listing thread (link to it, do not scrape the thread)
Schedule Thread field or the streams page A widget you will forget to edit
Last verified date Staff prefix / staff field A player-count plugin

When a streamer is also a server owner, that is two artefacts: a listing thread and a channel in the live-now list. Cross-link them. Do not merge them into one “community card” add-on unless you have seen that product survive a 2.3 upgrade.

Related products this article will not re-document

  • [8WR] XenRio — live-now directory + embed. Setup, platforms, and Kick notes: streaming article. We will not repeat version numbers here; they move.
  • Discord connected accounts, bots, [8WR] Discord — presence and roles, not game-query, not Twitch scrape. Discord + XenForo.
  • XFRM — official catalogue. Right when the listing is an artefact and discussion is optional. Wrong when players need to ask “can I join” under the card.
  • XenPorta / sliders — a homepage pattern. A slider of live thumbnails is how you wreck LCP. Portal + theme cookbook.
  • Historical Vertiforo Twitch widget — a sidebar “who is live” pattern, not a SKU you can buy here.

If a Resource Manager row is deleted (the old community Kick list plugin was), do not hunt mirrors. Deleted is a signal.

Cost and maintenance, compared

Stock directory Stock VOD Live-now add-on Game-query listing add-on
Cash $0 $0 RM licence (read the live page) RM licence
Secrets None None Twitch / YouTube / Kick developer apps Query tokens if any
2.3 risk Low Low (disable dead hosts) JS + API rewrites (Kick already did one) Query protocol churn
Staff time Verify listings; Offline prefix Moderate pasted URLs Channel allow-list; quota; “why is YouTube blank” Fail-state; “count is wrong”
Style tax Prefix CSS in child extra.less None Extra pages and widgets vs your parent Card CSS vs your parent

The premium-versus-custom article is the style TCO. Add-ons that inject pages will need a walk after every parent swap. Put them on the theme checklist.

A live-now add-on is not “set and forget.” Platform APIs change. YouTube quotas reset at midnight Pacific, not at your convenience. Kick required a rewrite onto its own API after a third-party endpoint era — that history is in the setup article. Budget a human.

Decision tree

  1. Is the artefact a room (IP, invite, connect string)? → Directory. Start stock. Stop if prefixes + fields answer the three questions (how do I join, what is it, is it still real).
  2. Is the artefact a person broadcasting now? → Live now. Stock cannot do it. Buy a maintained stream directory or accept a static page.
  3. Is the artefact a video that already exists? → VOD. Enable the media site. Stop.
  4. Are you about to put (1) and (2) in the same forum? → Do not. Two nodes, two widgets, one cross-link.
  5. Are you about to put a live player on /? → Do not.
  6. Is the real hangout Discord? → Build the Discord job. A stream scraper will not fill a silent forum.

If you are still unsure, ship the stock directory this week. A live-now plugin on a board with no rooms and no recap threads is a TV in an empty lobby.

Moderation queues, compared

Each job creates a different queue. Staff capacity is the hidden licence fee.

Job What arrives Cadence Tooling
Directory Fake rooms, expired invites, stolen banners, “96 slots” fiction Daily on a busy hub Prefix Offline / Unverified; staff-only Verified; a hidden staff forum for “this listing is a scam”
Live now Randoms in a scrape-all, offline channels that still embed last week, quota deaths Whenever the API lies Channel allow-list; game list; language filter; no Unregistered submit
VOD NSFW hosts, rickrolls, a Kick URL that is not a player Per post Enable only hosts you will moderate; media-site list is the gate

A directory without Verified/Offline is a classifieds wall. A live-now add-on without an allow-list is someone else’s Twitch front page. Stock VOD without a trimmed media-site list is an iframe CDN you did not pick.

Do not staff all three queues on day one. Ship the job you will actually walk every evening.

Embeds, privacy, and the first screen

Three products, three bounce stories:

  • Directory: you want a bounce — to the game client or the Discord invite. The forum’s job is the honest card.
  • Live now: the add-on’s pitch is no bounce — watch here. That is real, and it is how a homepage becomes an autoplaying rectangle that wrecks LCP. Player on /streams/ or in the thread. Index gets a count or a link.
  • VOD: bounce is optional. Stock embed in the recap thread is enough. A VOD library as XFRM is for downloadable files, not for YouTube links.

iOS and many desktop browsers block autoplay with sound. That is not a XenForo bug. Do not add a third-party “unmute” overlay that will break on the next Twitch embed change.

Privacy: a public scrape of “top Kick” puts strangers’ faces on your domain. A public directory of your Six residents is a community page. Say which one you shipped on the page itself so members do not file “why is this random on our forum.”

Worked comparisons

Minecraft hub, 80 listings, three staff. Stock directory. Prefix = mode or status. Fields = address, port, version, whitelist. A query add-on only after members prove they will treat a missing count as missing.

Fighting-game board, twelve regular streamers, YouTube VODs of brackets. Live-now add-on with a channel list, not scrape-all. VODs stay stock embeds in bracket threads. Homepage: a “live” count or a link, not a player.

FiveM roleplay, whitelist culture, Discord required to play. Directory thread + whitelist workflow + Discord invite field. Live-now only if you also have resident streamers. The Discord is not a server browser.

“We want to be like a server list website.” You want a query product or a different site. XenForo is a forum. It can wear a directory. It will not become BattleMetrics because you bought a card skin.

What this is not

It is not an install order, an ACP option-by-option for XenRio, or a prefix cookbook. Those are the two setup articles. It is not a ranking of every RM “server list” add-on. Products appear and get deleted; a ranked list would lie by next quarter. It is not a theme. A style will not query Steam.

If you already run both a listing forum and a streams page and they disagree, do not add a third widget. Pick the source of truth in the table above and delete the duplicate.

Takeaways

  • Directory, live now, and VOD are different jobs. Stock does 1 (well) and 3 (well). Stock does not do 2.
  • A listing plugin is for UI or game-query. A stream plugin is for platform APIs. They are not substitutes.
  • [8WR] XenRio and Discord products are related. They are not a FiveM browser.
  • Do not rewrite your setup: server listings and streaming already exist.
  • Fail empty. A stale “96 players” or a dead Kick plugin ZIP is worse than a thread field.

Name the job. Then open the setup article that matches it — or buy the add-on that actually does that job, and nothing else.