The MAL number

Get in touch with the author clicking here
Pablo Edronkin

Suggested Readings

Towards Interstellar Exploration

Related Products And Services

Cosmic Cat - A cosmic, free game

Green Energy

Free games

Sports info and betting

Independent funding for a free lifestyle

The MAL number is used by Stargate, the navigation system designed for the Nerkabtu simulator; it is used to univocally identify any object instantiation, celestial body, etc. that intervenes or is generated during simulation.

MAL stands for "Multiverse Address Locator"; this means that the MAL numbering system has been created in order to allow the navigation system to deal with objects in simulations comprising parallel universes or realities.

MAL numbers are obtained using the primary keys of files of the relational database used by the navigation system. MALs are not primary keys themselves, which are purely numerical; instead, MAL numbers are derived from those numbers in order to form C++ strings comprising three alphabetical character plus ten numerical digits combined in one string like:


The numbers are obtained directly from the value of the numerical keys assigned to each database record. Characters are determined by the kind of object identified by the MAL; the system assigns the following strings:

Dsc: used to identify all objects contained in file catalog_dsc; this file contains information imported from Celestia's .dsc files, usually galaxies and nebulae. The Stargate system, upon installation and configuration of database info, always assumes the Milky Way to be its absolute reference by assigning this galaxy the MAL number dsc0000000001.

Stc: Used to identify information imported from Celestia .stc files into catalog_stc, plus the produce of importing some .dat files that are also included into the same database file. Stargate imports binary information from some of Celestia's .dat files using an intermediate format called .stg. An stg file is essentially the same as an .stc file, but containing exclusively information coming from binary files, translated into a text format. File catalog_stc contains essentially records related to stars and barycentres. A typical example of this category would be a MAL number like stc0000106868.

Ssc: These letters are used in MAL numbers used to identify records contained in database file catalog_ssc; these records represent solar system objects of various kinds, such as planets, asteroids, comets, etc.

Scn: Used to identify Orbiter scenarios contained in file catalog_scn. Stargate also imports orbiter .scn files and translates their information into database records, plus, it creates new ones based on those that have been imported and the information contained in other database files.

Shp: Used to identify Orbiter ships in each scenario, as defined between the BEGIN_SHIPS and END_SHIPS brackets. For each scenario, the intervening ships are defined by information contained in file catalog_shp. This allows, thorough several mechanisms, for the representation of dynamic space traffic among scenarios. The ship being used to perform the actual FTL jumps using the Stargate system also receives its own MAL number, such as shp0000000100.

In the source code of the Stargate system - written in a combination of C++ and SQL - MAL number values are contained by variables such as MAL_NUMBER, MAL_NUMBER2, PROGRAM_MAL_NUMBER and MAL_POINTER. Thus, it is important to stress a few key concepts about MAL numbers:

MAL numbers are never assigned by the user; instead, they are generated by the system and are not repeatable. That is, two objects cannot share the same MAL; some objects have MAL numbers that are static, while others have numbers that could change quickly.

The variability of a MAL number comes from the fact that these are actually pointers, and not serial numbers. MALs are used to univocally identify objects that naturally fall within a top-down structure (i.e. the universe has galaxies containing solar systems, which in turn contain planets and so on). Since MAL numbers identify objects, they also identify objects from which other objects depend, so, the record of a planet in catalog_ssc will contain a MAL number that will identify that planet, plus, another MAL number - called MAL pointer when it fulfils such a task - pointing to the record that defines the star where it orbits around. A moon will contain a MAL pointer to the planet to which it is a satellite. All galaxies defined in catalog_dsc have MAL pointers that lead to the absolute reference, that, is the Milky Way.

MAL numbers are assigned in the case of dsc, stc and ssc objects during the import process. This means that their MAL numbers are maintained during their existence, until a new import from Celestia files is performed. Since the MAL numbers are assigned on a first-come-first-served base, if there is any sort of alteration in Celestia's files, the order in which each text line is parsed and interpreted could change and thus, the assignation of MAL numbers could also be different.

Quick Search


Related Web Pages

Andinia's Forum

Reprint and linking guidelines


Articles Directory Shop Forum

Outdoor sports, adventure, nature and exploration at