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.
- 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.