Entity (container): Difference between revisions

From OuroDev
(Created page with "Entities are the container which represents a player character. == Storage and ownership == They are persisted in the dbserver database, but depending on the state of login...")
 
Line 131: Line 131:
|-
|-
| Description || The character's description, entered on the ID screen
| Description || The character's description, entered on the ID screen
|-
| CurrentTray || The index of the main tray
|-
| CurrentAltTray || The index of the alternate (2nd) tray
|-
| ChatDivider || The location of the chat divider in the chat window.
|-
| SpawnTarget || The name of a beacon where the character will be spawned.
|-
| Class || The Archetype (class) of the character
|-
| Origin || The Origin of the character
|-
| Level || The 0-based security level of the character. (If this value is 4, then the character's level is 5)
|-
| ExperiencePoints || The number of experience points earned
|-
| ExperienceDebt || The amount of debt accrued to be worked off
|-
| InfluencePoints || The amount of influence the character currently has
|-
| HitPoints || The character's current hit points
|-
| Endurance || The character's current endurance
|-
| ChatFontSize || The size of the chat font (set in options)
|-
| UniqueTaskIssued || Bitfield - Tracks which unique tasks have been given to the character
The bits in this bitfield are assigned incrementally based on entries in {{ms|server/db/templates/vars.attribute}}, which begin with the string {{ms|xUNIQUETASK1_}}. The first such line in the file is bit 0, the second is bit 1, etc.
|-
| TitleSpecial || The special title given to the character (given by GMs)
|-
| TitlesChosen || Tracks which which titles (common and origin) the character has chosen.
|-
| TitleSpecialExpires || The number of seconds which the character keeps the special title.
|-
| AuthUserData || A copy of the auth user data from the Auth server.
This field is no longer used. It has been replaced by a larger version in Ents2. dbserver will convert this to the new type when it finds it, and then remove this field from the container.
|-
| UiSettings || Bitfield - Misc UI settings (set in the options screen)
|-
| ShowSettings || Bitfield - UI settings for showing reticles, health bars, names, etc. (set in the options screen)
|-
| NPCCostume || If the character has been shape-changed, the index of the NPC Costume to use.
|-
| Banned || If 1, the character cannot be logged in. (Set and unset by GMs.)
|-
| NumCostumeSlots || The number of costume slots this character has earned
|-
| SuperPrimary || Bitfield - For the Supergroup costume, determines if primary color is original or one of the supergroup colors
|-
| SuperSecondary || Bitfield - For the Supergroup costume, determines if secondary color is original or one of the supergroup colors
|-
| CurrentCostume || Index of the costume the character is currently wearing.
|-
| SuperPrimary2 || Bitfield - For the Supergroup costume, SuperPrimary was not large enough for all parts
|-
| SuperSecondary2 || Bitfield - For the Supergroup costume, SuperSecondary was not large enough for all parts
|-
| SuperTertiary || Bitfield - For the Supergroup costume, some parts have 4 colors, determines which color is used for supergorup mode
|-
| SuperQuaternary || Bitfield - For the Supergroup costume, some parts have 4 colors, determines which color is used for supergorup mode
|-
| FxSpecial ||
|-
| FxSpecialExpires ||
|-
| CsrModified || If non-zero, then a GM has modified this character in some way. (Used to exclude the character in data mining.)
|-
| DateCreated || The date that the character was created.
|-
| Gender || The gender of the character (used to match gender in gendered languages).
{| class="wikitable"
|-
| 0 || Undefined
|-
| 1 || Neuter
|-
| 2 || Male
|-
| 3 || Female
|}
|-
| NameGender || The gender of the name of the character (used to match gender in gendered languages). Same values as Gender.
|-
| PlayerType ||
{| class="wikitable"
|-
| 0 || Hero
|-
| 1 || Villain
|}
|-
| Prestige || How much prestige the character has earned while a member of their current supergroup.
|-
| IsSlotLocked || Current lock state of this character. 0 is unlocked, 1 is locked, 2 is supposed to be offlined (and locked), but offlined characters are now removed from Entities entirely.
|-
| [[#Ents2|Ents2]] || More single-value fields that are part of the Entity.
|-
| [[#Tray|Tray]] ||
|-
| [[#Friends|Friends]] ||
|-
| [[#Windows|Windows]] ||
|-
| [[#KeyBinds|KeyBinds]] ||
|-
| [[#SuperCostumeParts|SuperCostumeParts]] ||
|-
| [[#VisitedMaps|VisitedMaps]] || Array of values.
|-
| [[#FameStrings|FameStrings]] ||
|-
| ChatWindows ||
|-
| ChatTabs ||
|-
| ChatChannels ||
|-
| DefeatRecord ||
|-
| RewardTokens || Array of values.
|-
| RewardTokensActive || Array of values.
|-
| Contacts ||
|-
| StoryArcs ||
|-
| Tasks ||
|-
| SouvenirClues ||
|-
| NewspaperHistory ||
|-
| PetNames || Array of values.
|-
| MapHistory || Array of values.
|-
| InvBaseDetail || Array of values.
|-
| CombatMonitorStat ||
|-
| RecentBadge ||
|-
| BadgeMonitor ||
|-
| Ignore ||
|-
| GmailClaims ||
|-
| GmailPending ||
|-
| QueuedRewardTables ||
|-
| MARTYTracks ||
|-
| CertificationHistory || Array of values.
|-
| CompletedOrders || Array of values.
|-
| PendingOrders || Array of values.
|}
|}

Revision as of 10:15, 19 May 2019

Entities are the container which represents a player character.

Storage and ownership

They are persisted in the dbserver database, but depending on the state of login sessions, might be owned by dbserver or a MapServer. When an entity is loaded onto a MapServer, dbserver sends the current copy of the entity to the MapServer, and locks it to that MapServer connection. The entity is then owned by the MapServer until it is unlocked (when the character leaves the map) or the connection is lost. While an entity is owned by a MapServer, the only up-to-date copy of the entity is in ram of the MapServer, which will send updates back to dbserver for persistance to the database, but does not wait for responses.

If a MapServer connection is lost without sending back entities, data will be lost, and users will experience a rollback to the last point where a copy of the entity was successfully persisted.

Contents

Field name Description
TeamupsId Identifys which 8-player team the character is on. This is the container ID in the Teamups DbList. Teamups are not persisted in the database, so are wiped when dbserver restarts.
SupergroupsId Identifys which supergroup the character is in. This is the container ID in the Supergroup DbList.
TaskforcesId Identifys which task force group the character is in. This is the container ID in the Taskforce DbList.
AuthId Account id (from the auth server) for the owner of the character. This is the container ID in the ShardAccount DbList.
AuthName Account name (from the auth server) for the owner of the character.
Name Character name. Character names are maintained in an in-ram model in dbserver, so can only be modified via dbserver.
StaticMapId Map id - The last static map the player was on (usually a city zone). When they exit a mission, they will be sent to this zone. This is the container ID in the maps DbList.
MapId Map id - The ID of the map they are currently on. This is the container ID in the maps DbList.
PosX, PosY, PosZ Current location of the character in their current map.
OrientP, OrientY, OrientR Current orientation of the character.
TotalTime The number of seconds the character has been online. Only updated on map moves and log out.
LoginCount The number of times the character has been logged in.
LastActive The date and time of the last log in.
AccessLevel The command access level. Normal players are always 0. GMs have higher values.
ChatBanExpire The date and time when the character will be allowed to send chat again.
DbFlags Bitfield. Positions are:
0 DBFLAG_TELEPORT_XFER
1 DBFLAG_UNTARGETABLE
2 DBFLAG_INVINCIBLE
3 DBFLAG_DOOR_XFER
4 DBFLAG_MISSION_ENTER
5 DBFLAG_MISSION_EXIT
6 DBFLAG_INVISIBLE
7 DBFLAG_INTRO_TELEPORT
8 DBFLAG_MAPMOVE
9 DBFLAG_CLEARATTRIBS
10 DBFLAG_NOCOLL
11 DBFLAG_BASE_ENTER
12 DBFLAG_RENAMEABLE
13 DBFLAG_BASE_EXIT
14 DBFLAG_ALT_CONTACT
15 DBFLAG_ARCHITECT_EXIT
16 DBFLAG_PRAET_SG_JOIN
17 DBFLAG_HALF_MAX_HEALTH
18 DBFLAG_UNLOCK_HERO_EPICS
19 DBFLAG_UNLOCK_VILLAIN_EPICS
Locale Sets the language and other locale defaults
GurneyMapId Map id - The ID of the most recently visited static map which contains a hospital. If the character is defeated, they will get sent to this hospital.
TitleCommon The common title of the character, chosen at level 15
TitleOrigin The origin title of the character, chosen at level 20
MouseSpeed A multiplier for mouse speed (sensitivity). This is set in the options screen.
TurnSpeed A multiplier for mouse turning speed (sensitivity). This is set in the options screen.
TopChatFilter Bitfield - designates which types of chat appear in the top pane of the chat window.
BotChatFilter Bitfield - designates which types of chat appear in the bottom pane of the chat window.
ChatSendChannel The id of the output channel in the chat window
KeyProfile The name of the keybind profile the player has chosen on the options screen.
KeybindCount The number of keybinds currently in use
FriendCount The number of local friends
Rank The character's supergroup rank. 0 is member, 1 is lieutenant, 2 is captain, 3 is commander, 4 is leader.
TimePlayed The number of seconds the character has been in supergroup mode.
MemberSince The date and time when the character joined their supergroup
TaskForceMode If 1, the player is on a task force and in task force mode. If 0, they are not. 2 if its an architect taskforce
BodyType Gender and body type. 0 is male, 1 is female, 4 is huge.
BodyScale Overall body scale.
BoneScale Overall bone scale.
ColorSkin Color - skin color
Motto The character's battle cry (motto), entered on the ID screen
Description The character's description, entered on the ID screen
CurrentTray The index of the main tray
CurrentAltTray The index of the alternate (2nd) tray
ChatDivider The location of the chat divider in the chat window.
SpawnTarget The name of a beacon where the character will be spawned.
Class The Archetype (class) of the character
Origin The Origin of the character
Level The 0-based security level of the character. (If this value is 4, then the character's level is 5)
ExperiencePoints The number of experience points earned
ExperienceDebt The amount of debt accrued to be worked off
InfluencePoints The amount of influence the character currently has
HitPoints The character's current hit points
Endurance The character's current endurance
ChatFontSize The size of the chat font (set in options)
UniqueTaskIssued Bitfield - Tracks which unique tasks have been given to the character

The bits in this bitfield are assigned incrementally based on entries in server/db/templates/vars.attribute, which begin with the string xUNIQUETASK1_. The first such line in the file is bit 0, the second is bit 1, etc.

TitleSpecial The special title given to the character (given by GMs)
TitlesChosen Tracks which which titles (common and origin) the character has chosen.
TitleSpecialExpires The number of seconds which the character keeps the special title.
AuthUserData A copy of the auth user data from the Auth server.

This field is no longer used. It has been replaced by a larger version in Ents2. dbserver will convert this to the new type when it finds it, and then remove this field from the container.

UiSettings Bitfield - Misc UI settings (set in the options screen)
ShowSettings Bitfield - UI settings for showing reticles, health bars, names, etc. (set in the options screen)
NPCCostume If the character has been shape-changed, the index of the NPC Costume to use.
Banned If 1, the character cannot be logged in. (Set and unset by GMs.)
NumCostumeSlots The number of costume slots this character has earned
SuperPrimary Bitfield - For the Supergroup costume, determines if primary color is original or one of the supergroup colors
SuperSecondary Bitfield - For the Supergroup costume, determines if secondary color is original or one of the supergroup colors
CurrentCostume Index of the costume the character is currently wearing.
SuperPrimary2 Bitfield - For the Supergroup costume, SuperPrimary was not large enough for all parts
SuperSecondary2 Bitfield - For the Supergroup costume, SuperSecondary was not large enough for all parts
SuperTertiary Bitfield - For the Supergroup costume, some parts have 4 colors, determines which color is used for supergorup mode
SuperQuaternary Bitfield - For the Supergroup costume, some parts have 4 colors, determines which color is used for supergorup mode
FxSpecial
FxSpecialExpires
CsrModified If non-zero, then a GM has modified this character in some way. (Used to exclude the character in data mining.)
DateCreated The date that the character was created.
Gender The gender of the character (used to match gender in gendered languages).
0 Undefined
1 Neuter
2 Male
3 Female
NameGender The gender of the name of the character (used to match gender in gendered languages). Same values as Gender.
PlayerType
0 Hero
1 Villain
Prestige How much prestige the character has earned while a member of their current supergroup.
IsSlotLocked Current lock state of this character. 0 is unlocked, 1 is locked, 2 is supposed to be offlined (and locked), but offlined characters are now removed from Entities entirely.
Ents2 More single-value fields that are part of the Entity.
Tray
Friends
Windows
KeyBinds
SuperCostumeParts
VisitedMaps Array of values.
FameStrings
ChatWindows
ChatTabs
ChatChannels
DefeatRecord
RewardTokens Array of values.
RewardTokensActive Array of values.
Contacts
StoryArcs
Tasks
SouvenirClues
NewspaperHistory
PetNames Array of values.
MapHistory Array of values.
InvBaseDetail Array of values.
CombatMonitorStat
RecentBadge
BadgeMonitor
Ignore
GmailClaims
GmailPending
QueuedRewardTables
MARTYTracks
CertificationHistory Array of values.
CompletedOrders Array of values.
PendingOrders Array of values.