Installation Guide

Installing ChatSpace

To install ChatSpace Community Server, download the ChatSpace Community Server installation file from the ChatSpace web site or the email sent to you by ChatSpace (if applicable).  Once the file is downloaded to the computer on which you wish to install Community Server, just double-click the file or type its location in the “Run” box (accessible by clicking the Windows “Start” button, then “Run”).  This starts the ChatSpace Community Server Installation Program.

The ChatSpace Community Server Installation Program is a “wizard” style installer. It will ask you a few simple questions such as your email address and passwords you’d like to use. Once it has collected all the information it needs, it will then copy all the necessary files and make all the required system modifications on your computer in order to install ChatSpace Community Server.

Database Usage

Normally, Community Server installs itself into the SQL Server running on the computer.  If there is no SQL Server running on the computer, the installation program offers you the choice of installing Microsoft’s free lightweight version of SQL Server (MSDE), or running against a database on another system.

Using MSDE

If you choose to install MSDE, the installation program downloads it, initializes it and sets it to run. This all happens “behind the scenes”; you don’t need to take any action other than clicking the “Next” button on the installer and making up a password when it asks you to.

Using SQL Server installed on same system

If you choose to use SQL Server already installed on the same system, the installation program creates the database and sets all the required definitions. This all happens “behind the scenes”; you don’t need to take any action other than clicking the “Next” button on the installer and providing the correct database userid and password when prompted.

Running against a Database on another Computer

If you choose to set up Community Server’s database on a different computer, you’ll have to take some additional steps to accomplish this.

1.     Copy c:\Program Files\ChatSpace\Community Server\CSSrvr\Programs\ChatSpaceSetup.sql to the c:\ drive of the computer where the database resides.

2.     Run the ChatSpaceSetup.sql script either by using the Query Analyzer tool in  SQL Server’s Enterprise Manager, or by typing the following command from a command (MS-DOS) prompt:     

osql –E –I ChatSpaceSetup.sql

*Note: You will need Administrator access to the SQL Server computer and you will need to know the account information (userid and password) for database access.  If you don’t have this information, you should contact the individual in your organization responsible for maintaining the database systems.

3.     Back on the computer where you installed Community Server, bring up the ODBC Data Source Definition for ChatSpace.  To do this, click (beginning from the Windows “Start” button at the lower left corner of the screen): “Start”, then “Settings”, then “Control Panel”, then “Administrative Tools”, then “Data Sources(ODBC)”.  When the Data Sources window appears, click the “System DSN” tab.

4.     On the ODBC Data Sources window, click the “ChatSpace” item in the list, then click the “Configure…” button.  On the first page of the configuration (near the bottom), change the   “Server:” entry to the hostname of the computer where SQL Server is running.  When this is done, click the “Next” button.

5.     Select the lower circle button (“With SQL Server authentication using a login id…”.   In the bottom section of the page, fill in the userid and password required to access that database.  Click “Next” when this is done.

*Note:  If you receive a failure message at this point, then you haven’t filled out the correct information.  Contact the individual in your organization responsible for maintaining the database systems for assistance.

6.     On the next page, ensure that the “Database” field is set to “ChatSpace”.  Click “Next” twice until you see the “Test Data Source” button at the bottom.  Press that button to test the connection.

7.     Now open Community Server’s Configuration by clicking (beginning from the Windows “Start” button at the lower left corner of the screen): “Start”, then “Programs”, then “ChatSpace”, then “Control ChatSpace”.  This brings up the ChatSpace Control Panel.

8.     On the ChatSpace Control Panel, click the “Configure” button.  This brings up the Chatspace Configuration Tool.

9.     On the ChatSpace Configuration Tool’s General Tab, click the “Database” button.  Ensure that the userid, password, and server are set to the values you set up in steps 4 and 5.

Community Server should now be ready to run against the remote database.

Message Board Integration

To enable message board integration for your site, you must re-run the installation program and check the "Integrate with IIS" checkbox when it appears (unless you checked that box when you previously installed). You must also check the "Enable Msg Board Integration" checkbox in the configuration's Advanced settings (on the General tab). See section in this guide entitled "ChatSpace Configuration Tool" for detailed instructions.

Setting up Instant Messaging

This feature is only available in ChatSpace Premium Edition.

Instant Messaging allows your members to add other members as “buddies” and chat with them any time they are visiting your website.  They do not have to be using your chat site at the time.

To enable Instant Messaging on your website, (or wherever you wish to have your Instant Messaging be available to your members), add the following script line:

<script language="JavaScript" src=”http://yourIISwebsiteNameHere/CSIM/Java/im.asp”></script>

 

If your website has a “footer” or a navigation bar, this would be the ideal placement for this line.   If this is not the case, then you can just place the script line on all pages of your site.  At a minimum, it should be on the “main” page so that your members bring up the Instant Messenger when they first arrive at your site.

If your site has major sections that your users might directly access without first visiting your “main page”, then place the script line on those pages as well.

Setting up Community Messaging

This feature is only available in ChatSpace Premium Edition.

Community Messaging allows your web site visitors to chat with other users who are also browsing that same page.  Your web site visitors will see a note stating: “There are 47 people viewing this web page – 12 of them are chatting. Chat Now!”.   The “Chat Now!” text is a link that will take the visitor to the chat room for this page.

To enable Community Messaging on your website, add the following script line to each page that you wish to enable for Community Messaging:

<script language="JavaScript" src="http://yourIISwebsiteNameHere/CSTrack/Presence.asp?call=CommunityMessaging"></script>

Which displays:

Chat Now!

.... which is a link that leads to the chat room for this web page.

To display information regarding current activity, use the GetCommunityChatCount call to display the current number of users chatting for this page, and the GetCurrentUserCount to display the number of users viewing the page.  Example:

      
There are
<script language=  
"JavaScript"src="http://yourIISwebsiteNameHere/CSTrack/Presence.asp?call=GetCurrentUserCount"></script>
people viewing this page --
<script language="JavaScript" src="http://yourIISwebsiteNameHere/CSTrack/Presence.asp?call=GetCommunityChatCount"></script>
of them are chatting.

Which displays:

There are 42 people viewing this page -- 19 of them are chatting.

 

Note: By default, these calls set up messaging at the current web page level of granularity.  To override this to create your own granularity scheme, pass in a NAME parameter to each of the calls.  Example: 

<script language="JavaScript" src=”http://yourIISwebsiteNameHere/CSTrack/Presence.asp?call=CommunityMessaging&name=Products”></script>

Setting up Web Tracking

This feature is only available in ChatSpace Premium Edition.

To enable Web Tracking on your website, add the following script line to each page that you wish to enable for Web Tracking:

<script language="JavaScript" src="http://yourIISwebsiteNameHere/CSTrack/Presence.asp"></script>

 

Note: By default, this call sets up tracking at the current web page level of granularity.  To override this to create your own granularity scheme, pass in a NAME parameter to the call.  Example: 

<script language="JavaScript"src="http://yourIISwebsiteNameHere/CSTrack/Presence.asp?name=Products"></script>

 

To view the list of users through Web Tracking, browse http://yourIISwebsiteNameHere/CSTrack/Admin/ .  From this interface, you can perform:

.      Real Time Monitoring -  Displays current web site visitors information and allows you to chat with them.

.      Reports -  Displays summary and detailed information regarding pages web site visitors have visited and left

.      Configuration -  Allows you to change the ping frequency used to verify that the visitors are still present.  A higher ping frequency is appropriate for websites with high hit rates.  A low ping frequency helps increase the accuracy of the real time reporting and decreases the time required for a visitor to respond to your chat requests

.      Chat – Brings up your chat interface so that you can conduct chats with the web site visitors you select.

Setting up Live Events

This feature is only available in ChatSpace Premium Edition.

Live Events is a set of interfaces that allow you to use a chat room in a highly-specialized mode of operation suitable to conducting controlled communication between a large audience and relatively few event “staff”.  A bank of screeners receive questions from the audience.  Messages accepted by the screeners are sent to the moderators, who present the message to the event at the appropriate time so that the talent (or interviewee) can respond to them.

Configuring a Live Event

To configure a live event:

1.    Using the Configuration Tool’s Rooms tab, add a room named “Event” and a room named “EventScreen”.

2.    Check the “Strict Moderation” option on the room settings of both rooms.

3.    Add at least one moderator to the members list of the Event room.  Should have owner or moderator status.

4.    Add at least one screener to the members list of the EventScreen room.  Should have owner or moderator status.

5.    Add a member entry for the Talent (or interviewee) to the Event room.  Should be added with Voiced authority.

Accessing a Live Event

To access a live event:

.      Audience (link should be placed on your website):  http://yourChatSpaceHostnameHere/Event

.      Moderator(s):  http://yourChatSpaceHostnameHere/Event/Moderator

.      Screener(s):  http://yourChatSpaceHostnameHere/Event/Screener

.      Talent (interviewee):  http://yourChatSpaceHostnameHere/Event/Talent

Setting up Live Help

This feature is only available in ChatSpace Premium Edition.

Live Help allows you to turn a chat room into a “call center” style one-on-one queued help facility.  Customers enter a queue, are told that the “next available representative will assist them as soon as possible”, then are assigned to a one-on-one chat session with a Customer Support Representative (CSR) or other form of “helper”.  Incoming “customers” are assigned to the available CSRs in a “round-robin” fasion.

Configuring for Live Help

To configure a live help queue:

1.    Using the Configuration Tool’s Rooms tab, add a room in which you plan to provide Live Help.

2.    Check the “Live Help Queue” room setting in the room options.

3.    Check the “Strict Moderation” room setting in the room options.

4.    Using the file c:\Program Files\ChatSpace\Community Server\CSServer\Data\LiveHelpSample.htm as a guide, insert the following lines on the web page on your website that you wish to offer a Live Help on:

    function popSupport(room)

    {

     window.open("http://yourChatSpaceTCPIPHostnameHerejava/popsupport.htm","popSupport","height=300,width=590");

      return false;

    }

If you instead wish to offer the “HTML  Client” to your Live Help customers, insert the following lines instead:

    function poSupport(room)

    {

     window.open("http://yourChatSpaceTCPIPHostnameHere/java/LiveHelpHTMLClient/default.htm","popHTMLSupport","height=480,width=640");

      return false;

    }

5.    Add a link to the page for accessing Live Help.  Example:

    <form action="/default.htm" onSubmit="popSupport(); return false">

      <input type="Submit" value="Live Support"><br>

    </form>

or

<a href=”javascript:popSupport()”><img src=”AnySuitableImageYouWish.gif” alt=”Live Help”></a>

Accessing Live Help

To access your Live Help Queue (as a CSR/Helper):

.      CSR/Helper interface:  http://yourChatSpaceHostnameHere/CSR/

Running your Chat Site

There are 3 basic ways to run your Community Server: on your own network server computer, on your desktop computer, or hosting with Akiva.

Running on your Internet Server

If your organization has server computers connected to the Internet, you can install Community Server there.  This gives you complete control of your chat site, and allows it to be continuously available to your members 24 hours per day, 7 days per week.  You can not, however, just upload files to your website and run ChatSpace from there.  ChatSpace runs as an NT service and must be fully installed on the computer it runs on.

Running on Your Own Desktop Computer

You can install Community Server on your desktop or home computer. It will only be available to your members when your computer is turned on and connected to the Internet.  It will also only be able to hold as many concurrent members as your modem or other connection type (cable, DSL, etc) will handle.

Hosting with Akiva

If you do not have a network server computer but need your site to be available 24 hours per day, then Akiva’s Chat Site Hosting is an ideal solution. Akiva sets up your chat site and runs it on its own servers. Your job is then made easy: add a link from your site to the chat site ChatSpace, Inc. is running for you.

Akiva Chat Hosting Service includes round-the-clock systems and facilities management, configuration management and traffic statistics reporting. Akiva Chat Hosting Service provides ultra-high-speed Internet connectivity so your visitors get fast, responsive chat messaging.

Accessing Your Site

Now that you have your Community Server site installed, you’ll need to access it and tell your user community how to access it.  There are several access points for the software: IIS interface, direct native web server interface, embedding on a web page on your website, and IRC access.

IIS Interface

If IIS is installed on the computer that you installed Community Server on, then you can access your chat site by browsing to that website’s /Chat. For example, if the website’s URL is http://www.myorg.com, then you would be able to access your Community Server at http://www.myorg.com/Chat.   If you already have a directory or virtual root called “Chat”, then Community Server will instead install to /CSChat.

*Note:The IIS Interface is the only interface that provides access to the Message Board functions.

Direct Native Web Server

Community Server has its own internal web server.  If IIS is not installed on the system, then you can access Community Server through its own native web server by just browsing to the hostname of the computer.  For example, if the TCP/IP hostname of the computer you’ve installed Community Server on is chat.myorg.com, then you could access the Native Web Server by browsing http://chat.myorg.com

Even if IIS is installed on the system, the Native Web Server is still available at port 8000.  Using the above example, the URL for the Native Web Server would be http://chat.myorg.com:8000.

Embedding Chat on a Page on your WebSite

You can directly embed the chat interface along with your other content directly on a web page on your existing website.  See the Web Page Builders Guide in this manual for details on accomplishing this.

IRC Client Access

Community Server opens up the usual IRC protocol ports (6667 and 7000 by default) for use by IRC client software.  Users familiar with IRC clients can access your chat site the same way they access all their other IRC server software.

Controlling Access to Your Site

Even if you intend to run an open and anonymous access site, you should be familiar with the various techniques for controlling access as well as the facilities that ChatSpace Community Server provides for implementing those techniques.

Members-Only Site

A members-only site provides for very tight control of your chat site.  There are several options for handling new members.

Automatic Registration

ChatSpace 2.1 provides a membership feature, which allows members to register in order to access your chat site. To enable this feature you must check the boxes "Allow members to register their own nicknames" and "Must have a registered nickname to sign on" in the Members Tab of the Control Program. To access the Control Program, right click on the ChatSpace tray icon and select Control. The Members Tab is in the Configure section.

Alternate Registration (under 13, over 18)

One final membership option available is “Alternate Sign-up”.  This is a generic facility providing a question to members. If members provides the proper answer they will be allowed to proceed to the alternate sign-up form.  The default alternate sign-up in is designed to allow you to validate that a new member is either over 13 years of age, or has a parent’s permission to access the site.

This alternate sign-up page asks if the prospective member is 13 years of age or younger.  If "Yes" is clicked, then by default the child is given a form to print and give to his or her parent, explaining the purpose of the site.  It also contains a recommendation that the parent examine the site to determine whether it is suitable for his/her child prior to giving the password (generated, and contained in the email) to the child.  If the parent chooses to give consent, he or she signs the form and faxes it back to the administrators of the chat site in question.  The administrators have the responsibility of inspecting the form for completeness and signature.

This alternate sign-up facility could also be used to validate that a person is 18 or older, as is required with some sites.  The alternate path in this case (if the member chooses the "I am under 18" button) would be to simply display a web page stating that only those 18 or older are allowed to enter the site.

Client Classes

Client classes provide another method of controlling access to your site.  They can be used to limit the domains that can connect to your site, and they can be used to control the type of clients that can access.

Restricting to Specific Internet Domains

ChatSpace’s Client Classes can also be used to restrict access.  Each user attempting to access a ChatSpace server must be assigned to a Client Class.  The ZDEFAULT class allows all users to access from any TCP/IP Hostname or IP Address, and without a password.  If your member base is known to have a predictable TCP/IP hostname pattern or only a certain range of IP Addresses from which they access the community, Client Classes can be created to match those patterns – permitting access only from those IP Addresses/hostnames.  This mechanism can be used to create a “virtual private community” over the public Internet, analogous to a virtual private network. 

For example, if the Acme corporation (domain name acme.com) desired to set up a community accessible to only acme employees, spread out all over the world in various Acme facilities, the ZDEFAULT client class could be edited to require a TCP/IP hostname pattern of  *.acme.com. The  “*” indicates that any text may appear prior to the “acme.com”.

Blocking use of IRC Clients

The Client Class also provides a simple control for preventing “IRC Clients” from being used on your site.  They can be set to allow any user to use IRC Clients, Room Moderators (and above) only, Administrators only, and no access at all for IRC clients.

Adding Custom Sounds

Sound files can be added to the installation directory’s Sounds folder (normally c:\Program Files\ChatSpace\Community Server\CSSrvr\Data\Sounds).  Sound files must be in the .au file format, and should be recorded or converted with an 8khz sampling rate.

Adding Custom Emotions

Emotion files can be added to the installation directory’s Emotions folder (normally c:\Program Files\ChatSpace\Community Server\CSSrvr\Data\Java\Graphics\Emotions).  Emotion files should be in .gif format.

Adding Custom Avatars

Emotion files can be added to the installation directory’s Avatars folder (normally c:\Program Files\ChatSpace\Community Server\CSSrvr\Data\Java\Graphics\Avatars).  Avatar files should be in .gif format.


Clustering Servers Together

ChatSpace Community Servers connected together into a cluster will share all information regarding users and rooms. In addition, Administrators and Operators on one server have authority on any server in the network. For this reason, you should ensure that any server connected to your network is operated in a manner consistent with the rest of your network.

Reasons for Clustering

Scalability

A single computer system will always have a limit as to the number of concurrent users it can handle before exhausting its resources.  By clustering Community Servers together, the capabilities of multiple computer systems can be combined in order to scale the size of the community to the required dimensions.

Load Balancing

In environments where ChatSpace Clustering is used, it is usually desirable to implement some form of load balancing.  This can be accomplished very simply and crudely, or can be done in a very sophisticated manner.

Simple load balancing can be implemented by rotating the address that users are sent to among the various servers in the cluster.  There are a number of techniques for accomplishing this, including Round-Robin DNS, server-side scripting (i.e. Active Server Page) designed to “round robin” through the list of server addresses for the link displayed for the chat, and server-side scripting to check the number of users on each server in the cluster then cause the user to link to the server which currently has the fewest online users.

More sophisticated load balancing can be accomplished using hardware and software products designed just for that purpose.  And excellent example of such a product is Cisco Local Director.  Please refer to the Cisco Systems, Inc. website for more information relating to Local Director.

Failure and Recovery

In high-availability environments, protection from single system failures is highly desirable.  ChatSpace clustering configurations can be implemented to achieve several levels of failover and redundancy in order to minimize the operational impact of system failures.

Simple

The first and simplest level of failure toleration is a 2-system cluster.  In any cluster, one server always acts as a “hub”.  It coordinates activity to the database on behalf of the users.  A second server (referred to as a “leaf”) can be clustered to this hub and used as the primary access point for users.  If the second server fails, then the link to the chat (or the DNS entry) can be switched so that users connect directly to the hub – bypassing the failed system.  In the event that the hub should fail, the second server can be quickly reconfigured to act as a hub.  This is as simple as just checking the 3 checkboxes in the configuration.

Comprehensive

A more comprehensive level of failover redundancy can be achieved by implementing multiple leaves and a backup hub. 

Clients connect to the various leaves using one of the load balancing techniques discussed in the previous section.  A failure of any one of the leaves is recovered from by removing that leaf’s address from the load balancing scheme, and redirecting the failing clients back to the page implementing the load balancing scheme.  ChatSpace Client Technology includes support for clients automatically reconnecting to other leaves in the cluster when their original leaf cannot be contacted.

To prevent overloading leaves when failures occur, additional leaves should be added whenever the overall cluster resource utilization reaches 50%.  This policy allows the cluster to operate normally even if as many as half the leaves are in a failed state.

In the event that the hub should fail, a backup hub can be standing by for automatic failover connection.  This backup hub should be configured in exactly the same manner as the primary hub.  Each Leaf should have a configuration entry for the primary hub and the backup hub.  If the primary hub fails, the leaves will automatically connect to the backup hub.  This operation should take less than 60 seconds and will not disrupt any user connections in the process.

Clustering Style

There are 2 styles of clustering: Tight and Loose (IRC).

Tight Clustering

If clustering servers together that are at the same location, you should choose “Tight Clustering” when defining the servers.  This option allows each server in the cluster to interface to the database.  It is the most efficient style of clustering, achieving the highest scalability.

Loose (IRC) Clustering

When linking servers together using Loose Clustering, only one server on the network may provide Nickname Services for the network. All other servers must specify "Obtain Network Services from Another Server" in the Nicknames tab of the configuration tool. If any server tries to connect to the network, but has not made this configuration change, then the following error message will be issued:
"This server is receiving its Nickname services from <Service Agent> (on <Server Name>). Cannot connect to <Service Agent> because it is using <Service Agent> for Nickname Services (only one server on a network can provide Nickname Services).Cannot allow connection"

Configuring a Cluster

Configuring a cluster requires you to make configuration changes on at least 2 Community Servers.

Information You Must Exchange

To link with another server, contact the Administrator of the other server and provide the following information:

1.     Server Name: This is exactly the value that appears on your Configuration Tool, General Tab, ServerName Field.

2.     TCP/IP HostName: The TCP/IP Hostname of the system. Do not provide if this is a dynamic hostname (changes every day or every connection).

3.     Port: This is usually 6667, but if your server does not use port 6667, this must be communicated to the Server Administrator of the server you are trying to link to. This is the value that appears on your Configuration Tool, General Tab, Ports Field (any of the ports listed is fine).

4.     Password you Expect: A password (make one up) that you will expect the other server to send.

What To Do If Both Servers Have Dynamic IP Addresses

If both your server and the server you will connect to have Dynamic IP Addresses, then one (or both) of you should obtain an unchanging hostname. Only one server is required to obtain an unchanging hostname. A Dynamic IP address should not be entered into the Server Definition Entry fields.

Simple Networking

To link two servers, each server adds a Server Definition Entry for the other server. For example, if Bob and Linda want to link their servers, Linda would provide Bob with the following information:

·         Her ServerName, from her Configuration Tool's General Tab, ServerName Field: lindas.chat.server

·         Her TCP/IP hostname: linda.xyz.com

·         The password she expects to receive: LindasCatsName

Using the information provided by Linda, Bob creates a Server Connection Entry on his system using the following steps:

1.     Launch the ChatSpace Configuration Tool. From the Windows Desktop "Start" button: Start® Programs® ChatSpace® Configure ChatSpace

2.     Click the Servers tab on the Configuration Tool. Select Simple for Network Configuration. A current list of defined severs will be displayed.

3.     In the Other Servers section, click the ADD button. The Server Connection Entry window will be displayed.

4.     In the ServerName field, enter lindas.chat.server. This is the text that Linda has on her Configuration Tool's General tab, ServerName field.

5.     Check the box labeled "Allow connect-out to server", then, in the Hostname field, enter linda.xyz.com. This is the TCP/IP hostname for Linda's system. Dynamic IP addresses should not be used here. If Linda has a Dynamic IP address, an unchanging hostname should be obtained from a service such as DynDNS.

6.     Check the box labeled "Auto Connect". This will allow ChatSpace to periodically attempt to connect to this server, whenever it is currently not connected.

7.     In the Password Expected field, enter BobsDogsName. This is the password that Bob expects from Linda's system.

8.     In the Password Sent field, enter LindasCatsName. This is the password that Linda expects from Bob's system.

9.     Close the Server Connection Entry window and the ChatSpace Configuration Tool. Your entry will not be saved until all windows of the Configuration Tool are closed.

Bob would then tell Linda his ServerName (bobs.chat.server)(from his Configuration Tool's General tab, ServerName Field), his TCP/IP hostname(bob.dyn.ml.org), and the password he expects to receive(bobsdogsname). Linda then uses this information to create a Server Connection Entry on her system using the same step-by-step procedure described above.

Structured (More Complex) Networking

Some instances warrant a more complex network. For example, you have eight servers; four in Los Angeles, and four in Philadelphia. With simple networking, it is possible for a message sent from one user to another to cross the country several times, causing unnecessary delay and inefficiency. By defining a "hub" in Los Angeles, and another in Philadelphia and connecting the remaining three servers in each city (the leaves) to its "hub", an efficient network can be created in which messages do not cross the country more than once.

Another valid reason for setting the network up as groups of hubs and leaves is to take advantage of servers with good connections (in terms of high speed or 24 hour connectivity) to the Internet. These servers should be designated as the hubs of your network.

Setting Up Your Hubs

To continue the example, select one of the servers in Los Angeles to be the "West Coast Hub". This should be the server with the fastest connection, or the best availability (preferably, connected to the Internet 24 hours a day). Perform the following to configure the LA hub:

1.     Launch the LA hub's Configuration Tool.

2.     Click the Servers tab.

3.     Select Complex Network Configuration.

4.     In Leaf Servers list, add an entry for each of the other three servers in Los Angeles. Follow the step-by-step instructions outlined in the "Simple Networking" section of this manual.

Connecting the Leaves to the Hub

Connecting a Leaf to its hub requires you add a Hub Server Definition entry in each leaf. On each Los Angeles leaf, perform the following:

1.     Launch the LA leaf's Configuration Tool.

2.     Click the Servers tab.

3.     Check the box labeled "Structured Networking".

4.     In Hub Servers list, add an entry for the Los Angeles Hub. Follow same step-by-step instructions outlined in the "Simple Networking" section of this manual.

Connecting Hubs Together

After completing the steps to set up the LA hub and it's leaves, follow the same procedure for the servers in Philadelphia. When completed, follow the final step to connect the two hubs.

1.     Launch the LA hub's Configuration Tool.

2.     Click the Servers tab.

3.     In Hub Servers list, add an entry for the Philadelphia Hub. Follow the step-by-step instructions outlined in the "Simple Networking" section of this manual.

Follow this procedure on the Philadelphia Hub's Configuration Tool, adding an entry for the Los Angeles Hub. Your network is now formed.

Providing Backup Hubs

Although unnecessary, hubs can be set to back each other up in case one of them fails. For example, if the Los Angeles Hub fails, all of the Los Angeles Leaves would connect directly to the Philadelphia hub. To set up a back up hub for the leaf servers in Los Angeles:

1.     Launch the LA leaf's Configuration Tool.

2.     Click the Servers tab.

3.     In Hub Servers list, add an entry for the Philadelphia Hub below the entry for the Los Angeles Hub. The order in which the hubs appear in the Hubs list determines which is the primary hub, and which are the backup hubs. The topmost entry is the primary hub. Follow the step-by-step instructions outlined in the "Simple Networking" section of this manual.

Repeat the above procedure for each of the remaining Los Angeles leaves.

Dynamic IP Addresses

If you are signing onto the Internet from a paid Internet Service Provider (ISP), it is likely you have a Dynamic IP address. As a result, the hostname and IP address of your computer changes every time you sign on to the Internet. This creates unique problems for your users, who may never know what address or name to use for your server.

Determining whether or Not You have a Dynamic IP Address

If you connect to the Internet via a dial-up connection, you may have an IP address and hostname that changes each time you connect. To determine whether your ISP is assigning you dynamic IP addresses:

1.     From your desktop's Start button, issue the following sequence:
Start->Programs->ChatSpace->Chat

2.     Once signed on, click the Info button. The last two lines of the Info command display notify you how to connect to the server using either a web browser, or a native IRC client. Your current hostname is stated there.

3.     Write down the web address.

4.     Shut down ChatSpace and disconnect your modem from the Internet.

5.     Re-dial your connection to the Internet and restart your ChatSpace server.

6.     Repeat these steps several times. If the hostname changes, then you have a dynamic IP address.

What to do if you have a Dynamic IP Address

When using a Dynamic IP Address, it is important to obtain a completely custom name - a name or address that never changes. This may be obtained from your ISP for a small fee. You may also view the information from the InterNIC.

An easier and inexpensive solution is DynDNS. Using this service, you can obtain a custom name (such as carchat.dyndns.com), and have that name be updated with your most current IP address. This allows people with dynamic IP addresses to have an unchanging name.

If you do not want to (or can't) obtain your own unchanging hostname for your server, you must two extra steps must be taken each time you connect to the Internet:

It is necessary to allow the user community complete access to your server by publishing your current web address. preferably on your web home page. Whenever connecting, place a link to your WWW server (my.dynamic.hostname:8000). For IRC client users, provide a statement such as "Today my server can be reached at my.dynamic.hostname on port 6667". There are automated shareware programs to help with this process. For more information, see the "IP Posters" section of TUCOWS.

If you link to other servers, contact that server's administrator in order to update his control panel (servers tab) with your server's current information. There are alternatives if the other server has a static (non-dynamic) IP address. He may elect to disregard any hostname information for your server (providing servername and passwords only). You must then provide complete information for the other server, and take responsibility for initiating the connection. If you and the other server are on dynamic IP addresses, one of you or he must update server information.

Managing the cluster

You may connect or disconnect other servers to your server if they are defined. Only the server's owner can set up these definitions. To check which (if any) servers are allowed to link to your server, click on the Rooms Option button. When the Room Options dialog appears, click on the Servers Tab. The top box (labeled "Defined Servers") will illustrate which servers are allowed to link to your server. The bottom box ("Connected Servers") shows which servers are currently connected.

To connect a server, highlight the server in the Defined Servers box and press the Connect button. Keep an eye on the Server Messages box (Chat Options >Messages button). If the server experiences a problem connecting, the reason will be displayed.

To disconnect a currently linked server, highlight the server in the Connected Servers box and press Disconnect.

Server Configuration

Once installed, ChatSpace requires no initial configuration. It does, however provide a rich set of customizable configuration elements.

ChatSpace Configuration Tool

To configure ChatSpace, launch the ChatSpace Control Panel by double-clicking the ChatSpace icon in the desktop's taskbar "tray", or by selecting “Control Chatspace” from the program’s entry in your Windows Start Menu:

e.g. Startè ProgramsèChatSpaceèControl ChatSpace

When the Control Panel appears, press the Configure button to launch the ChatSpace Configuration Tool.

On the Control Panel, press the Configure button to launch the ChatSpace Configuration Tool.

For Help with specific items on each tab of the ChatSpace Configuration Tool, highlight the item with the mouse, and right-click. If a "What's This?" menu is displayed, click on it for help. If no menu appears, then right click on the label field adjacent to the control you require help with.

* Note:  You may also click the "?" in the upper right-hand corner of the window, and click on the item for which help is needed.

The ChatSpace Configuration Tool is a tabbed "property sheet." Each tab contains fields, buttons and choices that allow you to control the way ChatSpace functions. The tabs are:

General

Server Name, Contact Information, Network settings, Database Properties.

Client

Client Class Definitions, Server Welcome Message

Clustering

Server-to-Server networking. Definitions of other servers this server connects to.

Security

Server Bans, forbidden words, restricted Nicknames, Audit Records, Spoof and flood protection.

Community

Controls your server's listing in the ChatSpace Community Directory.

Rooms

Room parameters, including definition of Registered Rooms.

Members

Registered Nickname parameters.

General Tab

The General Tab contains settings that affect the general operation of the chat server. All of the settings on this tab (but not the advanced settings) are accessible via the Remote Administration Interface.


General Tab Fields

.       Server Name: Name of the server. Does not have to be the TCP/IP hostname. Users CANNOT signon to the server using this name -- they must use the TCP/IP hostname (use /INFO command on client interface for user signon instructions).

.       Description: Description of this server. Appears on the Client Alternate Welcome Message, the ChatSpace Community Directory and in some informational commands.

.       Contact Info: Name of the person who should be contacted for information regarding this server.

.       Contact Email: Email address of the person who should be contacted for information regarding this server.

.       Default Room: Default channel specified when using ChatSpace's web server to access the chat environment.

.       Product Key: License key for this product. Should be obtained from ChatSpace Inc. or an authorized reseller.

.       Run at system startup: Start ChatSpace automatically when the system starts.

.       Advanced: Displays the Advanced Options.

Advanced Options Fields

.       Disable DNS lookup: Do not lookup IP Hostnames for users. Use only TCP/IP Addresses.

.       Limit connections: Limit connections to the specified number.

.       Bind to IP Address: If this system is known by more than one hostname, only allow connections made to one of those hostnames.

.       Run as a service: If running under Windows NT, run this server as an NT Service. It is then started and stopped from the Windows NT Control Panel Services applet.

.       Enable Msg Board Integration: Enable integrated message board through ASP (Active Server Pages) interface.

.       Restart when modem connects/disconnects: If the modem on this server changes status (comes up or goes down), restart this server to pick up any changes to the TCP/IP environment (such as dynamic IP address).

.       Chat Ports: Port(s) that will allow chat connections. You may define multiple ports (separated by commas), or ranges of ports (separated by a dash). Example: 7000,6667,6668-6680.

.       Web Port: Port used to access this server via the World Wide Web.

.       Disable Web Server: Do not open an interface to the Web.

Client Tab

The Client tab contains Client Configuration Definitions (definitions of who is allowed to connect to your server) as well as your Server Welcome Message.


 


Client Tab Fields

Server Welcome/Message of the Day

The Server Welcome / Message of the Day is a message sent to members when they sign on. This feature can also be used to establish rules of the server.

Client Configurations

The Client Configurations section displays a list of Client Classes. These classes determine which IP Addresses or hostnames are allowed to be on your server. In the event that you only want to allow people who come from your own domain on your server, you would enter a mask that would match that domain into the "From Host" field. For example, an ISP with a domain of xyz.net would enter "*.xyz.net" into the "From Host" field in order to restrict usage to their customers only.

*   Note:  Userid is provided largely to profile compatibility with IRC, and should ordinarily not be used. Likewise, the password field is provided primarily for compatibility with IRC, and should ordinarily not be used; it requires that all client software accessing this server be pre-configured with a password in order to connect.

Client Classes are scanned for matches (from the top of the list, down) with the connecting member's hostname (and userid, if present). The topmost Client Class that matches is used to validate the login.

*   Note: This configuration item is not available from the Remote Administration Interface.

Client Configuration List Buttons

.       Add: Adds a Client Class.

.       Edit: Edits the currently selected Client Class.

.       Delete: Deletes the currently selected Client Class.

Client Class

The client class contains settings that can be mapped to connecting users.

Client List Fields

.       ClassName: Name of the Client Class.

.       Userid: Userid (pattern) required to match in order to use this class.

.       Password: Password that must match in order to sign on (usually blank or "*")

.       From host: Hostname (pattern) required to match in order to use this class.

.       Ping freq: Interval between "ping" requests (to verify that client is still functional).

.       Multiple clients per host: Allow more than two clients from the same hostname. Un-checking this box prevents "clones" from the same system.

.       Simple, restricted clients only: Clients using this class are restricted to using only a small subset of commands. They may not move from one room to another without signing off first.

.       Privacy:  Do not allow information about users in this client class to be visible to other members who are not in the same room with them.

Sign-on Options

<     Alternate Welcome Msg: If checked, this sends your server description in the "Welcome to..." message, rather than "Welcome to the Internet Relay Chat" message.

<     Send Msg of the Day: If checked, this sends the Server Welcome (also known as the Message of the Day (MOTD)).

Access Allowed from IRC Clients

<     All members may use:  Anyone who matches this client class may use an IRC client to gain access to the server.

<     Room Moderators (and above):  Room moderators, Operators and Server Administrators may use an IRC client, but normal users may not.

<     Administrators and Operators:  Operators and Administrators may use an IRC Client, but no one else can.

<     None may use:  No one who matches this client class may use an IRC client to gain access to the server.

 

 Note: Send LUSERS info: If checked, this sends the /LUSERS info (number of members signed on, number of channels) when a member signs on.

Clustering Tab

The Clustering Tab allows you to define other servers that your server can connect to (or "cluster with"). "Clustering servers" together allow two or more servers to share rooms and members.

* Note: This configuration item is not available from the Remote Administration Interface. This tab is not available in ChatSpace Free.

Network Configuration

Defines the type of networking you are performing, and it's complexity.

.       Simple: Doing simple networking --10 or fewer servers, with no hub-leaf relationship defined.

.       Complex: Doing complex networking. Some servers are designated as "hubs", others as "leaves"

Clustering Style

Defines which style of clustering is to be used. All servers in the cluster must use the same style.

.       Tight: Uses database sharing. Distributes workload of authenticating users among all servers.

.       Loose (IRC): One server authenticates all signons.  No common database.

Hub Servers

List of hub servers. The topmost entry is the first one that is attempted, followed by the others as they appear in the list.

.       Add: Add a Hub Server

.       Edit: Edits the currently selected Hub Server.

.       Delete: Deletes the currently selected Hub Server.

Other Servers

List of Leaf (or other simply-networked) servers.

.       Add: Adds a Server

.       Edit: Edits the currently selected Server.

.       Delete: Deletes the currently selected Server.

Server Entry


 


Server Entry Fields

.       Disabled: Disable this entry. The server ignores it completely.

.       ServerName: This is the name of the server defined by the entry. This must match the ServerName field on the other server's Configuration Tool, General Tab, ServerName field.

.       Ping freq: This is the time (in seconds) between "pings" to verify that the server is still active. Use the arrows to select your preferred value.

Connect-Out Info:

.       Allow connect-out to server: Allow /CONNECT commands to be issued to connect to this server. If not checked, the only way to connect the server is for the other server to issue connection. One server or the other (or both) must have this box checked.

.       Hostname: TCP/IP hostname of the server defined by this entry. If this is a dynamic name (changes every day), the other server should get an unchanging hostname from a service such as DynDNS.

.       Port: Port on the other server to connect to. This is usually 6667.

.       Auto connect: Automatically try to connect to this server when it is not already connected.

.       Connect freq (secs): Number of seconds between auto-connect attempts. Use the arrows to select your preferred value.

Passwords:

.       Sent: This is the password our server sends to the server defined in this entry. This must match the value the other server expects (defined on your server).

Expected: The password our server expects from the server defined in this entry. This must match the value the other server sends(defined on your server).

Community Tab

 

Connected to ChatSpace Community when this server up:

When checked, the server will announce itself to the ChatSpace Community Directory.

Connected to ChatSpace Community when modem connected:

When checked, the server will announce itself to the ChatSpace Community Directory according to the Scheduled Times indicated.

Connected to ChatSpace Community during scheduled times:

Scheduled Times: If connecting during scheduled times, this section describes the scheduled start and stop time

Start: Start time of the day for listing in the ChatSpace Community Directory.

End: End time of the day for listing in the ChatSpace Community Directory.

Weekdays: Lists the server in the ChatSpace Community Directory during the scheduled times on weekdays (Monday-Friday).

Weekends: List the server in the ChatSpace Community Directory during the scheduled times on weekends (Saturday & Sunday).

Registration (button):  Modify the server's registration values by utilizing this option. This will also allow you to change the way it appears in the ChatSpace Community Directory.

Security Tab

The Security tab allows you to set security options for your server, such as Server Bans, Prohibited Nicknames, and Forbidden Words.

Server Bans (Klines)

This is the list of members that are "banned" from this server. All banned members will not be able to log into the server.

.       Add: Add a new Server Ban.

.       Edit: Edit the currently selected Server Ban

.       Delete: Deletes the currently selected Server Ban

Server Ban Fields

.       Userid: Userid of the member you wish to ban from your server There should almost always be "*", as a member can easily change their userid to avoid the server ban.

.       Hostname: The hostname pattern of the member you wish to ban from your server. Be sure to place a wildcard ("*") anywhere there are numbers in the hostname.

.       Reason: Reason for this server ban.

Prohibited Nicknames

This is the list of nicknames that are not allowed to be used on the server. Server Administrators are not affected.

*   Note: This configuration item is not available from the Remote Administration Interface.

.       Add: Adds a prohibited nickname.

.       Edit: Edit the currently selected Prohibited Nickname.

.       Delete: Deletes the currently selected Prohibited Nickname.


Prohibited Nickname Fields

.       Nickname: Nickname pattern that may not be used on this server

.      
Reason: Reason for prohibition of this nickname.

Forbidden Words

A list of words whose use is not allowed on this server. Administrators are not affected.

*   Note: This configuration item is not available from the Remote Administration Interface.

.       Add: Add a new Forbidden Word.

.       Edit: Edit the currently selected Forbidden Word.

.       Delete: Delete the currently selected Forbidden Word.

Forbidden Word Fields

.       Forbidden Word: This is the word that will be changed if seen in a message. It works even when the word is embedded in another word.

.       Anywhere in a word?: If checked, if the forbidden word appears inside or as a part of another word, then the whole word is forbidden. For example, if the forbidden word is "xyz", then the word "xyzing" or "axyzbc" will be forbidden.

.       Substitution: This text will be substituted for the forbidden word, wherever it appears.

.       Warning Msg: This warning message is sent to the member who used the forbidden word.

Advanced (button)

Set advanced security options.

Advanced Security Options

Flood Detection: This option disconnects a member if they "flood" the chat room, i.e. they send too much data too quickly into the chat server.

Minimum seconds between messages: This is the shortest amount of time that two messages can be sent by a member. If two messages are sent by a member in less than the time alloted, then they are assigned a "penalty". Use the arrows to select your preferred value.

Maximum penalties before disconnect: This is the maximum number of "penalties" before the member is disconnected. Use the arrows to select your preferred value.

IP Address Spoof Protection: Protect from some forms of IP address "spoofing" (IP Address impersonation).

Max rooms a member can be in: The maximum number of rooms a member can be in at the same time. Use the arrows to select your preferred value.

Hide Hostname Details: This prevents members from seeing full hostnames and IP addresses of other members. This can be useful in preventing several kinds of denial of service attacks.

Hide Hostname Completely From Members:  This prevents members from seeing any hostname or IP address detail of other members, affording the maximum of anonymity to chatters.

Auditing: Audit events (but not messages) that occur on the server to the ChatSpace.log file. Includes server start/stop, member sign-on/sign-off, room entry/exit and failed password attempts.

View Audit Log (button):  Press to view audit logs.

Days to retain audit records:  The number of days to retain audit records.  Use the arrows to select your preferred value.

Disconnect users who mass Invite: Disconnect members who abuse the INVITE command by inviting massive amounts of people to rooms.

Hide security messages from members:  If selected, normal members won’t see kick or ban messages.

Block connections from “Open Proxies”:  Disallow connections from open proxies such as Wingate.

P2P only when in same room:  Person-2-Person chatting is only allowed between people who are in the same room.  (Does not affect Administrators.)

IRC-Style O-Lines… (button):  Click this button to edit the list of IRC style “O-Lines”, used to grant Operator and Administrator status.

The IRC-Style O-Lines window allows you to add IRC-style operator definitions. You should not normally need to use this; you should instead setup your Operators and Administrators by checking the appropriate box on the Member’s Profile.

      Note:This configuration item is not available from the Remote Administration Interface

Operator/Admin List Buttons

.       Add: Click this button to add a new Administrator or Operator.

.       Edit: Click this button to edit an Administrator or Operator.

.       Delete: Click this button to delete an Administrator or Operator.

Operator/Admin Entry

Operator/Admin Entry Fields

.       Entry Name: Operator Entry Name. This is the name that is used in the /OPER command to obtain Operator or Administrator status.

.       Password: Password for this entry. This must match the password presented on the /OPER command.

.       Global Operator: If this box is checked, this entry grants Operator status on any server that this server is linked to.

.       Administrator: If this box is checked, this entry grants Administrator status.

User Specifications

User Specifications is the list of userid and hostname patterns authorized to use this entry.

User Specification Buttons

.       Add: Add a userid and hostname pattern.

.       Edit: Edits the currently selected userid and hostname pattern.

.       Delete: Deletes the currently selected userid and hostname pattern.

User Specification Fields

.       Userid: Userid (pattern) that must match in order for a member to use this Operator Entry.

.       Hostname: Hostname (pattern) that must match in order for a member to use this Operator Entry. Be sure to wildcard ("*") anywhere in the name where you see numbers.

Rooms Tab

The Rooms tab allows you to configure how rooms are handled on your chat site.


Room Fields

.       Allow members to create rooms on the fly: Allows members to create dynamic rooms just by joining a room that doesn't already exist. Dynamic rooms are deleted when the last member leaves.

.       Show registered rooms with 0 users: In the rooms list, this shows registered rooms even if there are zero members in them.

.       Allow Registered Rooms: Allows registered rooms to exist on this server.

Registered Rooms

.       Moderators control transcripts: Allows Room Moderators to turn transcripts on and off, and allows them to set the "allow all members to view" setting.

.       Days to retain transcripts: Number of days to keep transcripts before being over-written. Use the arrows to select your preferred value.

.       Members can create registered rooms: Allows members to register rooms on their own. Administrators can always register rooms.

.       Max Number of Member-Registered Rooms: Maximum number of rooms that can be registered. Administrators will still be able to register rooms when this limit is reached. Use the arrows to select your preferred value.

.       Add (button): Add a new registered room.

.       Edit (button): Edit the currently selected registered room.

.       Delete (button): Delete the currently selected registered room.

 

Registered Room Fields

.       Name: Name of the registered room. May not contain embedded spaces.

.       Topic: Topic of this room. Displayed in the room list and in the title bar of members who are currently in this room.

.       Moderator Passwd: Password to obtain Room Moderator status in this channel. This can be issued by using /MODERATE command from the Java Client, or by issuing (for example): /SERVICES IDENTIFY lobby mypassword

.       Owner Password: Password to obtain Room Owner status in this room. This can be issued by using /MODERATE command from the Java Client, or by issuing (for example): /SERVICES IDENTIFY lobby mypassword

.       Room Welcome Message: Greeting sent whenever a member joins this room.

Modes
Options For The Room.

.       Members Only: A controlled setting that allows only members assigned to the room to access.

.       Invite Only (+i): Invite-only mode. No member (except Admins) may join the room unless a Room Moderator has issued the /INVITE command.

.       Max Occupancy (+l): Once the specified maximum number of members are in the room, no others may join (except Administrators).

.       Maximum number of members allowed in the room.: Use the arrows to select your preferred value.

.       Overflow:  When maximum occupancy reached, send new members attempting to join to numbered overflow rooms

.       Secret (+s): Secret room. This room is not seen in the room list unless the member issuing the list is already in the room or is an Administrator. Other members cannot tell that a member is in this room.

.       Entry Password (+k): Require that members present a password in order to enter the room. This is sometimes called a keyed room.

.       Password required in order to enter the room: Enter the required password here (no spaces are allowed in the password).

.       Strict Moderation (+m): When this mode is in effect, members must have "Voice" (which is usually indicated by a "+" in front of their nickname) in order to be heard in the room.

.       No External Msgs (+n): Prevents members from sending messages into this room from outside the room. It is usually best to leave this option turned on.

.       Moderators may not change settings:  Only Room Owners (as opposed to normal Room Moderators) may change room settings.

.       P2P Chat with Moderators Only (+c): Members may not P2P chat with each other, but may P2P chat with moderators.

Transcripts

This controls general use of Room Transcripts.

.       Write transcripts: Keep a log or transcript of this room.

.       Allow all members to view: If checked, anyone may view the transcript for this room. If unchecked, only Room Moderators and Administrators may view the transcript.

.       Replay lines:  If selected, the last X number of lines or X number of minutes of room conversation will be shown to members when they join the room.

Moderators

Members in this list will be made a Room Moderator whenever they enter this room.

.       Add (button): Add a Moderator. This member will be made a Room Moderator whenever he or she joins this room.

.       Edit (button): Edit a Room Moderator entry

.       Delete (button): Delete a Room Moderator entry


Room Moderator
Room Moderator Fields

.       Nickname: Nickname of member who will be given Room Moderator status when he or she enters the room.

Authority:

.       Owner: If box is checked, the member is an Owner; he may add and delete other Moderators and Owners.

.       Moderator:  Member is a normal moderator who may kick and ban other members from the room, but may not add and delete other Moderators and Owners.

.       Voice (for Strict Moderation):  Member automatically receives a “Voice” (and shows up in the member’s list in green).

.       Member:  A normal member of the room (only necessary in “Members Only” Rooms).

Members Tab

The Members tab contains configuration settings that determine how members are handled on your chat site.

.       Must have a registered nickname to signon:  Only registered users can signon. 

.       Allow members to change nicknames after signing on: Boogerhead!  Isn’t this self-explanatory?

.       Add button:  Adds a new registered nickname.

.       Edit button:  Select a nickname in the list, and click Edit to modify it (or to reset the password for it, if the member has forgotten their password).

.       Delete button:  Deletes the selected nickname.

.       Advanced button:

Advanced Member Settings

.       Record Person-to-Person Transcripts: Keep transcripts of private conversations.

<     View P2P Transcripts (button):  Press this button to view P2P Transcripts (in your browser).

.       Automatically delete unused nicknames

<     Days to retain unused nicknames:  How many days a nickname may go unused before it is dropped from registration.

.       Allow members to register their own nicknames:  If unchecked, only Administrators may register nicknames.