********************************************************** ********************************************************** ******* 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