**********************************************************
**********************************************************
*******            Welcome to the Readme           *******
*******                                            *******
**********************************************************
**********************************************************

License Information:

Scratch is written by Rendelven (Jared Devall). It is a custom written MUD
Server in C++. The goal of Scratch is to provide a stable foundation for the
interested MUD Developer out there to start their own MUD with. It provides
only the bare essentials for starting a MUD - most importantly the socket code
which allows communication over the internet. 




I have chosen to use a MySQL backend to save all of the game information in. I've
heard many great things about it and have liked it so far. The following will show
you how to create the tables. I assume you have a little knowledge on how to create
tables and use MySQL. You can visit there website [www.mysql.com] if you do not know
and look it up in the documentation. It's really easy.

This first one is for the 'user'. It holds all the information for players. The passwords
are encrypted with MD5 encryption. This way no one worries about peaking at passwords.

You may be wondering what a 'group' is. Well, it is how I have decided to denote 'levels'
or 'wizards' or whatever you want to call it. I plan on creating a MUD without levels, so
I tried thinking of another way to give abilities, commands, etc. I figured that a player
could be assigned to specific 'groups'. As many as they want. Each group has along with it
specific things they are allowed to do/access. By default there are only 2 groups: player and
admin. Every new player who is created automatically joins the 'player' group. This is the base
group for everyone. The next group I decided to use was 'admin' This way you can add someone to the
admin group and give them access to restricted commands. 

A group doesn't just have to restrict a set of commands, it can relate to anything. You can also 
change the default groups and use whatever you wish. It is ofcourse, up to you.

Login: A person's last login.
reply: The person that last sent this player a tell
title: This player's title.
prompt: This player's settable prompt.

CREATE TABLE `user` (
  `username` varchar(100) NOT NULL default '',
  `password` varchar(100) NOT NULL default '',
  `_group` varchar(100) NOT NULL default 'player',
  `login` varchar(100) NOT NULL default '',
  `reply` varchar(100) NOT NULL default '',
  `title` varchar(100) NOT NULL default '',
  `prompt` varchar(100) NOT NULL default ''
) TYPE=MyISAM;


I also decided to add a way to disable commands. I'm not sure why, I did it to do it. :)
It's just two fields, rather simple. The command to disable and who disabled it. This is
mainly used to 'save' which commands have been disabled.

CREATE TABLE `disabled_commands` (
  `command` varchar(100) NOT NULL default '',
  `disabler` varchar(100) default NULL
) TYPE=MyISAM;


Feel free to send me questions and comments about this code. If you have contributions or ideas,
please, send them! I'm always glad to hear from people who use my work. I'm more than
willing to help. :)

Email: Valiant_Dragon@yahoo.com
AIM: Valiant Dragon
Yahoo: Valiant_Dragon

Cheers,
Rendelven