<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://manicpop.org/gewiki/index.php?action=history&amp;feed=atom&amp;title=Roster_command</id>
	<title>Roster command - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://manicpop.org/gewiki/index.php?action=history&amp;feed=atom&amp;title=Roster_command"/>
	<link rel="alternate" type="text/html" href="https://manicpop.org/gewiki/index.php?title=Roster_command&amp;action=history"/>
	<updated>2026-10-20T14:41:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manicpop.org/gewiki/index.php?title=Roster_command&amp;diff=2168&amp;oldid=prev</id>
		<title>Manicpop at 18:11, 18 October 2026</title>
		<link rel="alternate" type="text/html" href="https://manicpop.org/gewiki/index.php?title=Roster_command&amp;diff=2168&amp;oldid=prev"/>
		<updated>2026-10-18T18:11:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;ROSTER&amp;#039;&amp;#039;&amp;#039; command displays Galactic Empire&amp;#039;s persistent player rankings. The abbreviation &amp;lt;code&amp;gt;ROS&amp;lt;/code&amp;gt; also works because commands are recognized by their first three letters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ROSTER&lt;br /&gt;
ROSTER ALL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both classic GE and ge-next rank the normal game roster by total score, but the information displayed and the behavior of &amp;lt;code&amp;gt;ALL&amp;lt;/code&amp;gt; differ.&lt;br /&gt;
&lt;br /&gt;
== Ordering and limits ==&lt;br /&gt;
&lt;br /&gt;
The roster walks the player database&amp;#039;s [[Btrieve]] score key from highest to lowest; it does not sort a list in game memory. Combat points can change a player&amp;#039;s position immediately, while planetary points are recalculated at [[Game execution flow#Midnight routine|midnight cleanup]]. See [[Scoring and rosters]] for how those points are earned and combined.&lt;br /&gt;
&lt;br /&gt;
The configured &amp;lt;code&amp;gt;MAXLIST&amp;lt;/code&amp;gt; option controls how many ranked entries an ordinary &amp;lt;code&amp;gt;ROSTER&amp;lt;/code&amp;gt; request displays; its default is 10 and its allowed range is 3 through 50.&lt;br /&gt;
&lt;br /&gt;
== Classic Galactic Empire ==&lt;br /&gt;
&lt;br /&gt;
=== Normal roster ===&lt;br /&gt;
&lt;br /&gt;
Classic GE displays these columns:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Column&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Player&lt;br /&gt;
| The player&amp;#039;s user ID.&lt;br /&gt;
|-&lt;br /&gt;
| Score&lt;br /&gt;
| The player&amp;#039;s total score.&lt;br /&gt;
|-&lt;br /&gt;
| Kills&lt;br /&gt;
| The player&amp;#039;s total registered kills.&lt;br /&gt;
|-&lt;br /&gt;
| Pl&lt;br /&gt;
| Number of planets owned according to the user record.&lt;br /&gt;
|-&lt;br /&gt;
| Empire Sz&lt;br /&gt;
| Total empire population, scaled into millions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Only records with a score greater than zero are printed. The security record and records whose user IDs begin with &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt; are excluded. The &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt; records belong to NPC Cybertron ships (for example, &amp;lt;code&amp;gt;@Cybrg-&amp;lt;/code&amp;gt; IDs), not human players, so they do not belong on a player roster.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== The broken ALL behavior ===&lt;br /&gt;
&lt;br /&gt;
Classic help describes &amp;lt;code&amp;gt;ROSTER ALL&amp;lt;/code&amp;gt; as displaying all players, but that is not what the implementation does. The command changes the maximum traversal count from &amp;lt;code&amp;gt;MAXLIST&amp;lt;/code&amp;gt; to 200, yet it leaves the normal &amp;lt;code&amp;gt;score &amp;gt; 0&amp;lt;/code&amp;gt; test in place.&lt;br /&gt;
&lt;br /&gt;
Consequently:&lt;br /&gt;
&lt;br /&gt;
* zero-score users still do not appear;&lt;br /&gt;
* if the game has more scored users than &amp;lt;code&amp;gt;MAXLIST&amp;lt;/code&amp;gt;, more of those scored users can be displayed;&lt;br /&gt;
* at most 200 printed records are returned;&lt;br /&gt;
* the heading still says &amp;lt;code&amp;gt;Top MAXLIST Roster List&amp;lt;/code&amp;gt;, even when more than that number may follow.&lt;br /&gt;
&lt;br /&gt;
Thus, classic &amp;lt;code&amp;gt;ROSTER ALL&amp;lt;/code&amp;gt; is better understood as an extended scored roster, not a complete player list.&lt;br /&gt;
&lt;br /&gt;
=== Saved roster position ===&lt;br /&gt;
&lt;br /&gt;
Classic does not print the caller&amp;#039;s rank after &amp;lt;code&amp;gt;ROSTER&amp;lt;/code&amp;gt;. [[Report command|&amp;lt;code&amp;gt;REPORT SYS&amp;lt;/code&amp;gt;]] can show &amp;lt;code&amp;gt;Ros Pos&amp;lt;/code&amp;gt;, 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 [[Scoring and rosters#Classic 3.2e|classic scoring]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ge-next ==&lt;br /&gt;
&lt;br /&gt;
=== Displayed fields ===&lt;br /&gt;
&lt;br /&gt;
The standard ge-next roster displays:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Column&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Player&lt;br /&gt;
| The player&amp;#039;s user ID.&lt;br /&gt;
|-&lt;br /&gt;
| Score&lt;br /&gt;
| Total persistent score, displayed as an unsigned value.&lt;br /&gt;
|-&lt;br /&gt;
| Kills&lt;br /&gt;
| All registered kills credited to the player.&lt;br /&gt;
|-&lt;br /&gt;
| Users&lt;br /&gt;
| Kills against other user-controlled ships.&lt;br /&gt;
|-&lt;br /&gt;
| Pla&lt;br /&gt;
| Current number of owned planets.&lt;br /&gt;
|-&lt;br /&gt;
| Empire Size&lt;br /&gt;
| Total empire population, scaled into millions.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== ROSTER and ROSTER ALL ===&lt;br /&gt;
&lt;br /&gt;
In ge-next, the two forms have distinct meanings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command&lt;br /&gt;
! Behavior&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ROSTER&amp;lt;/code&amp;gt;&lt;br /&gt;
| Displays up to &amp;lt;code&amp;gt;MAXLIST&amp;lt;/code&amp;gt; users whose score is greater than zero. The heading identifies it as the top roster list.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ROSTER ALL&amp;lt;/code&amp;gt;&lt;br /&gt;
| Includes zero-score user records and identifies the output as the complete roster list. The implementation has a 200-record ceiling.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Records beginning with &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt;, which represent NPCs rather than ordinary players, remain hidden.&lt;br /&gt;
&lt;br /&gt;
The correction to &amp;lt;code&amp;gt;ROSTER ALL&amp;lt;/code&amp;gt; and the safer fixed-width roster layout were introduced in ge-next 0.1.&lt;br /&gt;
&lt;br /&gt;
=== Current rank ===&lt;br /&gt;
&lt;br /&gt;
After listing the roster, ge-next reports the caller&amp;#039;s position when that user is included:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
You are #3 on the roster!&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command finds the caller&amp;#039;s actual Btrieve record and determines its position while traversing the current score index. It does not depend on classic&amp;#039;s once-per-night &amp;lt;code&amp;gt;rospos&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
=== Nightly text export ===&lt;br /&gt;
&lt;br /&gt;
ge-next can export the top roster to &amp;lt;code&amp;gt;MPOGEROS.TXT&amp;lt;/code&amp;gt; during nightly cleanup. The &amp;lt;code&amp;gt;GEROSTXT&amp;lt;/code&amp;gt; setting in &amp;lt;code&amp;gt;MPOGEMSG.MSG&amp;lt;/code&amp;gt; controls this behavior and is enabled by default. The export uses the configured &amp;lt;code&amp;gt;MAXLIST&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Classic GE does not provide this roster text-file export.&lt;br /&gt;
&lt;br /&gt;
== Very large scores ==&lt;br /&gt;
&lt;br /&gt;
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 [[Scoring and rosters#Score index and large totals|Score index and large totals]] for the storage distinction.&lt;br /&gt;
&lt;br /&gt;
== ge-arena ==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* total wins;&lt;br /&gt;
* Battle wins;&lt;br /&gt;
* Hoard wins;&lt;br /&gt;
* King wins;&lt;br /&gt;
* Base wins;&lt;br /&gt;
* Scored wins.&lt;br /&gt;
&lt;br /&gt;
The total is recomputed from the per-mode win counters, stored as the record&amp;#039;s score key, and used to order the roster. Live scores and standings within the current match are shown by the arena &amp;lt;code&amp;gt;STATUS&amp;lt;/code&amp;gt; command instead. When enabled, the arena nightly export is written to &amp;lt;code&amp;gt;MPOGAROS.TXT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[MBMGEHLP.MSG#HELP_ROSTER|Classic HELP ROSTER]]&lt;br /&gt;
* [[Scoring and rosters]]&lt;br /&gt;
* [[Report command]]&lt;br /&gt;
* [[Classic bug: Cash and counter wraparound]]&lt;br /&gt;
&lt;br /&gt;
{{GE navigation}}&lt;br /&gt;
[[Category:Commands]]&lt;br /&gt;
[[Category:Scoring]]&lt;/div&gt;</summary>
		<author><name>Manicpop</name></author>
	</entry>
</feed>