A ship number is the identifier assigned to one of a player's persistent ships. It belongs to the player's ship record, not to the temporary slot currently used to run that ship in memory.

Assignment

A user record keeps topshipno, the highest number assigned to that player so far. Creating another ship increments that counter and places the new number in the ship record's shipno field. The database identifies a persistent ship by its owner together with this ship number. The number is therefore scoped to that user's ships: different users can each have a ship number 1.

Fleet selection

The ship-selection routine lists a player's stored ships in ship-number order. It gives the visible entries consecutive menu choices and keeps the corresponding shipno for loading the selected record. Thus a menu choice is not necessarily the ship's persistent number. If ships numbered 1 and 2 are gone but numbers 3 and 5 remain, those surviving ships can appear as choices 1 and 2; selecting choice 2 loads ship number 5. A newly created ship receives a new number rather than filling a gap, keeping the ship selection list in the order of when the ships were first acquired. Classic lists all owned ships at once; ge-next paginates the menu, restarting the displayed choices at 1 on each page. See Classic bug: Ship-selection output overflow for why pagination was needed.

Not a ship slot

The Ship slot is a reusable in-memory position for a currently active user or NPC. A player may leave and re-enter while retaining the same persistent ship number but using a different live slot. Scan letters are another distinct identifier: Scantab maps a player's temporary letters to current slots.

ge-arena does not retain ordinary persistent ship records between matches, so its temporary arena ships should not be interpreted as a user's numbered fleet.

See also