Every account will create and manage its own file. The file name uses the corresponding Account ID (00000001.txt, 00000002.txt, and so on)
To see which Account IDs belong to which username, see the Dynamic/AccountList.txt file.
|[ENTRY]||Begins a new account entry (originally accounts were all saved to a single file, so some of this coding is legacy stuff).|
|[END]||Closes an account. Not necessary.|
|[CHARACTERCACHE]||Begins a cache section with basic character information. This is for display purposes only within the character selection screen. It has no effect on the character in game.|
|ID||Integer||The Account ID. Must be unique to all character files.|
|Name||String||Username. Required when logging in. Must be unique. Must not exceed 48 characters.|
|Auth||String||Hashed password. Required when logging in.|
|RegKey||String||The registration key that was used to create the account. Must not exceed 35 characters. Must be longer than 1 character.|
|RecoveryKeys||String||Additional information to recover an account if the account's data has been obscured prior to publishing the userdata. It follows a format of:
Presently regkey is the only recognized key. The value will be a salted MD5 hash of the original registration key used to activate the account.
|SuspendTime||Unsigned Long||Server time, in seconds, that the account was suspended (banned). This is based on the operating system's epoch.|
|SuspendDuration||Unsigned Long||Total duration, in seconds, that must pass before the suspension is cleared.|
|Characters||Integer (list)||A list of comma separated integers. Each value represents the CreatureDef ID of the character that is linked to the account.
Technically it is possible for multiple accounts to share a character, if the IDs are manually edited. Be aware that crashes or data corruption could occur if both accounts are logged into the same character at the same time.
|Permissions||String (list)||A list of comma separated strings. Each string represents a permission. See the Account Permissions file for details. This property can appear on multiple lines. The allowed permission set will be merged. For human readability, the server limits output of 5 permissions per line when autosaving.|
|GroveName||String||The grove name assigned to this account.|
|Build||Integer (x5)||A list of 5 integers, separated by commas.
This enables grove build permission in given ZoneDef ID, using the scenery tile coordinates of (X1,Y1) to (X2,Y2), inclusive. Note that scenery tile width can very between zones. See the ZoneDef PageSize property.
Each line has one build permission. Use multiple lines for more permissions.
|Pref||String||Account-based preferences. The effect of these are client-side only. The client uses them for certain settings.|
|Bank||Integer (list)||Not used. Originally intended for shared vaults between characters on the account.|
This is for display purposes only within the character selection screen. It has no effect on the character in game.
The stats present here (level, profession, display_name, appearance, eq_appearance) all correspond to equally named stats in the Character Stat Set.
The information in the cache is updated when a player logs out. If the character file is changed or replaced, the old character will be displayed in the character selection screen. When they log in, everything will be appropriate to the actual character file.
If a cache entry does not exist at all, it is fetched from the character file itself.
|[CHARACTERCACHE]||N/A||Begins the Character Cache section.|
|[CACHEENTRY]||N/A||Begins a Cache Entry subsection. Each character in the selection list has its own section, one after the other.|
|creatureDefID||Integer||The CreatureDef ID of the character.|
|eq_appearance||String||Character equipment appearance.|
|[/CACHEENTRY]||N/A||Ends a Cache Entry subsection entry.|
|[/CHARACTERCACHE]||N/A||Ends the Character Cache section.|