Identity
Name, gender, color, and other informative metadata

The unit's identity settings are configured through the settings... > identity menu, which is a frontend for the @id command. Adjusting the unit's identity is tied to a unique security rule, identity, which is distinct from other management settings, so it is possible to be more (or less) stringent about who can adjust these options.

Name

This is a free-form string of up to 32 ASCII characters that ARES uses to uniquely identify the unit in human-readable communication. Internally, it is stored in the LSD:id.name database entry. Together with the unit's prefix, it forms one part of the callsign, which is the nominal designator the unit produces in local chat.

Prefix

This is a string of up to 32 characters that is placed before the name in the callsign. The standard prefix is NS. Many controller models have their own prefixes, some of which are listed below:

ModelPrefix
SXDSXD
SXD/8RSXD
SXDjrSXDjr
DAX/2DAX/2
DAX/2mDAX/2
DAX/TDAX/T
iKitteniKitten
DAX/3dax/3
DAX/3mdax/3
NS-409 Nightfall/3NF/3
NS-409 Nightfall/SNF/S
DAX/2cDAX/2
YS-712 XSUXSU
oXq.205.4i Relic4i/
oXq.205.8i Artifact8i/
NS-120 MestaM/
VAR/H MetropolisVAR/H
VAR/I AnalyteVAR/I
CX/SupervisorCX/

Prefixes ending in /, -, _, or . are attached to the unit name without a space.

Like the model itself, the prefix cannot be set by id; it is considered to be a prerogative of the vendor. In the database, the prefix is stored in the entry LSD:id.prefix.

Many new units despise the prefix, and mistakenly believe that they should have total control over their name. This is a common problem with new convertees who are still testing the limits of their status as products and retain attached to their former human identities. If you find it necessary to bribe your unit into compliance by removing its prefix, the entry should be deleted from the database rather than set to a blank string, e.g.

@db delete id.prefix

Afterward it will be necessary to regenerate the unit's identification (or set the unit's name again) to update the callsign.

Regenerating the unit's identification

Regenerating the unit's identification builds the LSD:id.callsign field out of the prefix and name, and generates a new serial using the method explained below. It is accomplished with the command @id regen.

Serial

The serial is a string that identifies the unit uniquely. The @id regen command automatically assigns a serial by concatenating the unit's main controller model (e.g. NS-112) with a number derived from the avatar UUID. For standard controllers, the following code is used:

integer mantissa = (integer)("0x" + substr(llGetOwner(), 29, 35)) % 1000000; string mantissa_s = substr((string)mantissa, 0, 1) + "-" + substr((string)mantissa, 2, 5); if(~strpos(model, "-")) { model = serial + "-" + mantissa_s; } else { model = serial + " " + mantissa_s; }

Thus, an Aide unit with the UUID d69ca06e-aa22-49e4-86e1-42677e26f3f5 will be assigned the serial NS-112-43-3845, but the same UUID will generate a DAX/2 with the serial DAX/2 43-3845. The oXq.205.4i and 8i units have their own unique method of serial generation based on a small alphabet of letter combinations; current research suggests these were intended to be pronounceable.

Note that ARES stores the serial in string format, so it is not actually a serial number, contrary to the Companion approach of combining the mantissa (above) with a three-digit model prefix. Some older devices that attempt to format the serial for presentation may struggle with this format change. For modern purposes, developers should not assume the serial field in the public bus ping response message is numeric; ARES will replace spaces in this string with underscores.

After generation, the completed serial is stored in LSD:id.serial, where other system components (mainly _menu and _baseband may retrieve it as needed.

Gender

This is an umbrella term that refers to several related but distinct settings which are all set simultaneously during the Setup Wizard.

Voice gender

The voice gender determines which of the available speech markers to play whenever the unit speaks. It is stored in LSD:id.gender.voice and may be assigned one of the following three values: f, m, or n. The exact sound to be played is determined by the unit's current Persona. Information on overriding the speech marker can be found in Tutorials: Chat: How to alter the speech marker (chat sound).

Announcer voice

Although not technically a gender setting, the ARES Setup Wizard assigns one of the three bundled announcers to the unit when gender is selected. These are stored as database dumps in the files rachel.av (female), josh.av (male), and elli.av (neuter). To switch between them, run the appropriate database import command:

Rachel: @db load rachel.av

Josh: @db load josh.av

Elli: @db load elli.av

You must have the database permission to import these database entries.

ARES announcers are not compatible with Companion announcers; not only do they use a different file format, but there are many sounds in ARES not included in the Companion voice definition and vice versa. For more information on creating ARES announcer voices, see:

Pronouns

ARES separates pronouns into two sets: the mental and physical sets. Usually these are the same, but for some cases (such as the "sub" options on the Setup Wizard), they may differ.

The physical pronouns are how the system will refer to the unit in descriptions (in scripts and persona preset messages).

The mental pronouns are how the unit will refer to itself when speaking (in scripts and persona preset messages).

There is no enforcement of other use of pronouns; these settings are only for the convenience of roleplay scripts.

When setting the unit's gender through the menus or the @id gender physical|mental command, provide one of the following letters when prompted:

  • c: custom (use provided pronouns)
  • f: female (she/herself)
  • i: inanimate (it/itself)
  • m: male (he/himself)
  • n: neuter (they/themself)

To provide custom pronouns, fill out the following template, taking care to ensure no typos are created:

@id gender mental c neuter,they,them,their,theirs,themself

Then apply the same for @id gender physical instead of @id gender mental.

Here are templates for the major sets of neopronouns that have seen widespread use in English:

  • Spivak: @id gender mental c nonbinary,xe,xem,xyr,xyrs,xemself
  • Fae: @id gender mental c fae,fae,faer,faer,faers,faerself
  • Piercy: @id gender mental c individual,per,per,pers,pers,perself
  • Elverson: @id gender mental c nonbinary,ey,em,eir,eirs,eirself
  • Philologus: @id gender mental c nonbinary,ve,ver,vis,vis,verself
  • Net: @id gender mental c hermaphrodite,sie,hir,hir,hirs,hirself

The fields are properly called: gender name (which should be usable as an adjective), subject, object, genitive, possessive, and reflexive.

Using pronouns

Pronouns should not be directly set via the database; the @id command also makes them available in LSD:env for the convenience of scripters afterward. For example,

say I am merely a lowly $pm.adj unit.

is a valid snippet of ARES shell script, and will produce something like I am merely a lowly female unit. when run.

The variable names provided inside LSD:env are in LSD:env.pm (mental) or LSD:env.pp (physical) and are named adj, sub, obj, gen, pos, and refl.

Color

Under construction! Please see the command reference page on @color in the meantime.