Difference between revisions of "Category:EVE Database"
DarksHeiress (talk | contribs) (Created page with "= <span id="The_EVE_Database" class="mw-headline"> The EVE Database </span> = EVE needs a database running behind the scenes on the server to maintain and use all information...") |
m (update status) |
||
Line 1: | Line 1: | ||
+ | == NOTICE: == | ||
+ | This page needs to be updated for version 0.8.0 and above. | ||
+ | |||
= <span id="The_EVE_Database" class="mw-headline"> The EVE Database </span> = | = <span id="The_EVE_Database" class="mw-headline"> The EVE Database </span> = | ||
Latest revision as of 14:09, 7 April 2021
NOTICE:
This page needs to be updated for version 0.8.0 and above.
The EVE Database
EVE needs a database running behind the scenes on the server to maintain and use all information needed for gameplay. CCP uses MSSQL to run their database but it is not free so EVEmu uses MySQL. Fortunately for us, many out of game tools use MySQL too so there are publicly available MySQL conversions of the CCP Static Data Dump that is released in MSSQL format. We primarily get these MySQL conversions from the EVE Developer Network - Static Data Dump History page. Instructions on how to build the database can be found on our Build_Database page.
EVEmu Database Tools
The EVEmu Database is quite extensive and difficult to navigate or work with, so the EVEmu team has developed some tools to use that make this job easier. There was a EVEmu_Control_Panel created to help make seeding the market, editing/deleting/adding in-game item types, creating/editing/deleting characters and accounts, etc adding asteroid fields and other features more convenient for developers wishing to populate their universe.
EVEmu Database Layout
[[File_Dbo_001.html|[[File:../images/thumb/7/72/Dbo_001.png/360px-Dbo_001.png|360x292px|Dbo 001.png]]]]
The Eve Online Database is extremely large and complex. The following is a visual representation of the public data CCP has released. This is based from an older version of the database and no longer applies to modern iterations. The EVEmu Database has more tables and more relationships than displayed here.
Download the relationships here: File:Dbo 002.pdf
Ideas for the Future
- It would speed up DB queries quite a bit if we split the entity and entity_attributes tables into multiple pairs for each major object type in the game. For example, we could have a pair of these tables that only holds ships and drones called entity_ships and entity_ships_attributes. Another pair could exist for just POS structures called entity_structures and entity_structures_attributes. Here is a comprehensive, although probably incomplete, list of the different groups requiring their own pair of these two tables:
- Characters and Clones
- Ships and Drones
- Modules and Charges
- Asteroids
- Celestial objects
- Structures
- Deployables
- Cargo Containers
- Stations (player and NPC)
- Corp items
Possible Structure layout
entity_ships entity_ship_attributes
- Ships 6
- Drones 18
entity_items entity_items_attributes
- material 4
- blueprint 9
- ancient relics 34
- reaction 24
- commodity 17
entity_modules entity_modules_attributes
- module 7
- charges 8
- subsystem 32
- decrypters 35
entity_structure entity_structure_attributes
- structure 23
- deployable 22
- station 3
The addition of a table for redeemable items. Items that are 'gifted' to players that may be allocated to a character prior to character selection (but may also be done in game) Fields may include (but not limited to)
AccountID, typeID, Quantity, Timegiven, TimeStop
AccountID - The account with the item(s) in question
typeID - the typeID of the item
Quantity - The quantity avaliable
Timegiven - The time the item(s) were given to the player
TimeElapse- The time the item(s) will be removed from redemption.
TODO: Describe each table that is added by EVEmu, its fields and what it's used for
- accountApi
- dgmEffectsInfo
- dgmEffectsActions
- dgmShipBonusModifiers
- dgmSkillBonusModifiers
- dgmImplantBonusModifiers
EVEmu Database Tables
This page would be huge if all tables were listed and their details of purpose, use, and fields were explained on this page, so for now, only the most important tables critical for server operations will be explained here.
Important Interesting Tables
- account - this table lists each account (not characters, see the entity table below), their user id and password (encrypted)
- character_ - this table lists each character in the game, their wallet balance, the account that owns them, bounty, sec. status, corp ID, all roles info, and the character's toon creation data (hair, clothes, eyes, morph, etc.)
- chrskillqueue - this table stores all characters' skill queue contents; there are fields that indicate skill type and order in the queue as well as the character ID that owns that skill queue entry
- chrstandings - this table stores standings from characters to other characters
- crpcharshares - this table stores the amount of corporation shares that each character owns in their respective corporation(s)
- entity - this table lists all npc and real characters and their location. more importantly, it lists ALL characters' asset items everywhere in the game, their location, owner, quantities, and a few flags
- entity_attributes - this table lists attributes of characters, i.e. charisma (id=164), intelligence (id=165), memory (id=166), perception (id=167), will power (id=168)
- evemail - this table lists every evemail sent/received in-game, every detail is contained here except the contents of the message, that is stored in the evemaildetails table
- evemaildetails - this table lists every evemail's message contents, the rest of the details of each evemail are stored in the evemail table
- market_journal - this table contains all the data that is shown in the player's Journal tab of the Wallet (player and npc transactions)
- market_orders - this table contains all the orders that the players have made inside the eve universe
- market_transactions - this table contains all the transaction data that players make inside the eve market (player transactions)
- npcstandings - this table stores standings from npc's to characters
- roiddistribution - this table hold the asteroid belt makeup data, specifically what roids are to be spawn and in what frequency
- spawnbounds -
- spawngroupentities -
- spawngroups -
- spawns -
Complete Table Listing
Please keep the same format if you edit this page
Table Field Name 1 | Table Field Name 2 | Table Field Name 3 |
Field 1 Description | Field 2 Description | Field 3 Description |
Link to Table | Links to Table | Links to Table |
- Note, not all fields will link to another table.
Accounts
This is a simple table. It holds you account information.
|| accountID || accountName || password || role || online ||
|| this ties a number to your account, NO two accounts have the same number || this is the name you choose for your account, ie the login name || this is your password, it shows up encrypted in the database || this is the role of the account, ex: Admin, GM, normal Player. || simple, 0 means you are not online, 1 means you are online ||
See here for details on how the role field is calculated
Accountid
This ties a number to your account, No 2 accounts have the same number.
|| accountName || Password || Role || Online ||
||This is the name you choose for your account || This is your password, it shows up encrypted in the database. || This is the role of the account, ex: Admin, GM, normal Player. A number represents them. 2 = Normal Player 4294967231 = Super admin || Simple, 0 means you are not online, 1 means you are online. ||
Agtagents
This has basic information about agents.
|| agentID || divisionID || corporationID || level || quality || agentTypeID ||
|| Numerical Id for the agent || This is what division the agent works for, IE: Security, R%D... || Numerical ID for the corporation the agent is for || Pretty simple, Level of the agent || Quality of the agent || Type of agent you are dealing with, See agtagenttypes table for more info ||
agtagenttypes
This has basic structure for the types of agents.
agenttypeId
Numberical value id, this is referenced with next table agentType agentType - This is what each agent is, look below at table I have created, it is pretty self explanatory.
|| agentTypeID || agentType ||
|| 1 || Nonagent ||
|| 2 || Basicagent ||
|| 3 || Tutorialagent ||
|| 4 || Researchagent ||
|| 5 || CONCORDagent ||
|| 6 || Genericstorylinesissionagent ||
|| 7 || Storylinemissionagent ||
|| 8 || Eventmissionagent ||
|| 9 || Factionalwarfareagent ||
|| 10 || Epicarcagent ||
Agtconfig
Refers agentId to level and quality
Agtmissiongroups
|| corporationID || divisionID || level || = missionID ||
agentmissions
|| missionID || missionName || missionLevel || missionTypeId || importantMission ||
agtmissiontypes
|| missionTypeID || missionTypeName ||
Agtoffergroups
|| corporationID || divisionID || level || offered ||
agtofferrequired
|| offerID || typeID || quantity ||
agtofferreward
|| offerID || typeID || quantity ||
agtoffers
|| offerID || offerName || offerLevel || loyaltyPoints || requiredISK || rewardISK || offerText || offerAcceptedText ||
agtresearchagents
|| agentID || typeID ||
alliance_shortnames
billspayable
|| billID || billTypeId || debtorID || creditorID || amount || dueDateTime || interest || externalID || paid || externalID2 ||
billsreceivable
|| billID || billTypeId || debtorID || creditorID || amount || dueDateTime || interest || externalID || paid || externalID2 ||
billtypes
Simple, Links billtypeID to billTypeName , Number value to a Name
|| billTypeID || billTypeName ||
|| 1 || Market Fine ||
|| 2 || Rental Bill ||
|| 3 || Broker Bill ||
|| 4 || War Bill ||
|| 5 || Alliance maintenance Bill ||
Bloodlinetypes
links bloodlineID to TypeID
Bookmarks
this is where bookmarks in space should be created.
cachelocations
cacheowners
channelchars
channelmods
channels
channeltypes
character_
characterstatic
chraccessories
chrancestries
|| ancestryID || ancestryName || bloodlineID || description || perception || willpower || charisma || memory || intelligence || graphicID || shortDescription ||
|| Unique ID of ancestry, Should be primary Key || Name of ancestry || Bloodline in which ancestry belongs to. || Description of the Ancestry || Atrribute bonus for the ancestry - Perception || Atrribute bonus for the ancestry - Willpower || Atrribute bonus for the ancestry - Charisma || Atrribute bonus for the ancestry - Memory || Atrribute bonus for the ancestry - Intelligence || Icon for this ancestry || Short Description of ancestry ||
chrapplications
chrattributes
The attributeID's for the characters attributes.
chrbackgrounds
chrbeards
chrblaccessories
chrblbackgrounds
chrblbeards
chrblcostumes
chrbldecos
chrbleyebrows
chrbleyes
chrblhairs
chrbllights
chrbllipsticks
chrblmakeups
chrbloodlines
chrblskins
chrcareers
chrcareerspecialities
chrcostumes
chrdecos
chrdepartments
chremployment
chreyebrows
chreyes
chrfactions
chrhairs
chrlights
chrlipsticks
chrmakeups
chrmissionstate
chrnotes
chrnpcstandings
chroffers
chrownernote
chrraces
chrraceskills
chrschoolagents
chrschools
List of starting schools for new characters.
chrskillqueue
chrskins
chrstandings
This is the relationship between the player and the NPC.
corporation
Lists corporations and basic information.
corporationstatic
couriermissions
crpactivities
crpnpccorporationdivisions
crpnpccorporationresearchfields
crpnpccorporations
crpnpccorporationtrades
crpnpcdivisions
crpnpctickernames
crpoffices
crtcategories
|| categoryID || description || catagoryName ||
|| Unique ID of this catagory || Description of the catagory || Name of the catagory ||
crtcertificates
List of all certificates
|| certificateID || catagoryID || classID || grade || corpID || iconID || description ||
|| Unique ID of the certificate. Should be primary Key || Catagory of the Certificate || Class of the certificate || Grade of the certificate. 1=basic, 2=standard, 3=improved, 5=elite, They cant count, they forgot 4. || Corporation of the certificate || Icon of the certificate || Description of the Certificate ||
|| || crtCatergories.categoryID || crtClasses.classID || || crpNPCCorporations.corporationID || || ||
crtclasses
|| classID || description || className ||
|| Unique ID of the class, should be primary key || Description of the class. || Name of the Class. ||
crtrecommendations
|| recommendationID || shipTypeID || certificateID || recommendationLevel ||
|| Unique ID of recommendation, Should be primary key || typeID of ship || CertificateID of recommendation. || ||
|| || invTypes.typeID || crtCertificates.certificateID || ||
crtrelationships
|| relationshipID || parentID || parentTypeID || parentLevel || childID ||
|| Unique ID of the relationship, Should be primary Key || CertificateID of the certificate || Links to skill in item table || Name of the class || CertificateID of certificates requiring the certificate ||
|| || crtCertificates.certificateID || invTypes.typeID || || crtCertificates.certificateID ||
dgmattributecategories
dgmattributetypes
dgmeffects
dgmEffectsInfo
Used with the Module Manager in its Effects Processing.
effectID | targetAttributeID | sourceAttributeID | calculationTypeID | reverseCalculationTypeID |
---|
dgmEffectsActions
Used with the Module Manager in its Effects Processing.
effectID | effectAppliedInState | effectAppliedTo | effectApplicationType | targetEquipmentType | targetGroupIDs | stackingPenaltyApplied | nullifyOnlineEffect | nullifiedOnlineEffectID |
---|
dgmShipBonusModifiers
Used with the Module Manager in its Effects Processing.
effectID | attributeSkillID | attributeSkillLevel | sourceAttributeID | targetAttributeID | calculationTypeID | reverseCalculationTypeID | effectAppliedTo | targetEquipmentType | targetGroupIDs |
---|
Used with the Module Manager in its Type Attribute Modifiers Processing.
dgmSkillBonusModifiers
Used with the Module Manager in its Effects Processing.
effectID | sourceAttributeID | targetAttributeID | calculationTypeID | reverseCalculationTypeID | effectAppliedTo | targetEquipmentType | targetGroupIDs |
---|
Used with the Module Manager in its Type Attribute Modifiers Processing.
dgmtypeattributes
dgmtypeeffects
dronestate
entity
This details each individual thing in the game. From individual stack of items to planets to ships and npcs to attached modules and ammo. Characters and implants. It is all listed here. Refers to the invtypes, stastations, mapsolarsystems and invflags tables.
entity_attributes
eveconstants
evegraphics
evemail
evemaildetails
evemailmimetype
evemessages
evenames
everoles
evestaticlocations
evestaticowners
eveunits
factionraces
intro
invblueprints
invblueprinttypes
invcategories
invcontrabandtypes
invcontroltowerresourcepurposes
invcontroltowerresources
invflags
invgroups
invmarketgroups
invmetagroups
invmetatypes
invtypematerials
Details the refining/reprocessing/manufacturing of items. Refers to the invtypes table.
invshiptypes
invtypereactions
invtypes
Details basic information about game items, ships and other objects. Several tables refer to here. If you are interested in making new modules or ships you should start here.
invtypestowrecks
Links the destroyed ships or structures to wrecks. It only refers to invtypes.
invuniquenames
languages
Languages used in EVE
liveupdates
locationscenes
lprequireditems
The items required to purchase (if applicable) at the LP Store. It has relationships to invtypes and lpstore.
lpstore
What itemTypes appear listed in the store and where. It has relationships to corporation, invtypes and Lprequireditems.
lpverified
Checks for the LPstore
maillabel
mailmessage
mapcelestialstatistics
mapconstellationjumps
mapconstellations
mapdenormalize
mapjumps
maplandmarks
maplocationwormholeclasses
mapregionjumps
mapregions
mapsolarsystemjumps
mapsolarsystems
mapuniverse
market_history_old
market_journal
market_keymap
market_orders
This table is used to display market orders. It has relationships to invtypes, character_, mapregions, stastations and mapsolarsystems.
market_reftypes
market_transactions
npcstandings
ramactivities
ramassemblylines
ramassemblylinestationcostlogs
ramassemblylinestations
ramassemblylinetypedetailpercategory
ramassemblylinetypedetailpergroup
ramassemblylinetypes
ramcompletedstatuses
raminstallationtypedefaultcontents
ramjobs
rentalinfo
roiddistribution
spawnbounds
spawngroupentries
Table that controls the chance to spawn a particular NPC for a corporation. Links to corporation, invtypes, spawngroupentries and spawns.
spawngroups
Links individual spawns together. Links to spawngroupentries and spawns.
spawns
srvstatus
staoperations
staoperationservices
staservices
stastations
Station information. Refers to the corporation, stastationtypes, mapconstellations, mapsolarsystems, mapregions and invflags tables.
stastationtypes
trntranslationcolumns
trntranslations
tutorial_categories
tutorial_criteria
tutorial_page_criteria
tutorial_pages
tutorials
tutorials_criterias
typeactivitymaterials
Miscellaneous Info
Skill Points - Clone Grades
From dgmtypeattributes table:
skillPointsSaved - "Amount of skill points saved by clone"
maxJumpClones
hasCloneJumpSlots
allowsCloneJumpsWhenActive
canReceiveCloneJumps
jumpClonesLeft
The first one must be for clone grade. I tried looking for something that stored the skill points accrued by each character, but i bet it doesn't exist and let me explain why: each skill that each character has injected and trained shows up in the entity table with the ownerID of that character, each one of those skills has two entries in the entity_attributes table under its itemID from the entity table: skillPoints and skillLevel. So, the client can figure out how many total skill points are trained if it has the list of skills and the points trained for each. This must mean that the first field in the list above has to be the skill points saved for whichever clone grade you've purchased using station medical services.
Also, if you sort your entity table by ownerID ascending, you should see your primary character entry with an ownerID equal to your accountID in the account table.
This category currently contains no pages or media.