Daemons, or system services, are a group of ARES programs that provide essential functions. Daemons are located in ring 2 (also known variously as the system services partition, daemon memory, etc.) and, unlike other programs, have fixed process identification (PID) numbers.

Daemons are an example of sleepless programs that are allowed to continue running at all times, unlike typical application programs. Programs are typically implemented in the sleepless style if they need a high-performance event handler, such as a timer, a sensor, a dataserver event handler, or an external listener. The main purpose of a daemon is to provide these facilities to other, non-sleepless scripts; since daemons have a fixed PID and reside in a separated memory partition, user programs can dispatch requests to them in a single chat message, without having to go through the kernel.

The list of currently installed daemons can be obtained with the @proc daemons command, which returns information in a format similar to @proc detail (better known as the @ps alias).

ServicePIDInternal Channel†FunctionProduct
baseband2C_BASEBAND (0x7a002002)miscellaneous network services, local and remote commands, ACS protocol, parsing Stargate telemetryARES
effector7C_EFFECTOR (0x7a002007)extended RLVa restriction enforcement and integration, interference, cortex bypass commandsARES
hardware4C_HARDWARE (0x7a002004)light bus protocolARES
interface5C_INTERFACE (0x7a002005)compass, altitude, speedometer, crosshair, general HUD layout, target/destination tracking, UI refresh dispatchARES
io3C_IO (0x7a002003)text streams, chat channel listeners, chat channel transmissionARES
repair8C_REPAIR (0x7a002008)overall integrity, repair, shield, ammo counterARES
sexuality10C_SEXUALITY (0x7a00200a)sexual arousal, cryolubricant managementSexuality (TESI)
status1C_STATUS (0x7a002001)battery level, heat management, gauge displayARES
variatype6C_VARIATYPE (0x7a002006)display of VariaType text, local menus, alertsARES
warrior9C_WARRIOR (0x7a002009)area damage, paper doll OSD, weapon switcher, hardware malfunctionsWARRIOR

† This channel number is only valid when calling from the kernel or from user memory, and is derived from the ring number (0x2000) and the PID. In general the ARES internal API provides macros to do this automatically. If control via external devices is possible at all, facilities for doing so are described in the individual daemons' documentation.