A MMORPG client such as the Mana client needs manage a lot of data. Mana tries to remain flexible, but easy to use, for server maintainers to make and maintain client data.

Data locations

Mana will load data from several places. Each has it’s own purpose. Depending on the operating system, the Mana client won’t locate its data in the same place, here is where each data type is stored, depending on the main supported OSes. ‘%appShort%’ is a branding value (of the same name, taken from the branding file, if provided) used to provide branding-specific locations for certain settings.

Path type Operating System
::: Linux and Posix Mac Windows

Loading order

Client data is loaded from several sources into PhysFS. When the client is started, the following folders are added in order (later takes precedence): - application installation path - run/working directory - -d/–data from ‘command line’ options

After the client logs in to a server and updates are loaded, the following data sources are loaded: - updates files - custom data in the config/%appShort%/customData folder (zip files only; order undetermined)

Required data

The client requires that several pieces of data are in specific locations. Some is distributed with the client, others need to be provided by branding or updates. Data included with the client sources:

Folder Description
fonts Font files.
graphics/gui Default GUI theme (gray).
graphics/images error.png and wallpaper.
help Help files.
icons Icons files. Different formats are provided for different OSes.

The following files and folders are required by the client but not included with the client sources (as they are world-specific). Subfolders for files not listed are usable and recommended. The file types given are the types that need to go in the folders (ex: images for sprites can be anywhere, but their XML needs to be in graphics/sprites). The table:

Item Description
graphics/
graphics/items Item icons (images).
graphics/minimaps Minimap backup folder (images). Used when a map doesn’t specify a minimap. File names taken from full map names (maps/a/b/c.tmx becomes graphics/minimaps/a/b/c.png).
graphics/particles Particle effects (xml).
graphics/particles/levelup.particle.xml Level up effect for the Mana server.
graphics/particles/warparea.particle.xml Warp/portal effect. Only used for warps in the TMX file.
graphics/sprites Sprites, status effect icons, emotes (all xml).
graphics/sprites/error.xml Loaded for missing sprite data.
maps Maps (tmx).
sfx Sound effects (ogg).
sfx/fist-swish.ogg Player unarmed attack sound effect.
music/system/Magick - Real.ogg Default system login music.
colors.xml Fallback for hair colors.
effects.xml Effect descriptions.
emotes.xml Emote descriptions.
hair.xml Hair colors.
items.xml Item DB. Hair and race sprites are treated like items for now.
monsters.xml Monster DB.
npcs.xml NPC view descriptions.
status-effects.xml Status effect descriptions.
units.xml Unit descriptions. At the moment, just weight and currency.
Files specific to the Mana server support - Specifications in progress
attributes.xml Attribute description. This file is only used by and required for playing with a Mana server.
specials.xml Special attack descriptions.
skills.xml Skills for manaserv.
equip.xml Equipment slot definition for manaserv.

Optional data

Item Description
branding.xml The branding file is used to brand (customize) the Mana client.
paths.xml The path file is used to override (customize) the default path used for configuration files (base xml files apart.).
serverlist.xml The server list file is downloaded by the client that lists available servers and some of their properties.
config.xml Main configuration file. Generated by the client in the user config directory.