<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to DatabaseLayout</title><link>https://sourceforge.net/p/earthcall-project/wiki/DatabaseLayout/</link><description>Recent changes to DatabaseLayout</description><atom:link href="https://sourceforge.net/p/earthcall-project/wiki/DatabaseLayout/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 02 Apr 2015 16:07:53 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/earthcall-project/wiki/DatabaseLayout/feed" rel="self" type="application/rss+xml"/><item><title>DatabaseLayout modified by Anonymous</title><link>https://sourceforge.net/p/earthcall-project/wiki/DatabaseLayout/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;The database for Earthcall consists of several tables. This page details the current layout of the database and provides the CREATE TABLE statements needed to create each table. Please note, these are all subject to change, and some have already changed several times. &lt;/p&gt;
&lt;p&gt;Earthcall uses a SQLITE3 Database stored in a single file. The file must be named "Earthcall.db" and stored in "system/Earthcall.db" (relative path from server binary). &lt;/p&gt;
&lt;h1 id="table-config"&gt;Table config&lt;/h1&gt;
&lt;p&gt;Simple table to store basic data for the server (server IP and Max. Table numbers). &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;CREATE&lt;/span&gt; &lt;span class="n"&gt;TABLE&lt;/span&gt; &lt;span class="nf"&gt;config&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;serverip&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;maxtables&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;INTEGER&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id="table-users"&gt;Table users&lt;/h1&gt;
&lt;p&gt;Stores the information of a user, including gender, country, clothes and others. Also, save the creation and update date according to PR references. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;CREATE&lt;/span&gt; &lt;span class="n"&gt;TABLE&lt;/span&gt; &lt;span class="nf"&gt;users&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;username&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;pass&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;protectcode&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;age&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;sex&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;region&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;language&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;birthdate&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;intelligence&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;amability&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;aspect&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;hasmicro&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;dt_first&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;dt_latest&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id="table-messages"&gt;Table messages&lt;/h1&gt;
&lt;p&gt;Stores all the messages that the users send between them, except the confirmation messages. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;CREATE&lt;/span&gt; &lt;span class="n"&gt;TABLE&lt;/span&gt; &lt;span class="nf"&gt;messages&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;sender&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;destination&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id="table-onlineusers"&gt;Table onlineusers&lt;/h1&gt;
&lt;p&gt;This table represents the online status of the players. It has the active users, where they are (location) and if they are playing or not a game. Everytime the server stats, this table is reset. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;CREATE&lt;/span&gt; &lt;span class="n"&gt;TABLE&lt;/span&gt; &lt;span class="nf"&gt;onlineusers&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;username&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;ip&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;hasmicro&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;INTEGER&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;INTEGER&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;INTEGER&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;tableid&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;position&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;socknumber&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;INTEGER&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id="table-rankings"&gt;Table rankings&lt;/h1&gt;
&lt;p&gt;Saves the high scores for every game of the four games. Each game can has multiple modes and number of players. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;CREATE&lt;/span&gt; &lt;span class="n"&gt;TABLE&lt;/span&gt; &lt;span class="nf"&gt;rankings&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;username&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;INTEGER&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;playersin&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;INTEGER&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;rankmode&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;INTEGER&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;score&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;BLOB&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id="table-tables"&gt;Table tables&lt;/h1&gt;
&lt;p&gt;Contains the status of the tables, with the following info: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ID starts from 0 &lt;/li&gt;
&lt;li&gt;Must be from one of the attractions. &lt;/li&gt;
&lt;li&gt;Contains info of the players (gender and clothes). &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Has a min.players, max.players and status (waiting / playing). &lt;/p&gt;
&lt;p&gt;CREATE TABLE tables(&lt;br /&gt;
  'gameid' TEXT, &lt;br /&gt;
  'tableid' TEXT, &lt;br /&gt;
  'status' TEXT, &lt;br /&gt;
  'playersin' TEXT, &lt;br /&gt;
  'maxplayers' TEXT, &lt;br /&gt;
  'playersinfo' TEXT, &lt;br /&gt;
  'minplayers' TEXT, &lt;br /&gt;
  'cl1' TEXT, &lt;br /&gt;
  'cl2' TEXT, &lt;br /&gt;
  'cl3' TEXT, &lt;br /&gt;
  'cl4' TEXT, &lt;br /&gt;
  'gen1' TEXT, &lt;br /&gt;
  'gen2' TEXT, &lt;br /&gt;
  'gen3' TEXT, &lt;br /&gt;
  'gen4' TEXT&lt;br /&gt;
);&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="table-mistery-optional"&gt;Table mistery (optional)&lt;/h1&gt;
&lt;p&gt;This is a table used in TEML panels to show a joke to the user. Editing in TEML.cpp to disable. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;CREATE&lt;/span&gt; &lt;span class="n"&gt;TABLE&lt;/span&gt; &lt;span class="nf"&gt;mistery&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="n"&gt;TEXT&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 02 Apr 2015 16:07:53 -0000</pubDate><guid>https://sourceforge.nete6c3c11727199372c93a6b6b7c3aeea097465edc</guid></item></channel></rss>