Skip to main content

Database

XDEV Appearance supports both:

  • fresh database installations
  • existing appearance databases

The system was designed to extend existing structures instead of forcing complete database replacements.


Database Philosophy

The resource internally uses the XDEV appearance structure.

However, compatibility support allows:

  • reading external appearance data
  • converting external formats
  • extending existing SQL tables
  • supporting hybrid save structures

This is primarily used for Illenium compatibility workflows.


Supported Tables

The resource uses:

playerskins
player_outfits
player_outfit_codes

playerskins

Main player appearance storage table.

Stores:

  • model
  • skin
  • tattoos
  • ped data
  • active state

Example structure:

CREATE TABLE `playerskins` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`citizenid` VARCHAR(255) NOT NULL,
`model` VARCHAR(255) NOT NULL,
`skin` TEXT NOT NULL,
`tattoo` TEXT NOT NULL,
`peddata` TEXT NOT NULL,
`active` LONGTEXT NOT NULL DEFAULT 'false',
PRIMARY KEY (`id`)
)

Important Fields

model

Stores the ped model.

Examples:

mp_m_freemode_01
mp_f_freemode_01

Custom ped hashes may also be used.


skin

Stores the main appearance structure.

Contains:

  • clothing
  • face data
  • overlays
  • hair
  • props
  • components

The structure depends on the configured save format.


tattoo

Stores tattoo data separately.

This allows:

  • independent tattoo loading
  • compatibility conversion
  • tattoo refresh rebuilding

peddata

Stores custom ped component information.

Used primarily for:

  • non-freemode peds
  • addon peds
  • custom ped synchronization

Illenium Appearance does not normally use this field.

XDEV automatically extends the table if the column is missing.


active

Used for active skin tracking.

Normally contains:

true
false

player_outfits

Stores saved outfits.

Supports both:

  • XDEV outfit structure
  • Illenium-compatible outfit structure

Supported Outfit Data

XDEV structure:

skin
outfitId

Illenium-compatible structure:

props
components

The system supports hybrid usage.


Outfit Compatibility

If the server previously used Illenium Appearance:

  • missing columns are automatically added
  • existing outfits remain usable
  • compatibility conversion remains possible

player_outfit_codes

Stores outfit sharing codes.

Used for:

  • outfit code systems
  • outfit importing
  • outfit sharing workflows

Example:

CREATE TABLE `player_outfit_codes` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`outfitid` INT(11) NOT NULL,
`code` VARCHAR(50) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
)

Automatic SQL Extension

The installer automatically checks for missing columns.

If required, the system adds:

tattoo
peddata
active
props
components
outfitId

This allows existing databases to continue functioning without full resets.


Illenium Compatibility

When compatibility mode is enabled:

  • XDEV reads Illenium-compatible structures
  • data is converted internally
  • the resource continues using the XDEV workflow internally

This allows seamless migration between systems.


Recommended Database Settings

Recommended collation:

utf8mb4_general_ci

Recommended engine:

InnoDB