Difference between revisions of "Database"

m (Fixed links)
(Added ruleset link)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== The EQ2Emulator Database ==
+
{{PageHeaderChild|Developers|Database Developer}}
The EQ2Emulator Database is a constantly changing entity during the Alpha development phase. What this means is that not all the data for the entire game has been realized yet, and as development continues, additional tables or fields will be discovered and the schema will change. Below is a chart of the main Sub-Systems and the data that supports them. Click on a sub-system for detailed schema documentation.
+
Below is a chart of the main Sub-Systems and the data that supports them. Click on a sub-system for detailed schema documentation.
  
  
== Definitions ==
+
{{Header|Definitions|BackgroundColor=3d78b4|FontColor=ffffff}}
 
First, a few definitions:
 
First, a few definitions:
  
Line 19: Line 19:
  
  
== Basic Schema ==
+
{{Header|Basic Schema|BackgroundColor=3d78b4|FontColor=ffffff}}
 
 
 
{| class="wikitable" border="1" width="75%"
 
{| class="wikitable" border="1" width="75%"
! style="width: 15%; background:#cccccc;" | '''<center>Sub-System</center>'''
+
! style="width: 15%; background:#cccccc;" | '''Sub-System'''
! style="width: 10%; background:#cccccc;" | '''<center>Customize</center>'''
+
! style="width: 10%; background:#cccccc;" | '''Customize'''
! style="width: 75%; background:#cccccc;" | '''<center>Description</center>'''
+
! style="width: 75%; background:#cccccc;" | '''Description'''
 
|-
 
|-
 
! colspan="4" style="text-align:left;" | '''Static Tables'''
 
! colspan="4" style="text-align:left;" | '''Static Tables'''
 
|-
 
|-
 
|[[Database:Core |Core]]
 
|[[Database:Core |Core]]
|<center>No</center>
+
|&lt;center>No&lt;/center>
 
|Core data is the absolute minimum '''required''' to run an emulator. Data cannot be changed.
 
|Core data is the absolute minimum '''required''' to run an emulator. Data cannot be changed.
 
|-
 
|-
 
|[[Database:Misc |Misc]]
 
|[[Database:Misc |Misc]]
|<center>Yes/No</center>
+
|&lt;center>Yes/No&lt;/center>
 
|Miscellaneous data that is static, but not mandatory.
 
|Miscellaneous data that is static, but not mandatory.
 
|-
 
|-
 
|[[Database:Items |Items]]
 
|[[Database:Items |Items]]
|<center>Yes</center>
+
|&lt;center>Yes&lt;/center>
 
|The Items System
 
|The Items System
 
|-
 
|-
 
|[[Database:Quests |Quests]]
 
|[[Database:Quests |Quests]]
|<center>Yes</center>
+
|&lt;center>Yes&lt;/center>
 
|The Questing and supporting LUA Systems
 
|The Questing and supporting LUA Systems
 
|-
 
|-
 
|[[Database:Spawns |Spawns]]
 
|[[Database:Spawns |Spawns]]
|<center>Yes</center>
+
|&lt;center>Yes&lt;/center>
 
|The Spawn and Spawn Point Systems
 
|The Spawn and Spawn Point Systems
 
|-
 
|-
 
|[[Database:Spells |Spells]]
 
|[[Database:Spells |Spells]]
|<center>Yes</center>
+
|&lt;center>Yes&lt;/center>
 
|The Abilities/Combat Arts/Spells+ Systems
 
|The Abilities/Combat Arts/Spells+ Systems
 
|-
 
|-
 
|[[Database:Starting |Starting Data]]
 
|[[Database:Starting |Starting Data]]
|<center>Yes</center>
+
|&lt;center>Yes&lt;/center>
 
|Data related to how New Players are configured at first login
 
|Data related to how New Players are configured at first login
 
|-
 
|-
 
|[[Database:Zones |Zones]]
 
|[[Database:Zones |Zones]]
|<center>Yes</center>
+
|&lt;center>Yes&lt;/center>
 
|The Zones System
 
|The Zones System
 +
|-
 +
|[[Database:Ruleset |Ruleset]]
 +
|&lt;center>Yes&lt;/center>
 +
|The set of rules for the server.
 
|-
 
|-
 
! colspan="4" style="text-align:left;" | '''Dynamic Tables'''
 
! colspan="4" style="text-align:left;" | '''Dynamic Tables'''
 
|-
 
|-
 
|[[Database:Character |Characters]]
 
|[[Database:Character |Characters]]
|<center>No</center>
+
|&lt;center>No&lt;/center>
 
|All Character-related tables which are unique to every server.
 
|All Character-related tables which are unique to every server.
 
|-
 
|-
 
|[[Database:Instances |Instances]]
 
|[[Database:Instances |Instances]]
|<center>No</center>
+
|&lt;center>No&lt;/center>
 
|Zone "instance" data is very dynamic, and on a per-player, per-group, per-raid level.
 
|Zone "instance" data is very dynamic, and on a per-player, per-group, per-raid level.
 
|}
 
|}
  
== Conclusion ==
 
  
 +
{{Header|EQ2DB Editor|BackgroundColor=3d78b4|FontColor=ffffff}}
 +
The current web-based editor is private for Dev use only, but documentation for the Content Design team can be found [[DBEditor|here]].
 +
 +
 +
{{Header|Conclusion|BackgroundColor=3d78b4|FontColor=ffffff}}
 
As you can see by this overview, the EQ2Emulator is extremely customizable. Very little data is mandatory, and none of it should effect the way you customize your server. Consider it like building a car engine; the parts you put in make it as powerful as you desire, but it still needs fuel and oil to run properly!
 
As you can see by this overview, the EQ2Emulator is extremely customizable. Very little data is mandatory, and none of it should effect the way you customize your server. Consider it like building a car engine; the parts you put in make it as powerful as you desire, but it still needs fuel and oil to run properly!

Latest revision as of 01:08, 1 March 2022

Developers - Database Developer

Return to: Developers | Tutorials | Portal | Forum | Project Manager | Bug Tracker

Below is a chart of the main Sub-Systems and the data that supports them. Click on a sub-system for detailed schema documentation.


Definitions

First, a few definitions:

"Static Tables" - Data that, once set up by a server admin, will usually not change during the life of their server.

Example: Appearance, Visual States, and Spell Effects References. These cannot be changed, as the data inside these tables is required by the emulator in order to fundtion properly. Changing this data, the world will send unknown information to the player/client, and the client will ignore it as unknown. Not all "Static" data falls into this strict category however. Another form of data that is generally Static are the factions, emotes, or commands the server uses to process various functions. Factions can be changed by the admin, adding a new one for instance. Emotes are not mandatory, but are fun. Commands can be set up to allow customized interactions with objects, etc. They are deemed "static" because they rarely change, if at all, once a server is running.


"Dynamic Tables" - Data that gets updated by regular use of the server.

Example: Character data, primarily. Players will log in, create new characters, and enter your world. Every few minutes of their visit, the World will save their current player data to the database. This is the extreme case of Dynamic Data - and thus all Character-related tables should be the most important tables to backup regularly.


The Customize column below shows that the data can be altered from what is provided in the (default) EQ2Emulator Database Package.


Basic Schema
Sub-System Customize Description
Static Tables
Core <center>No</center> Core data is the absolute minimum required to run an emulator. Data cannot be changed.
Misc <center>Yes/No</center> Miscellaneous data that is static, but not mandatory.
Items <center>Yes</center> The Items System
Quests <center>Yes</center> The Questing and supporting LUA Systems
Spawns <center>Yes</center> The Spawn and Spawn Point Systems
Spells <center>Yes</center> The Abilities/Combat Arts/Spells+ Systems
Starting Data <center>Yes</center> Data related to how New Players are configured at first login
Zones <center>Yes</center> The Zones System
Ruleset <center>Yes</center> The set of rules for the server.
Dynamic Tables
Characters <center>No</center> All Character-related tables which are unique to every server.
Instances <center>No</center> Zone "instance" data is very dynamic, and on a per-player, per-group, per-raid level.


EQ2DB Editor

The current web-based editor is private for Dev use only, but documentation for the Content Design team can be found here.


Conclusion

As you can see by this overview, the EQ2Emulator is extremely customizable. Very little data is mandatory, and none of it should effect the way you customize your server. Consider it like building a car engine; the parts you put in make it as powerful as you desire, but it still needs fuel and oil to run properly!