This section describes the commands that can be used
to control some room and nickname functions of
ChatSpace Community Server. IRC users will probably
find the syntax and concepts familiar, as they are
similar to those used on popular IRC networks. The
ChatSpace Community Server Java Client uses these
commands internally to control the server, so when
using the Java Client, knowledge of these command
line Services commands is not necessary.
This command registers your nickname.
Syntax: /Services
REGISTER yourNicknameHere yourPasswordHere
Example: /Services
REGISTER BrOdLe tech1234
This command is used to register a room.
Syntax: /Services
REGISTER #yourRoomNameHere
Example: /Services
REGISTER #Lobby
This command can be used to change your password.
Syntax: /Services SET yourNicknameHere PASS newPasswordHere
Example: /Services
SET BrOdLe PASS thisismypassword
At times, you will find that you have lost your
connection to the chat server. When you try to get
back onto the chat, you receive a message informing
you that the nickname is already in use. This is
referred to as being “GHOSTed”. You can use the
following command to Kill the GHOSTED nickname off
the chat server so that you can sign on again.
Syntax: /Services GHOST yourNicknameHere
yourPasswordHere
Example: /Services
GHOST BrOdLe techpasschatspace
The following command RESETS a nickname's password
such that it is identical to the nickname
Syntax: /Services
RESET yourNicknameHere
Example: /Services RESET BrOdLe
Note: This command will reset the password to
BrOdLe. It will set the password to the exact
spelling and case of the nickname.
Syntax: /Services
SET yourNicknameHere profileItemHere NewValueHere
Example: /Services
SET BrOdLe EMAIL [email protected]
Example: /Services
SET Tenet URL http://www.chatspace.com
The following profile items can be used: PASS, URL,
EMAIL, INFO,REALNAME, PRIVATE, OPTIONS, AVATAR,
ADMIN, IRCOP,
Syntax: /Services
SET #yourRoomNameHere GREET yourGreetingHere
Example: /Services
SET #support GREET Welcome to Support. Please
direct your questions to the Moderators in blue
Room Transcripts can be set to be either private or
public.
The following command turns Transcripts ON
Syntax: /Services
SET # yourRoomNameHere TRANSCRIPTS ON
Example: /Services
SET #support TRANSCRIPTS ON
To turn TRANSCRIPTS off, replace OFF for ON in the
Syntax
If you wish to set TRANSCRIPTS to be accessed by the
public use the following syntax after you turn
Transcripts ON
Syntax: /Services
SET # yourRoomNameHere PUBLICTRANSCRIPTS ON
Example: /Services
SET #support PUBLICTRANSCRIPTS ON
Normally, Owners and Moderators receive their status
as soon as they enter the room. This is because
they are defined in the Room’s Members list as
having those statuses. In some circumstances, it
may be desirable to use passwords to obtain those
statuses.
Syntax: /Services
SET # yourRoomNameHere AOPPASS newPasswordHere
Example: /Services
SET #support AOPPASS roomop1234
Syntax: /Services
SET # yourRoomNameHere SOPPASS newPasswordHere
Example: /Services
SET #support SOPPASS supercalfragalicious
Note:
soppass refers to the room owner password; aoppass
refers to the room moderator password
The following command will grant you AOP (Moderator)
status or SOP (owner) status
Syntax: /Services
IDENTIFY #
yourRoomNameHere sopPasswordHere
Example: /Services
IDENTIFY #Lobby owner23pass
Syntax: /Services
IDENTIFY #
yourRoomNameHere aopPasswordHere
Example: /Services
IDENTIFY #Lobby techpass1233
The following command adds Administrator or Operator
status on a user's nickname. When a user signs on,
he/she is granted either Administrator or Operator
status. To turn ADMIN or IRCOP on a nickname off,
substitute OFF in place of ON in the syntax.
Syntax: /Services
SET yourNicknameHere ADMIN ON
Example: /Services
SET BrOdLe ADMIN ON
Syntax: /Services
SET yourNicknameHere IRCOP ON
Example: /Services
SET Tenet IRCOP ON
The following commands are to add an Owner (SOP) or
a Moderator (AOP) to your room’s members list.
Syntax: /Services
AOP # yourRoomNameHere ADD yourNicknameHere
Example: /Services
AOP #support ADD MartianGirl
Syntax: /Services
SOP # yourRoomNameHere ADD yourNicknameHere
Example: /Services
SOP #support ADD Tenet
To delete an AOP or SOP from a room, use keyword DEL
in place of ADD
The following command will give you information on a
registered room or nickname (profile).
Syntax: /Services
INFO #yourRoomNameHere or yourNicknameHere
Example: /Services
INFO #support
Example: /Services
INFO Nnickee
The following command RESETS the options and
settings (modes) and the ban list for a room
Syntax: /Services
RESET #
yourRoomNameHere
Example: /Services
RESET #support
To add a buddy:
Syntax: /Services
BUDDY yourNicknameHere ADD
buddyNickHere
Example: /Services
BUDDY Nnickee ADD Brodle
To remove a buddy from your list
Syntax: /Services
BUDDY yourNicknameHere DELETE
buddyNickHere
Example: /Services
BUDDY Nnickee DELETE Xarius
To give your approval to be added to someone’s buddy
list
Syntax: /Services
BUDDY yourNicknameHere ACK
otherMemberNickHere
Example: /Services
BUDDY Nnickee ACK Xarius
To change the alias you use for a buddy in your list
Syntax: /Services
BUDDY yourNicknameHere ALIAS
otherMemberNickHere newAliasHere
Example: /Services
BUDDY Nnickee ALIAS Xarius Good old Brian
To list your buddies
Syntax: /Services
BUDDY yourNicknameHere LIST
Example: /Services
BUDDY Nnickee LIST
To list your buddies, including those that haven’t
been approved
Syntax: /Services
BUDDY yourNicknameHere LIST
ALL
Example: /Services
BUDDY Nnickee LIST ALL
To see all the members who have placed you in their
buddy lists
Syntax: /Services
BUDDY yourNicknameHere REVERSELIST
Example: /Services
BUDDY Nnickee REVERSELIST
To see all the buddy list entries waiting your
approval
Syntax: /Services
BUDDY yourNicknameHere APPROVALLIST
Example: /Services
BUDDY Nnickee APROVALLIST
To remove yourself from a member’s buddy list, or to
“disapprove” being added to a member’s buddy list
Syntax: /Services
BUDDY yourNicknameHere NACK
otherMemberNickHere
Example: /Services
BUDDY Nnickee NACK Xarius
The following command checks to see if you have new
memos
Syntax: /Services
MEMO yourNicknameHere CHECK
Example: /Services
MEMO Nnickee CHECK
To read a memo:
Syntax: /Services
MEMO yourNicknameHere READ
1
Example: /Services
MEMO Nnickee READ 1
To delete a memo:
Syntax: /Services
MEMO yourNicknameHere DELETE
1
Example: /Services
MEMO Nnickee DELETE 1
To send a memo to someone:
Syntax: /Services
MEMO ToNicknameHere ADD yourMemoTextHere
Example: /Services
MEMO Nnickee ADD hello there
This section documents the layout of the ChatSpace
database.
The database is organized into 3 groups of tables:
Configuration Tables, Audit Tables and Transcript
tables.
Configuration tables contain information about the
rooms and members. The following tables are used
for configuration purposes:
. Members
. Rooms
. Room
Members
. Memos
. CSConfig
. Bans
. Buddies
Note:
Each table is described in the sections that follow.
Primary keys are shown in blue. Indexed fields are
shown in green. Unique keys are italicized.
The members table contains a row for each registered
member of the chat site. Depending on the
configuration of the site, these may be approved
members who are able to access the site, or
unapproved members who are not yet able to access
the chat site. Registrations can be set to expire
or become “Inactive” using the ValidUntil date/time
setting.
Columns
Name |
Type |
Description |
Id
|
Long Integer |
Record ID |
Nick
|
Text |
Nickname of
member |
Pass |
Text |
Password of
member |
Name |
Text |
Name of member |
Info |
Text |
Info for member |
Email |
Text |
Email address
of member |
URL |
Text |
|
Admin
|
Yes/No |
Administrator
status |
Operator |
Yes/No |
Operator status |
Creator |
Text |
Identification
of creator |
Created |
Date/Time |
Date and time
record was written |
LastAccessed
|
Date/Time |
Date/Time last
accessed |
TimeUsed |
Long Integer |
Total minutes
accumulated online |
TimeAllowed |
Long Integer |
Total minutes
allowed online |
ValidUntil |
Date/Time |
Date/Time the
registration expires or becomes invalid |
Approved |
Yes/No |
Member approved
for access (if required) |
bPrivate |
Yes/No |
Keep this
profile information private from all except
Administrators |
Online |
Yes/No |
Indicator as to
whether the user is online or not |
Options |
Text |
Options used by
the client |
Avatar |
Text |
Name of graphic
file used for avatar |
The Rooms Table contains information for each
registered room on the chat site.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
Name |
Text |
Name of Room |
Topic |
Text |
Topic of room |
Greeting |
Text |
Greeting
message |
Mode |
Text |
Mode string
(coded storage of options) |
AopPass |
Text |
AOP-level
access password |
SopPass |
Text |
SOP-level
access password |
Creator |
Text |
Identification
of creator |
Created |
Date/Time |
Date/time
created |
LastModeratorAccessed
|
Date/Time |
Date/time last
accessed by a moderator |
Transcripts |
Yes/No |
Record room
transcripts |
TranscriptsPublic |
Yes/No |
Public room
transcripts |
Replay |
Yes/No |
Room Replay |
ReplayType |
Long Integer |
Type of
replay. Lines = 0, Minutes=1 |
ReplayAmt |
Long Integer |
Amount of lines
or minutes to replay |
PublishingToken |
Text |
Token used to
publish this room |
CurrentMembers |
Long Integer |
Current number
of users in the room |
Dirty |
Yes/No |
Record updated
by external source |
The RoomMembers Table contains information about the
members of each room, and the level of authority
that is granted. Not all rooms require membership.
Optionally, ChatSpace will populate this table with ALL users
currently in the room by dynamically adding the
Nickname and selecting the “InRoom” checkbox. These
records are removed when the user leaves that room.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
Nick
|
Text |
Nickname of
member |
Room
|
Text |
Roomname |
Authority |
Long Integer |
3 = Member, 2 =
Voiced Member, 1 = Moderator, 0 = Owner |
InRoom |
Yes/No |
Temporary |
The Memos Table contains all the memos that are
currently assigned to members. Once a memo is
deleted, it is permanently removed from the
database.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
ToNick
|
Text |
Nickname of
user who is recipient of this memo |
FromNick
|
Text |
Nickname of
user who sent this memo |
Status |
Text |
Status of this
memo (New/Old) |
Time |
Date/Time |
Date and time
record was written |
MemoText |
Text |
Text of memo |
The CSConfig table contains some of ChatSpace’s
internal configuration, such as: Database Backup
Directory, Room and Nickname Expiration Periods,
Transcript and Audit log retention periods.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
Setting
|
Text |
Configuration
Settings Name |
Value
|
Text |
Configuration
Settings Value |
Current Entries in CSConfig Table
ID |
Setting |
Value |
Description |
1 |
DoExternalSpBackup |
1 |
Should
ChatSpace execute External Database Backup
1 = Yes | 2 = No |
2
|
DoExternalSpMaint |
1 |
Should
ChatSpace execute External Database
Maintenance 1 = Yes | 2 =
No |
3
|
BackupPath |
C:\Progam
Files\ChatSpace\DBBackup |
Local Directory
ChatSpace will store the database backup. |
4
|
RoomExpDays |
0 |
How many days
it takes for unused rooms to expire (0 =
Never Expire) |
5
|
TranscriptDays |
999 |
How many days
of transcripts (Room and Private) to leave
in the database. (999 = Unlimited) |
6
|
NickExpDays |
0 |
How many days
it takes for unused nicknames to expire (0 =
never) |
7
|
AuditDays |
0 |
How many days
of Audit Records to leave in the database
(999 = Unlimited) |
The Bans table contains all bans for rooms across
the server.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
Date
|
Text |
Date the ban
was added |
RecordType
|
Long Integer |
Record Type |
Room
|
Text |
Room name the
ban is placed on |
Target
|
Text |
|
Detail
|
Text |
Nick/UserID/IP
or Hostname Details of the ban |
OriginatorNick
|
Text |
Who placed the
ban |
OriginatorHostname
|
|
That persons IP
or Hostname |
Global
|
Yes/No |
Makes ban
global in all rooms across the server |
Expiration
|
Date/Time |
Ban
automatically removes at set date/time |
The Buddy Table contains all the memos that are
currently assigned to members. Once a memo is
deleted, it is permanently removed from the
database.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
Nick
|
Text |
Nickname of
member owning this entry |
BuddyNick
|
Text |
Nickname of
buddy |
Alias |
Text |
Alias of this
entry |
Approved |
Long Integer |
Flag indicating
that Buddy has approved entry, or isn’t
requiring approval |
Audit tables contain information that describes the
functioning of the server with respect to
“interesting events”. Some of these events relate
to access, others deal configuration changes, and
still others record exceptional security
information. The following tables are used for audit
purposes:
. EntryExitEvents
. BanEvents
. SecurityEvents
. ServerEvents
Each
table is described in the sections that follow.
Primary keys are shown in blue. Indexed fields are
shown in green. Unique keys are italicized
The EntryExitEvents table contains a record for each
signon and signoff to the chat site, as well as
every room entry and exit. These records are only
produced when the site’s Security configuration
specifies “Auditing”.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
Date
|
Date/Time |
Date and time
record was written |
RecordType
|
Long Integer |
301 = SIGNON,
302 = SIGNOFF, 303 = JOIN, 304 = PART, 305
= CHANGENICK, 306 = SIGNOFFERROR |
OriginatorNick |
Text |
Nickname of
Originator |
OriginatorHostname |
Text |
Hostname or IP
Address of Originator |
Detail |
Text |
Detail
information. In case of JOIN or PART, this
is the name of the room. |
CurrentUsers |
Long Integer |
Count of users
currently on the chat site or room (for JOIN
or PART) |
PeakUsers |
Long Integer |
Peak users on
the chat site or room (for JOIN or PART) |
Record Types:
SIGNON |
A member has
signed onto the server. |
SIGNOFF |
A member has
signed off the server. |
JOIN |
A member has
joined (entered) a room. |
PART |
A member has
joined (exited) a room |
NICKCHANGE |
A member's
nickname has changed. |
SIGNOFFERROR |
An error
occurred during the signoff process |
The BanEvents table contains a record for each room
ban and unban. It also contains records pertaining
to server bans and unbans. These records are only
produced when the site’s Security configuration
specifies “Auditing”.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
Date
|
Date/Time |
Date and time
record was written |
RecordType
|
Long Integer |
401 = KICK, 402
= BAN, 403 = UNBAN, 404 = KILL, 405 =
SERVERBAN, 406 = SERVERUNBAN, 407 = QUIET,
408 = UNQUIET, 409 = SERVERBANHIT |
OriginatorNick |
Text |
Nickname of
Originator |
OriginatorHostname |
Text |
Hostname or IP
Address of Originator |
Target |
Text |
Target |
Detail |
Text |
Detail
information |
Record Types
KICK |
Member has been
kicked out of a room. |
BAN |
Moderator has
placed a ban for a room. |
UNBAN |
Moderator has
removed a ban for a room. |
KILL |
Moderator has
issued a kill command to a user on the
server. |
SERVERBAN |
Administrator
or Operator has issued a server ban to
user(s) on the server. |
SERVERUNBAN |
Administrator
or Operator has removed a server ban |
QUIET |
Moderator has
placed a quiet for a room |
UNQUIET |
Moderator has
removed a quiet for a room |
SERVERBANHIT |
A member failed
to login due to a server ban. |
The SecurityEvents table records information
pertaining to a variety of “exceptional” events
including password violations, new member
registration and granting of Administrator and
moderator authority. These records are only
produced when the site’s Security configuration
specifies “Auditing”.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
Date
|
Date/Time |
Date and time
record was written |
RecordType
|
Long Integer |
501 = OPER, 502
= MODERATOR, 503 = DIE, 504 = RESTART, 505
= BADNICKPASS, 506 =
IMPERSONATESERVICEAGENT, 507 = MASSINVITES,
508 = NICKADD, 509 = NICKDROP, 510 =
NICKEXPIRE, 511 = GLOBALROOMLIMIT, 512 =
BADOPERPASS, 513 = ROOMMEMADD, 514 =
ROOMMEMDEL, 515 = INVITE, 516 = TOUR, 517
= ROOMADD, 518 = ROOMDEL, 519 = ROOMCHANGE,
520 = NICKCHANGE |
OriginatorNick
|
Text |
Nickname of
Originator |
OriginatorHostname |
Text |
Hostname or IP
Address of Originator |
Detail |
Text |
Detail
information |
Record Types
Oper |
Member has
become an Operator or Administrator. |
Moderator |
Member has
become a moderator in a room. |
Die |
An
administrator has issued the DIE command,
which terminates the server. |
Restart |
An Operator has
issued the RESTART command, which
terminates, then restarts, the server. |
Badnickpass |
A member has
attempted to use a registered nickname, but
has provided an incorrect password. |
Impersonatesvcagent |
A member has
attempted to impersonate the Service Agent |
Massinvites |
A member has
been issued a mass invites warning. |
Nickdrop |
A member's
nickname has been dropped. |
Nickadd |
A member's
nickname has been added. |
Nickexpire |
A member's
nickname has expired. |
Globalroomlimit |
The limit for
total number of rooms has been reached. |
Badoperpass |
A member has
attempted to gain Operator or Administrator,
but has provided an incorrect password. |
Roommemadd |
A member has
been added to a room. |
Roommemdel |
A member has
been deleted from a room. |
Invite |
A member has
been invited to a room. |
Tour |
A member has
been toured to a web page or another room. |
RoomAdd |
A room has been
added |
RoomDel |
A room has been
deleted |
RoomChange |
A setting for a
room has been changed |
NickChange |
A setting for a
nickname has been changed |
The ServerEvents table contains a record for each
startup and shutdown of the chat site. It also
contains event information pertaining to server
clustering. These records are only produced when
the site’s Security configuration specifies
“Auditing”.
Columns
Name |
Type |
Description |
Id |
Long Integer |
Record ID |
Date
|
Date/Time |
Date and time
record was written |
RecordType
|
Long Integer |
601 = START,
602 = STOP, 603 = CONNECT, 604 = DISCONN,
605 = CONNBUSY, 606 = BADKEY, 607 =
INVALCONFIG, 608 = ALREADY, 609 = UNKNOWN,
610 = INCOMP, 611 = INPROG, 612 = INPROG,
613 = NICKFOCAL, 614 = SERIALDUP, 615 =
BADFOCAL |
ServerName
|
Text |
Name of
clustered server |
ServerHostname |
Text |
Hostname or IP
Address of server |
Detail |
Text |
Detail
information |
|
Date/Time |
Date and time
record was written |
RecordType
|
Long Integer |
601 = START,
602 = STOP, 603 = CONNECT, 604 = DISCONN,
605 = CONNBUSY, 606 = BADKEY, 607 =
INVALCONFIG, 608 = ALREADY, 609 = UNKNOWN,
610 = INCOMP, 611 = INPROG, 612 = INPROG,
613 = NICKFOCAL, 614 = SERIALDUP, 615 =
BADFOCAL |
ServerName
|
Text |
Name of
clustered server |
ServerHostname |
Text |
Hostname or IP
Address of server |
Detail |
Text |
Detail
information |
|
|
|
|
Record Types
Connect |
Another server
has connected to this server using
clustering (server-server linking). |
Disconn |
Another server
has disconnected from this server using
clustering (server-server linking). |
Connbusy |
Another server
has attempted to connect to this server
using clustering (server-server linking),
but there is already a connection being made
to a server of that same name. |
Badkey |
Another server
has attempted to connect to this server
using clustering (server-server linking),
but it is using the same serial number as
another server that is already connected. |
Invalconfig |
A server has
attempted to connect to this server, but it
is already connected via another server that
is directly connected to the server on this
system. |
Already |
A server has
attempted to connect to this server, but it
is already connected. |
Badfocal |
A server has
attempted to connect to this server, but it
is using a different server for Nickname
Services. All servers connected using
clustering (server-server linking) must use
the same server for Nickname Services. |
Unknown |
A server has
attempted to connect to this server, but it
is not defined in the configuration. |
Incomp |
A server has
attempted to connect to this server, but it
is running in a different network style
(ChatSpace Native or IRCD (RFC1459)
Compatible). Servers that link to each other
must always use the same network style. |
Inprog |
A server has
attempted to connect to this server, but
this server is already attempting to connect
to it. |
Badpass |
A server has
attempted to connect to this server, but has
provided a password that does not match the
password this server expects. |
Nickfocal |
|
Serialdup |
A server has
attempted to connect to this server, but is
using the same serial number as another
server already in the cluster. |
Serverstart |
Server has
started. |
Serverstop |
Server has
stopped. |
Transcript tables contain information about messages
sent in rooms and private messages. The following
tables are used for transcripts:
. RoomTranscripts
. P2PTranscripts
Note:
Each table is described in the sections that follow.
Primary keys are shown in blue. Indexed fields are
shown in green. Unique keys are italicized
The Transcripts Table contains information about
messages sent into rooms that are configured to
record transcripts.
Columns
Name |
Type |
Description |
Id |
Long
Integer |
Record ID |
Date
|
Date/Time |
Date and
time record was written |
RecordType
|
Long
Integer |
101 = Room
Transcript |
OriginatorNick |
Text |
Nickname of
Originator |
OriginatorHostname |
Text |
Hostname or
IP Address of Originator |
Verb |
Text |
Internal
protocol command verb of message, either
PRIVMSG or NOTICE |
Room |
Text |
Name of
room |
MsgText |
Text |
Text of
message |
The P2PTranscripts Table contains information about
messages to and from members in private.
Columns
Name |
Type |
Description |
Id |
Long
Integer |
Record ID |
Date
|
Date/Time |
Date and
time record was written |
RecordType
|
Long
Integer |
201 =
Person 2 Person Transcript |
OriginatorNick |
Text |
Nickname of
Originator |
OriginatorHostname |
Text |
Hostname or
IP Address of Originator |
Verb |
Text |
Internal
protocol command verb of message, either
PRIVMSG or NOTICE |
TargetNick |
Text |
Nickname of
person the message was sent to |
MsgText |
Text |
Text of
message |