yaccc, “yet another cyan chat client”, is written by Denis Defreyne. It is a client for the CyanChat protocol, a chat system written by Cyan Worlds, creators of Myst, Riven and Uru. It is written in Python and licensed under the GPL.

History

I began writing yaccc because there were no good CyanChat clients for *nix. I wanted a simple, command-line client that fully supported protocol 1.

yaccc was partially inspired by chip’s CyanChat program, also known as CCCP (Chip’s Cyan Chat Program). It worked in Linux, but was quite slow. I took the socket stuff from CCCP, modified it, and used it for yaccc. In the meantime, chip has rewritten the yaccc socket stuff himself (he has the now outdated yaccc patches on his web site).

chucker has been working on ccccccc, an alternative to yaccc written in Ruby. (At the moment of writing, ccccccc is not very usable yet, though.)

Download

Download yaccc 0.1.1 (the latest version).

Older versions can be found in the yaccc directory.

Installation

Before trying to run yaccc, make sure you have installed Python. You can get Python from the Python web site. Python 2.1 or newer is required.

To install and configure yaccc:

  1. chmod +x yaccc.py
  2. edit yaccc.py and edit the preferences at the top of the file (under the license)
  3. ./yaccc.py

You can also install yaccc.py into /usr/local/bin/. You can either do this by typing ‘make install‘ as root. Or, you can ‘cp yaccc.py /usr/local/bin/yaccc‘ manually. Now you can just type ‘yaccc‘ to run yaccc. Also, make sure /usr/local/bin/ is in your $PATH.

Commands

All commands are lowercase.

Preferences

Most of yaccc’s preference options are self-explanatory, but I’ll explain the more complex options here.

timestampformat: This option allows you to set your own file stamp format. The tokens used are the directives from Python’s time module. Here’s a list of tokens you can use (taken from the Python time module reference):

usecustomserver, customserveraddress, customserverport: These three commands allow you to choose a custom server. You can also specify a proxy address instead of a server address. If you want to use a custom server/proxy, set usecustomserver to 1. Then, change customserveraddress to the address of the server, and change customserverport to the port you want to connect to. That’s it! =)

Tips & Tricks

If the chat message you are sending gets mixed up by incoming messages, hit ^R (control-R). Your full chat message will appear on the bottom line.

In Mac OS X, you can rename yaccc.py to yaccc.command to make it double-clickable. When you double-click it, yaccc will open in a new terminal window. Very useful!

Authors

Bugs

If you are typing something while a new message arrives, the input line gets messed up. This will be fixed in version 0.2 (ncurses-based GUI will get rid of this). In the meantime, you can type ^R to make your text appear at the bottom of the line.

Linkin messages do not display from where the user links in.

Linkout messages do not display how the user links out (”links out safely…” or “mistakenly used an unsafe linking book…”)

License

yaccc is open source; it is licensed under the GPL, which comes with the tarball.