The server program can be operated as a Desktop application or as a service. To operate in development mode or as a Desktop application, leave the IsService flag set to false. This is the mode you would use if you want to get together with a few associates on an occasional basis. If you want to use EChat on a more permanent basis, set the IsService flag to true and compile it. Once compiled, it can be operated as a service and it will run all the time. In either case, you will need to make the port you have chosen accessible to the outside world (WAN).

Errors, connects, and disconnects are logged to a daily logfile. Whether operating as a service or as a desktop application, you will need a directory to serve as a location for the logfiles. Normally that would be a sub-directory called "Logs" located in the same directory as the executable. A service however (and the Desktop app in this case) needs a directory that is accessible to all users, and that is relagated to the "\Windows\System32\LogFiles\EChat" directory. The installation file will attempt to create the directory, but not all operating systems permit it. It may have to be set up manually.

The server (Service or Desktop) will operate without being setup, and will default to using port 258 and 5 maximum connections. But you will need to use the Control program to manage the User database anyway, and the setup routine creates the empty database in the first place. The empty database comes with one User called "Admin" and a blank Password hash. It is located in a directory that is accessible to all users; the "\ProgramData\EChat" directory.

To enable the "Admin" UserID, load and execute the EChat Client program. The first time the Client program is run, there will be no UserID or Password and the program will jump straight through to the Initialization window. Change the UserID to "Admin" and the Password to whatever you desire. When you restart the program, you will be prompted for the Password. It should default to IP Address 127.0.0.1 and Port 128. If it is different, change it and add it to the list. The next time you run EChat, that information will be at the top of the list. Now attempt to connect with the server. You should get a message saying "Admin has Invalid Password". Now open the logfile with Notepad, and you should see a 64 character Password hash that resulted from the failed connection attempt. Highlight that information and copy it to the clipboard. Now open the Control program and go to "PW Maint". Click on the "Admin" item and it should go to the top boxes. Highlight the Password hash in the top box (all zeros) and paste over it with the hash that you copied to the clipboard. The updated hash should now appear in the list below and the top boxes will be blank. When you exit the Control program, the Password hash will be saved to the database. Now restart the server program so that it will load the new information. When you attempt to connect with the server, you should now get a message "Admin has joined the conversation!", and "Admin" should appear in the User list in the lower right corner.
