Roster command

Revision as of 14:11, 18 October 2026 by Manicpop (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The ROSTER command displays Galactic Empire's persistent player rankings. The abbreviation ROS also works because commands are recognized by their first three letters.

ROSTER
ROSTER ALL

Both classic GE and ge-next rank the normal game roster by total score, but the information displayed and the behavior of ALL differ.

Ordering and limits

The roster walks the player database's Btrieve score key from highest to lowest; it does not sort a list in game memory. Combat points can change a player's position immediately, while planetary points are recalculated at midnight cleanup. See Scoring and rosters for how those points are earned and combined.

The configured MAXLIST option controls how many ranked entries an ordinary ROSTER request displays; its default is 10 and its allowed range is 3 through 50.

Classic Galactic Empire

Normal roster

Classic GE displays these columns:

Column Meaning
Player The player's user ID.
Score The player's total score.
Kills The player's total registered kills.
Pl Number of planets owned according to the user record.
Empire Sz Total empire population, scaled into millions.

Only records with a score greater than zero are printed. The security record and records whose user IDs begin with @ are excluded. The @ records belong to NPC Cybertron ships (for example, @Cybrg- IDs), not human players, so they do not belong on a player roster.

Classic has separate layouts for terminals narrower than 60 columns and for wider terminals. The narrow form splits each player across two lines. The wide form places the fields on one line.

The broken ALL behavior

Classic help describes ROSTER ALL as displaying all players, but that is not what the implementation does. The command changes the maximum traversal count from MAXLIST to 200, yet it leaves the normal score > 0 test in place.

Consequently:

  • zero-score users still do not appear;
  • if the game has more scored users than MAXLIST, more of those scored users can be displayed;
  • at most 200 printed records are returned;
  • the heading still says Top MAXLIST Roster List, even when more than that number may follow.

Thus, classic ROSTER ALL is better understood as an extended scored roster, not a complete player list.

Saved roster position

Classic does not print the caller's rank after ROSTER. REPORT SYS can show Ros Pos, but this value is saved during nightly cleanup and may be stale after scores change. Classic also uses that saved position for its combat bonus; see classic scoring.


ge-next

Displayed fields

The standard ge-next roster displays:

Column Meaning
Player The player's user ID.
Score Total persistent score, displayed as an unsigned value.
Kills All registered kills credited to the player.
Users Kills against other user-controlled ships.
Pla Current number of owned planets.
Empire Size Total empire population, scaled into millions.

User-on-user kills are tracked separately in ge-next, allowing the roster to show both total kills and user kills. The rows and headings use one bounded layout rather than allowing large population values to push later columns out of alignment.

The owned-planet count is updated when a planet is added, abandoned, captured, or lost to revolt. Players therefore do not have to wait for nightly cleanup before the roster reflects a changed planet total.

ROSTER and ROSTER ALL

In ge-next, the two forms have distinct meanings:

Command Behavior
ROSTER Displays up to MAXLIST users whose score is greater than zero. The heading identifies it as the top roster list.
ROSTER ALL Includes zero-score user records and identifies the output as the complete roster list. The implementation has a 200-record ceiling.

Records beginning with @, which represent NPCs rather than ordinary players, remain hidden.

The correction to ROSTER ALL and the safer fixed-width roster layout were introduced in ge-next 0.1.

Current rank

After listing the roster, ge-next reports the caller's position when that user is included:

You are #3 on the roster!

The command finds the caller's actual Btrieve record and determines its position while traversing the current score index. It does not depend on classic's once-per-night rospos snapshot. This live rank reporting was added in ge-next 0.3; the obsolete roster-position field was removed when the user record was restructured.

Nightly text export

ge-next can export the top roster to MPOGEROS.TXT during nightly cleanup. The GEROSTXT setting in MPOGEMSG.MSG controls this behavior and is enabled by default. The export uses the configured MAXLIST limit and the same columns as the in-game top roster, allowing a sysop to publish or process standings outside the game without scraping terminal output.

Classic GE does not provide this roster text-file export.

Very large scores

Classic can display a score above 2,147,483,647 as negative, and its signed Btrieve score key sorts that value below smaller positive scores. ge-next fixes the numeric display but scores will still show in Btrieve order, with the ones over 2.1B underneath the others. A user ever reaching that score through ordinary play is extremely unlikely, so ge-next does not add a special workaround for the remaining ordering edge case. See Score index and large totals for the storage distinction.

ge-arena

ge-arena gives the same command a different scoring role. Persistent roster score is the total number of credited match wins rather than ordinary GE economic and combat score. Its roster displays:

  • total wins;
  • Battle wins;
  • Hoard wins;
  • King wins;
  • Base wins;
  • Scored wins.

The total is recomputed from the per-mode win counters, stored as the record's score key, and used to order the roster. Live scores and standings within the current match are shown by the arena STATUS command instead. When enabled, the arena nightly export is written to MPOGAROS.TXT.

See also