Skip to content

INFO and VERSION are typed at games that will never answer them, every crawl, for ever #182

Description

@HarryCordewener

MsspSelfDescription.AnswersTheLoginCommands is the only thing that stops the probe typing
INFO and VERSION at a login prompt, and it is satisfied only by an MSSP report carrying a
meaningful NAME, a CODEBASE naming an engine LoginCommandReading knows, and a count. A game
with no MSSP at all can never satisfy it, so it is typed at on every crawl, for ever.

That is the shape #22 opened the door to and
playdecay.com:3003 closed half of. The other half is still open, and it is not rare — a whole
family of Taiwanese/Chinese MudOS and ES2 games negotiates nothing, publishes no MSSP, and reads
every line we send as a character name.

Measured

fs.twkang.net:5555 (Fantasy Space / 狂想空間), 2026-09-17, via mui-probe:

who      → 好吧﹐那麼請重新輸入您的英文名字﹕      ("alright, re-enter your English name")
info     → 好吧﹐那麼請重新輸入您的英文名字﹕
version  → 使用 version 這個名字將會創造一個新的人物﹐您確定嗎(y/n)﹖
            ("using the name 'version' will create a new character — are you sure (y/n)?")

Every crawl, reproducibly, and one y away from creating characters on somebody's game. The same
three siblings behave identically: 210.59.236.38:7788, es.clovers.tw:8000, us.muds.net:4000
— all negotiated (none observed), all mssp NotOffered, all answering nothing readable.

The thing worth thinking about

A codebase that does not answer INFO or VERSION today almost certainly never will. The
current gate re-tests that every thirty minutes against a server whose answer has not changed
since 1995. The decision wants to be learned from this game's own history rather than re-derived
from one session — which is a different shape from the MSSP gate, because it needs the crawler to
carry something forward rather than read it off the wire.

Things to weigh:

  • What counts as "it answered". LoginCommandReading.MeaningfulCodebase already judges the
    reply; a run of replies it would not stand behind is the evidence. How long a run, and does a
    reply that is not a name prompt (a plain Huh?) count differently from one that is?
  • A banner-declared codebase is not considered at all. These games state MudOS v22pre11 on
    the connect screen and CodebaseCredits already reads it — the site shows codebase MudOS (banner) for Fantasy Space. MsspSelfDescription does not look at it, by design (a banner is
    bytes anyone can paste, per MuLikeness). Whether that reasoning should hold for suppressing a
    command
    as opposed to publishing a fact is the question, and they are not obviously the same.
  • Recognising that our input was eaten as a character name is a measurable in-session signal
    and would stop VERSION after INFO came back as a name prompt, without any history at all.
    Narrower than a learned gate, and complementary to it.
  • Rule 5 applies to whatever is built. Not asking must not be recorded as the game having
    answered nothing — the who_not_offered lesson, where our own restraint was written down as
    the game answers no pre-login WHO. Whatever replaces the ask has to leave the record saying we
    did not ask.

Related

WHO at these same games is handled separately — the connect-screen count now buys the silence
there (the ES2 sentence 目前共有 0 位巫師、83 位玩家在線上 and its variants are read by
BannerCount), and PublishedCountAsync's "not asking must imply publishing" invariant is what
keeps that honest. INFO/VERSION have no equivalent, because there is nothing they would
publish.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions