Imported from https://bitbucket.org/wmahan/fatics
License
gbtami/FatICS
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Introduction ------------ This is an Internet chess server inteded to be a free software equivalant for the server that currently runs at freechess.org. Contact: Wil Mahan <wmahan+fatics@gmail.com> This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. System requirements ------------------- * Linux (it might work on other OSes, but I haven't tried) * GCC, make and zlib1g-dev for compiling timeseal (any recent version should work) * Python 2.6 or 2.7 * Twisted 8.2 or later * MySQL 5.0 or later * The MySQLdb Python module * The python-bcrypt module * The netaddr module * The pytz module * The python-openssl (pyOpenSSL) module * GNU gettext * (optional) The pexpect module, for timeseal/zipseal tests * (optional) sockjs-twisted (aka txsockjs), for html5 web clients. http://sockjs.org/ * (optional) Mercurial, if you want to check out the latest versions from Bitbucket On a Debian-based system, apt-get install mercurial python-twisted mysql-server python-mysqldb python-tz python-openssl python-netaddr gettext zlib1g-dev python-dev python-pip pip install bcrypt pip install txsockjs should be sufficient to install the above dependencies. (The python-bcrypt package was removed from Debian, hence the need to install and run pip.) Installation ------------ * Timeseal and zipseal * The timeseal and zipseal programs can be compiled by changing to the timeseal/ directory and typing "make". That should build both the client programs (named openseal and zipseal) and the decoders that the server needs (openseal_decoder, zipseal_decoder, and zipseal_encoder). The source code for Win32 version of zipseal is in timeseal/win32/, but it doesn't have a proper build instructions, because I don't have Windows. I currently compile it with an unholy mix of wine and a Microsoft compiler. * Gettext messages * The gettext messages need to be compiled into machine-readable (.mo) format. Assuming you have GNU gettext, you can do this by executing scripts/compile-messages from the top of the source tree. * Running the server * First you'll need to create a MySQL database and user. I assume you know how to do this. The server uses localhost as the server and the username "chess" by default; these can be changed by editing src/config.py. The server looks in ~/.my.cnf for the password to use; for example: # start .my.cnf [client] user = chess password = your_password_here # end .my.cnf Next, you need to set up the database. You can do this with the command "./chessd firstrun" (warning: this will wipe out any existing FatICS database previously installed). The scripts will handle the following tasks: * Creating the necessary database tables * Loading ECO codes * Setting up the first account (follow the prompts to create a user with head admin powers). If there are no errors, you're ready to try to run the server. You can use one of the following commands: "./chessd run" -- run in the foreground; log to the console "./chessd start" -- run as a daemon; log to chessd.log "./chessd profile" -- run in profiling mode After the server is started, you can use these commands: "./chessd test" -- run the test suite "./chessd stop" -- shut down the server For information about running the tests, see README.tests
Releases
No releases published
Packages 0
No packages published