ColdCore New Admins Guide

An Introduction to Setting Up a ColdCore Database

Originally created by Chuck Shepherd
Further updated by Brandon Gillespie

DISCLAIMER: A lot of important information is left out. If you feel something should be included, please let me know! This document will improve a lot faster if others help.

Purpose

The ColdCore New Admins Guide is meant to discuss some of the issues that new Admins run into when first setting up the ColdCore database used with the cold virtual environment server. It is not meant to be a general Guide to the Core, or a Guide to the ColdC Language, nor an Installation Guide.

Some terminology

Some preliminary definitions:
driver
The software program which manages the database.
database
Procedures and information used to define the specific behaviour of the driver.
server
Both a driver and database functioning together on a network site.
ColdC
The object-oriented database language used by the driver. Loosely based off C with object extensions.
ColdCore
The primary Virtual Environment System core database under development by the Cold Project.
Genesis
The Cold Project's ColdC driver.

Initial Login

After you start up the server, telnet to port 1138 to that machine. For the curious, the port 1138 was not chosen solely as a nice sounding random number, but is minor homage to George Lucas and Star Wars fandom. The label 'THX 1138' is found in several places throughout the films of George Lucas. Specifically, in Star Wars IV when Luke and Han transfer a prisoner (Chewie) from cell block 1138.

After issuing the telnet command, the following splash screen will be displayed if the server is running:


+ ColdCore +

Virtual Environment Server

"Make it idiot proof and someone will make a better idiot."

Administrators: nothing
Currently Connected users: 0
Core: ColdCore 3.0
Driver: Cold Genesis 1.1-1

** Use 'H?elp' for a list of commands **


The quotation and database version may differ from what is shown here. At this point, create yourself a user with the create command, given with the syntax:

create <name> <password> <email@host>
where:
<name> is the name you wish to have, <password> is the password you will use, and <email@host> is a valid email address to contact you.
After you connect, you will be placed into the pit.

*** IMPORTANT ***

At this time, all new users will be Admins with full access to the database. Since being an Admin is equivalent in powers to having a 'root' permissions for the database, or being a wizard on a MU*, one of the first things you will want to do is to change the default user class to something more benign.

Setting the User Class

When ColdCore is first started up, the default user class is '$admin', which gives new users full access to the server. Since you probably don't want everyone on your cold server to be a administrator and for security reasons it's a good idea to change the default user class to something less powerful than $admin for anyone who will not be an administrator.

If you want new starting characters to be programmers by default, issue the following commands as an Administrator:

@mojo on
;$sys.set_starting('new_user_class, $programmer)
@mojo off
Other acceptable user classes are $user and $builder. These can replace the $programmer to make the default user class either $user or $builder.

About @mojo

The @mojo command provides a tool for turning system access to the database on and off. It's a simple protection mechanism to help administrators from accidentally destroying or messing up parts of the database.
@mojo on
When you are done using the super-Admin powers, make sure to turn that ability off. This can be done with the command:
@mojo off

Trivia Note

Mojo is 'power' or 'magic' in vodoo.

Making someone an Admin

Now that you've made sure that everyone is a programmer, builder, or user instead of an admin, you might decide that an existing user should be a builder, programmer, or admin, or vice versa. If you have @mojo on, the @adjust command can make someone an Admin. Using:
@adjust <name> to an admin
user <name> will become an Admin. Similarly,
@adjust <name> to a programmer
will make someone a programmer. The @adjust command also works for changing guests into permanent users of the system.

Changing the Title and Name of the server

How do you change the name and title of the database? The default name of the server is "ColdCore", and the default title is "Virtual Environment Server". You can change these with the command @set, with mojo enabled, such as:
@set $motd:server-name = "My New Server Name"
@set $motd:server-title = "My Server's Title"

Changing the Object Name

When you reference an object name by it's object name (such as $user, $edit, etc) it may sometimes be useful to change it. You do this simply with the @rename command, such as:
@rename $old_obj_name $new_obj_name
If both names begin are in the standard Object Name syntax (beginning with a dollar-sign) @rename will figure it out and change the object name instead of the VR name.

Changing the port number of the server

If you want your default login port to be something different than 1138. do the following:
@set $login_daemon:listen = NEW PORT NUMBER

The next time the server is restarted the port number will be NEW PORT NUMBER. You can change it immediately without restarting by typing:

;$login_daemon.start_listening()

Note: THIS WILL DISCONNECT YOU, simply reconnect. To see all $login_daemon options type:

@set $login_daemon:

Sections which Still Need Writing

  • Setting up the $http interface
  • Security Issues
  • When coding disasters strike
  • More... send suggestions?

Last Modified on 25-Aug-2005, Copyright © 1995-2015 by Brandon Gillespie, for the Cold Project