Your IP : 216.73.216.182


Current Path : /home/cmowner/CoffeeMud/guides/database/
Upload File :
Current File : //home/cmowner/CoffeeMud/guides/database/coffeemuddbmysql.sql

# MYSQL Database Creation Script for CoffeeMud

/**
  TABLE CMVFS - CoffeeMud Virtual File System table
  CMFNAM : Full path and filename
  CMDTYP : Mask bits, for hidden, directory, etc.
  CMMODD : Modified date/timestamp in millis
  CMWHOM : Who created/modified the file
  CMDATA : The file data, text encoded
*/
CREATE TABLE CMVFS (
	CMFNAM varchar (255),
	CMDTYP int ,
	CMMODD bigint,
	CMWHOM varchar (50) NULL,
	CMDATA longtext NULL
);

ALTER TABLE CMVFS ADD ( UNIQUE KEY (CMFNAM) );

/**
  TABLE CMCHAB - Player Character Abilities
  CMUSERID : Character name
  CMABID   : Ability ID
  CMABPF   : Character Ability proficiency (0-100)
  CMABTX   : Misc Text/Parameters for the Ability
*/
CREATE TABLE CMCHAB (
	CMUSERID varchar (50) NULL ,
	CMABID varchar (50) NULL ,
	CMABPF int NULL ,
	CMABTX longtext NULL
);

ALTER TABLE CMCHAB ADD ( UNIQUE KEY (CMUSERID,CMABID) );

/**
  TABLE CMSTAT - Game Event History Statistics table

  CMSTRT : Start epoch time in millis  
  CMENDT : End epoch time in millis
  CMDATA : XML formatted data for this period
*/
CREATE TABLE CMSTAT (
	CMSTRT bigint,
	CMENDT bigint,
	CMDATA longtext NULL
);

ALTER TABLE CMSTAT ADD ( UNIQUE KEY (CMSTRT) );

/**
  TABLE CMPOLL -- Polling table for votes
  CMNAME: Friendly name of the poll
  CMBYNM: Name of the character that created the poll
  CMSUBJ: The subject of the poll, shown on results
  CMDESC: Description of the poll, shown on voting
  CMOPTN: XML of the available options
  CMFLAG: Flags bitmap, active, etc..
  CMQUAL: Qualifying Zappermask to vote in the poll
  CMRESL: XML of every vote cast, all in one place
  CMEXPI: Expiration date/timestamp in millis
*/
CREATE TABLE CMPOLL (
	CMNAME varchar (100) ,
	CMBYNM varchar (100) NULL ,
	CMSUBJ varchar (255) NULL ,
	CMDESC longtext NULL ,
	CMOPTN longtext NULL ,
	CMFLAG int NULL ,
	CMQUAL varchar (255) NULL ,
	CMRESL longtext NULL,
	CMEXPI bigint NULL
);

ALTER TABLE CMPOLL ADD ( UNIQUE KEY (CMNAME) );

/**
  TABLE CMCHAR -- Player Character record 
  CMCHID  : Character MOB class ID (usually StdMOB)
  CMUSERID: Character name
  CMPASS  : Password, possibly a password hash
  CMCLAS  : Character class(es)
  CMSTRE  : Strength attribute
  CMRACE  : Character race
  CMDEXT  : Dexterity attribute
  CMCONS  : Constitution attribute
  CMGEND  : Gender (M, F, N)
  CMWISD  : Wisdom attribute
  CMINTE  : Intelligence attribute
  CMCHAR  : Charisma attribute
  CMHITP  : Max hit points
  CMLEVL  : Class level(s) semicolon delimited
  CMMANA  : Max mana
  CMMOVE  : Max moves
  CMDESC  : Readable description
  CMALIG  : Alignment (number)
  CMEXPE  : Total experience points
  CMEXLV  : Experience needed for next level
  CMWORS  : Deity/Worshipped ID
  CMPRAC  : Practice points
  CMTRAI  : Training sessions
  CMAGEH  : Minutes played
  CMGOLD  : (Deprecated) Amount of gold
  CMWIMP  : Wimpy points 
  CMQUES  : Quest points
  CMROID  : Start/Beacon Room ID 
  CMDATE  : Last connect Date/timestamp
  CMCHAN  : The No-Channel bitmap
  CMATTA  : Base attack attribute
  CMAMOR  : Base armor attribute
  CMDAMG  : Base damage attribute
  CMBTMP  : Miscelleneous mob attribute bitmap
  CMLEIG  : Player mate/leige character ID/name
  CMHEIT  : Character height
  CMWEIT  : Character weight
  CMPRPT  : Prompt string
  CMCOLR  : Personalized color codes, special encoding
  CMLSIP  : Last player connect ip address
  CMEMAL  : Email address
  CMPFIL  : XML Encoded player stat data (lots of stuff)
  CMSAVE  : Saving throws, semicolon delimited
  CMMXML  : XML encoded faction values for the character 
*/
CREATE TABLE CMCHAR (
	CMCHID varchar (50),
	CMUSERID varchar (50) ,
	CMPASS varchar (50) NULL ,
	CMCLAS varchar (250) NULL ,
	CMSTRE int NULL ,
	CMRACE varchar (250) NULL ,
	CMDEXT int NULL ,
	CMCONS int NULL ,
	CMGEND varchar (50) NULL ,
	CMWISD int NULL ,
	CMINTE int NULL ,
	CMCHAR int NULL ,
	CMHITP int NULL ,
	CMLEVL varchar (50) NULL ,
	CMMANA int NULL ,
	CMMOVE int NULL ,
	CMDESC longtext NULL ,
	CMALIG int NULL ,
	CMEXPE int NULL ,
	CMEXLV int NULL ,
	CMWORS varchar (50) NULL ,
	CMPRAC int NULL ,
	CMTRAI int NULL ,
	CMAGEH int NULL ,
	CMGOLD int NULL ,
	CMWIMP int NULL ,
	CMQUES int NULL ,
	CMROID varchar (100) NULL ,
	CMDATE varchar (70) NULL ,
	CMCHAN int NULL ,
	CMATTA int NULL ,
	CMAMOR int NULL ,
	CMDAMG int NULL ,
	CMBTMP bigint NULL ,
	CMLEIG varchar (50) NULL ,
	CMHEIT int NULL ,
	CMWEIT int NULL ,
	CMPRPT varchar (250) NULL,
	CMCOLR varchar (255) NULL,
	CMLSIP varchar (100) NULL,
	CMEMAL varchar (255) NULL,
	CMPFIL longtext NULL,
	CMSAVE varchar (150) NULL,
	CMMXML longtext NULL
);

ALTER TABLE CMCHAR ADD ( UNIQUE KEY (CMUSERID) );

/**
  TABLE CMCHFO - Character followers
  CMUSERID: Character user name that is being followed
  CMFONM  : Follower ordinal number (0, 1, ..)
  CMFOID  : Class ID of the follower
  CMFOTX  : Misc text/generic xml
  CMFOLV  : MOB level
  CMFOAB  : MOB ability code
*/
CREATE TABLE CMCHFO (
	CMUSERID varchar (50) NULL ,
	CMFONM int NULL ,
	CMFOID varchar (50) NULL ,
	CMFOTX longtext NULL ,
	CMFOLV int NULL ,
	CMFOAB int NULL 
);

ALTER TABLE CMCHFO ADD ( UNIQUE KEY (CMUSERID,CMFONM) );

/**
  TABLE CMCHCL - Character Clan affiliation
  CMUSERID: Character name/id 
  CMCLAN  : Clan name/id
  CMCLRO  : Role of the character in the clan
  CMCLSTS : Various contribution stats, semicolon delimited
*/
CREATE TABLE CMCHCL (
	CMUSERID varchar (50) NULL ,
	CMCLAN varchar (100) NULL ,
	CMCLRO int NULL,
	CMCLSTS varchar (100) NULL
);

ALTER TABLE CMCHCL ADD ( UNIQUE KEY (CMUSERID,CMCLAN) );

/**
  TABLE CMCHIT - Character Inventory
  CMUSERID: Character name/id
  CMITNM  : Unique item ID, for updating the item in the DB
  CMITID  : The Item Class ID for the item
  CMITTX  : Misc text/generic xml for the item
  CMITLO  : Unique item ID of the container for the item
  CMITWO  : If being worn, this is the worn loc bitmap
  CMITUR  : Uses remaining (for ammo, wands, etc)
  CMITLV  : Item level
  CMITAB  : Ability code of the item
  CMHEIT  : Height of the item (for wearables)
*/
CREATE TABLE CMCHIT (
	CMUSERID varchar (50) NULL ,
	CMITNM varchar (100) NULL ,
	CMITID varchar (50) NULL ,
	CMITTX longtext NULL ,
	CMITLO varchar (100) NULL ,
	CMITWO bigint NULL ,
	CMITUR int NULL ,
	CMITLV int NULL ,
	CMITAB int NULL ,
	CMHEIT int NULL
);

ALTER TABLE CMCHIT ADD ( UNIQUE KEY (CMUSERID,CMITNM) );

/**
  TABLE CMROCH - Room inhabitant MOBs
  CMROID : Room ID
  CMCHNM : Unique room mob id, for DB updates
  CMCHID : MOB Class ID
  CMCHTX : Misc text/generic xml for the mob
  CMCHLV : Level of the mob
  CMCHAB : Ability code
  CMCHRE : Rejuv/ination time
  CMCHRI : Unique room mob id/item id being ridden
*/
CREATE TABLE CMROCH (
	CMROID varchar (50) NULL ,
	CMCHNM varchar (100) NULL ,
	CMCHID varchar (50) NULL ,
	CMCHTX longtext NULL ,
	CMCHLV int NULL ,
	CMCHAB int NULL ,
	CMCHRE int NULL ,
	CMCHRI varchar (100) NULL
);

ALTER TABLE CMROCH ADD ( UNIQUE KEY (CMROID,CMCHNM) );

/**
  TABLE CMROEX - Room exits
  CMROID : Room ID
  CMDIRE : Direction code (0, 1, etc..)
  CMEXID : Exit Class ID
  CMEXTX : Misc text/generic xml for the exit
  CMNRID : Linked Room ID of the exit
*/
CREATE TABLE CMROEX (
	CMROID varchar (50) NULL ,
	CMDIRE int NULL ,
	CMEXID varchar (50) NULL ,
	CMEXTX longtext NULL ,
	CMNRID varchar (50) NULL 
);

ALTER TABLE CMROEX ADD( UNIQUE KEY (CMROID,CMDIRE) );

/**
  TABLE CMROIT - Room items
  CMROID : Room ID
  CMITNM : Unique item ID, for updating the item in the DB
  CMITID : The Item Class ID for the item
  CMITLO : Unique item ID of the container for the item
  CMITTX : Misc text/generic xml for the item
  CMITRE : Rejuv/ination rate for the item
  CMITUR : Uses remaining (for ammo, wands, etc)
  CMITLV : Item level
  CMITAB : Ability code of the item
  CMHEIT : Height of the item (for wearables)
*/
CREATE TABLE CMROIT (
	CMROID varchar (50) NULL ,
	CMITNM varchar (100) NULL ,
	CMITID varchar (50) NULL ,
	CMITLO varchar (100) NULL ,
	CMITTX longtext NULL ,
	CMITRE int NULL ,
	CMITUR int NULL ,
	CMITLV int NULL ,
	CMITAB int NULL ,
	CMHEIT int NULL
);

ALTER TABLE CMROIT ADD ( UNIQUE KEY (CMROID,CMITNM) );

/**
  TABLE CMROOM - Rooms!
  CMROID : Room ID
  CMLOID : Room Locale Class ID
  CMAREA : Area Name/ID
  CMDESC1: Short display text
  CMDESC2: Long description
  CMROTX : Misc text/XML for the room (effects, etc)
*/
CREATE TABLE CMROOM (
	CMROID varchar (50) NULL ,
	CMLOID varchar (50) NULL ,
	CMAREA varchar (50) NULL ,
	CMDESC1 varchar (255) NULL ,
	CMDESC2 longtext NULL ,
	CMROTX longtext NULL 
);

ALTER TABLE CMROOM ADD ( UNIQUE KEY (CMROID) );

/**
  TABLE CMQUESTS - Quest definitions
  CMQUESID: Quest name/ID
  CMQUTYPE: Quest Class ID
  CMQFLAGS: State flags for the quest
  CMQSCRPT: Actual quest script, or path to it
  CMQWINNS: List of players who won the quest
*/
CREATE TABLE CMQUESTS (
	CMQUESID varchar (250) NULL ,
	CMQUTYPE varchar (50) NULL ,
	CMQFLAGS int NULL ,
	CMQSCRPT longtext NULL ,
	CMQWINNS longtext NULL
);

ALTER TABLE CMQUESTS ADD ( UNIQUE KEY (CMQUESID) );

/**
  TABLE CMAREA - Areas
  CMAREA : Area name/ID
  CMTYPE : Area Class ID
  CMCLIM : Climate mask
  CMSUBS : List of player char subops
  CMDESC : Long description of the area
  CMROTX longtext NULL ,
  CMTECH : Tech level (fantasy, heroic, etc)
*/
CREATE TABLE CMAREA (
	CMAREA varchar (50) ,
	CMTYPE varchar (50) ,
	CMCLIM int NULL ,
	CMSUBS varchar (100) NULL ,
	CMDESC longtext NULL ,
	CMROTX longtext NULL ,
	CMTECH int NULL
);

ALTER TABLE CMAREA ADD ( UNIQUE KEY (CMAREA) );

/**
  TABLE CMJRNL - Journal Item, Forum, Email, and Command Journal Messages
  CMJKEY: Unique journal key
  CMJRNL: Journal name
  CMFROM: Sender of the message
  CMDATE: Creation/Update date timestamp of the msg
  CMTONM: Recipient of the message, or ALL
  CMSUBJ: Subject of the message
  CMPART: Unique journal key of the parent message (for replies)
  CMATTR: Message attributes (sticky!)
  CMDATA: Not sure, possibly unused
  CMUPTM: Last updated time -- could be view time
  CMIMGP: Image path for the message
  CMVIEW: Number of views for the message
  CMREPL: Cached number of replies for the message
  CMMSGT: Actual message text 
*/
CREATE TABLE CMJRNL (
	CMJKEY varchar (160) ,
	CMJRNL varchar (100) NULL ,
	CMFROM varchar (50) NULL ,
	CMDATE varchar (50) NULL ,
	CMTONM varchar (50) NULL ,
	CMSUBJ varchar (255) NULL ,
	CMPART varchar (75) NULL ,
	CMATTR int NULL,
	CMDATA varchar (255) NULL ,
	CMUPTM bigint NULL,
	CMIMGP varchar (50) NULL,
	CMVIEW int NULL,
	CMREPL int NULL,
	CMMSGT longtext NULL,
	CMEXPI bigint NULL
);

ALTER TABLE CMJRNL ADD ( UNIQUE KEY (CMJKEY) );

CREATE INDEX CMJRNLNAME on CMJRNL (CMJRNL);
CREATE INDEX CMJRNLCMPART on CMJRNL (CMPART);
CREATE INDEX CMJRNLCMTONM on CMJRNL (CMTONM);
CREATE INDEX CMJRNLCMUPTM on CMJRNL (CMUPTM);
CREATE INDEX CMJRNLCMEXPI on CMJRNL (CMEXPI);

/**
  TABLE CMCLAN - Clans
  CMCLID: Clan Name/ID
  CMTYPE: Flags, usually 0
  CMDESC: Description of the clans
  CMACPT: Zappermask to be accepted to the clan
  CMPOLI: Politics, clan relations w/ other clans, in XML
  CMRCLL: Recall/Home room ID
  CMDNAT: Donation room ID
  CMSTAT: Activation status
  CMMORG: Morgue room ID
  CMTROP: Trophies mask
*/
CREATE TABLE CMCLAN (
	CMCLID varchar (100) ,
	CMTYPE int ,
	CMDESC longtext NULL ,
	CMACPT varchar (255) NULL ,
	CMPOLI longtext NULL ,
	CMRCLL varchar (50) NULL ,
	CMDNAT varchar (50) NULL ,
	CMSTAT int NULL ,
	CMMORG varchar (50) NULL ,
	CMTROP int NULL
);

ALTER TABLE CMCLAN ADD ( UNIQUE KEY (CMCLID) );

/**
  TABLE CMPDAT - Player Data (bank accounts, etc)
  CMPLID: Player character name/id
  CMSECT: Data section/category (CONQITEMS, bank chains, etc)
  CMPKEY: Unique player data entry key, for updates
  CMPDAT: Actual data, usually xml, very CMSECT dependent 
*/
CREATE TABLE CMPDAT (
	CMPLID varchar (100) ,
	CMSECT varchar (100) ,
	CMPKEY varchar (255) ,
	CMPDAT longtext NULL 
);

ALTER TABLE CMPDAT ADD ( UNIQUE KEY (CMPLID,CMSECT,CMPKEY) );

/**
  TABLE CMGRAC - Generic Races 
  CMRCID: Race ID
  CMRDAT: Generic Race XML definition
  CMRCDT: Creation date/time (or last time player used this race during load)
*/
CREATE TABLE CMGRAC (
	CMRCID varchar (250) ,
	CMRDAT longtext NULL ,
	CMRCDT bigint NULL
);

ALTER TABLE CMGRAC ADD ( UNIQUE KEY (CMRCID) );

/**
  TABLE CMCCAC - Generic Character Classes
  CMCCID: Char Class ID
  CMCDAT: Generic Character Class XML definition
*/	
CREATE TABLE CMCCAC (
	CMCCID varchar (50) ,
	CMCDAT longtext NULL 
);

ALTER TABLE CMCCAC ADD ( UNIQUE KEY (CMCCID) );

/**
  TABLE CMGAAC - Generic Abilities
  CMGAID: Ability ID
  CMGAAT: Generic Ability XML Definition
  CMGACL: Generic Ability Base Class ID
*/
CREATE TABLE CMGAAC (
	CMGAID varchar (50) ,
	CMGAAT longtext NULL , 
	CMGACL varchar (50) NULL 
);

ALTER TABLE CMGAAC ADD ( UNIQUE KEY (CMGAID) );

/**
  TABLE CMCDAC - Generic Commands
  CMCDID: Command ID
  CMCDAT: Generic Command XML Definition
  CMCDCL: Generic Command Base Class ID
*/
CREATE TABLE CMCDAC (
	CMCDID varchar (50) ,
	CMCDAT longtext NULL , 
	CMCDCL varchar (250) NULL 
);

ALTER TABLE CMCDAC ADD ( UNIQUE KEY (CMCDID) );

/**
  TABLE CMACCT - Player Account
  CMANAM: Account Name
  CMPASS: Account Password (or hash)
  CMCHRS: List of Characters in this account, by name
  CMAXML: Account configuration data in XML format
*/
CREATE TABLE CMACCT (
	CMANAM varchar (50) ,
	CMPASS varchar (50) ,
	CMCHRS longtext NULL ,
	CMAXML longtext NULL 
);

ALTER TABLE CMACCT ADD UNIQUE KEY (CMANAM);

/**
  TABLE CMBKLG - Channel BackLog
  CMNAME: Channel name
  CMINDX: Ordinal value of this backlog message
  CMSNAM: Sub-Name fields, usually a clan ID of some sort
  CMDATE: Date timestamp in millis when posted
  CMDATA: XML encoded CMMsg of the backlog message
*/
CREATE TABLE CMBKLG (
	CMNAME varchar (50),
	CMINDX int,
	CMSNAM int,
	CMDATE bigint NULL,
	CMDATA longtext NULL
);

ALTER TABLE CMBKLG ADD ( UNIQUE KEY (CMNAME,CMINDX) );

/**
  TABLE CMCLIT - Clan World Items
  CMCLID : Clan Name/ID
  CMITNM : Unique item ID, for updating the item in the DB
  CMITID : The Item Class ID for the item
  CMITTX : Misc text/generic xml for the item
  CMITLO : Unique item ID of the container for the item
  CMITWO  : If being worn, this is the worn loc bitmap
  CMITUR : Uses remaining (for ammo, wands, etc)
  CMITLV : Item level
  CMITAB : Ability code of the item
  CMHEIT : Height of the item (for wearables)
*/
CREATE TABLE CMCLIT (
	CMCLID varchar (100) ,
	CMITNM varchar (100) ,
	CMITID varchar (50) NULL ,
	CMITTX longtext NULL ,
	CMITLO varchar (100) NULL ,
	CMITWO bigint NULL ,
	CMITUR int NULL ,
	CMITLV int NULL ,
	CMITAB int NULL ,
	CMHEIT int NULL
);

ALTER TABLE CMCLIT ADD ( UNIQUE KEY (CMCLID,CMITNM) );