mu*index
reading
theme
ABOUT MU*INDEX

Every game here was measured by the crawler, and every value says where it came
from and when. This page covers what we gather, its limits, what we won't do,
and how to make the crawler stop.

What a fact here is

  Measured beats declared, and both are shown. A game's MSSP report is the game
  describing itself. The telnet handshake is what we watched it do. Both appear
  on its page, labelled with how and when. Where they disagree, we show the
  disagreement.

  A player count says where it came from. Either a WHO or DOING read at the
  connect screen, which we counted, or the game's own MSSP PLAYERS field, which
  it published. Never merged.

  Only a completed read can be a zero. Anything else is unknown. Servers
  customise their WHO headers freely, and past a point our parser cannot read
  one. That is uncountable, its own state. A measured zero — we got in, nobody
  was there — is a count, and prints as one.

  We call this reachable. We never call it uptime. We open a socket from one
  host at intervals. A game we cannot route to is unreachable and perfectly
  alive. Nothing here claims a game's uptime, because nothing here measured it.

  An hour is counted, uncountable, or not measured. The activity grid has three
  states. The third is empty and names no cause: an hour we could not reach and
  an hour we never probed are the same absence, and neither is that server's
  downtime.

How we gather and adjust data

  Archive grace is measured from the day we found you. A game that stops
  answering leaves the default listing after its grace period: a quarter of the
  reachable time we probed, floored at 60 days and capped at 365. A game running
  since 1995 starts at the floor on the day we discover it. We import nothing to
  fill in the years before we arrived.

  We do not credit MSSP CREATED toward that grace. It is one hand-typed line in
  a config file, so crediting it would make the archive threshold gameable. We
  also can't guess at its format.

  Claiming a game earns the ceiling. Proving server access is worth the full
  year of archival grace.

  Nothing is ever deleted. Archiving takes a game out of the default listing,
  the rankings and the active-today figure, and nothing else. Its page, URL,
  history and address survive, it keeps being probed, and one successful probe
  puts it back.

What this site will not do

  No votes, stars, ratings or recommendations. Rankings are computed from
  measured data only.

  No forums, reviews, wikis, comments or player profiles. We aim to only provide
  data and information.

  Player names are never persisted. A WHO reply is parsed in memory for a count
  or other sources, and counted. Self-published MSSP values are the exception to
  this rule.

The crawler, and how to make it stop

  A probe is one connection that never logs in. It opens a socket, negotiates
  telnet options, reads the connect screen, asks for MSSP by negotiating option
  70, sends WHO, INFO, VERSION, and disconnects. No character, no login, nothing
  changed on the far side. A timeout bounds the session so a wedged probe cannot
  sit on a connection slot.

  CRAWL DELAY wins. A game that states a preferred minimum gap in its MSSP
  report is heeded. A dark game is still tried for ever at the longer interval,
  which is how it re-lists itself when it comes back.

  We check where REFERRAL points. MSSP lets a game name other games. We use the
  endpoint as the source of truth however.

  Connect screens are shown because they are sent to everybody. Claiming a game
  gives its owner the option to stop it being shown.

  Say stop, and we stop — three ways. Publish MUINDEX OPT-OUT 1 in your MSSP
  report, and the probe that reads it is the last one. Or publish a TXT record
  at _muindex.your.host reading "opt-out", which needs no MSSP support and no
  account here. Or write to a person. All three are honoured within one crawl
  cycle, recorded with the date and what we read, and enforced on the submission
  form too.

  The MSSP field stops that listener; the record stops the host. MSSP is
  published by the port that answered, so it speaks for that port — MU* hosting
  routinely runs unrelated games on one domain, and one must not silence its
  neighbour. A TXT record covers every port unless it names one, as
  "opt-out=4201". Anything there we cannot read as a port list means the whole
  host, so "opt-out=all" works.

  The DNS route is the one you can undo without asking us. A TXT record is
  readable without connecting to a server that told us not to, so we re-read it
  before every dial. Delete it and we dial again within a week. An MSSP field
  cannot be re-read without doing the thing you asked us to stop, so MSSP
  opt-outs and written requests stand until you say otherwise. That TXT lookup
  is all an opted-out address gets: it touches your nameserver, never your game.

  Stopping is not deleting, and it is not downtime. A game that opts out keeps
  its page, its address and everything we measured before it asked. Only new
  data stops: the activity grid stops gaining hours and names no cause, because
  our decision to stop knocking is a fact about us. It is recorded on the crawl
  that did not happen, and in the register of who asked.

  If stopping is not enough, the listing can go too. Once we have stopped on
  every address your game answers on, your dashboard offers one more thing: take
  it out of the listing, the rankings and the daily figure. The page and every
  address it has ever had still answer, and nothing is deleted — it stops being
  somewhere a reader arrives by browsing. It needs a verified claim, because it
  is a decision about your game and we record who made it. And a probe undoes
  it: take your opt-out back, and the next dial that gets an answer puts you
  back in the listing without asking us twice.

  The crawler names itself MUINDEX-CRAWLER when a server asks what it is.

  Crawler: MUINDEX-CRAWLER
  Contact: https://mu-index.com/crawler

What we read

  Two places tell us games exist. Both are read on a schedule, with permission,
  and both are credited below. The rest reach us another way: another game's
  list naming one, somebody submitting one, or this site's own configured list.

  What they tell us is labelled as theirs. A name or a genre one of them holds
  is shown as something that source says, never as something we measured — and
  where our own probe disagrees, the disagreement is what you see.

  AresCentral — The AresMUSH community's own hub. Its maintainer issued us API
  credentials, and we read its games list hourly: the addresses, and what each
  game says about itself there.
  https://arescentral.aresmush.com/

  Intermud-3 — A network many LP-family games are joined to. We take its list of
  addresses, and ask the games that answer how many people are connected.
  https://www.intermud.org/