Skip to content

echessd - is lightweight, minimalistic and free Internet chess server implementation written on Erlang programming language.

License

Notifications You must be signed in to change notification settings

tuxofil/echessd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

                   ECHESSD README FILE

Contents:

 1. Summary
 2. Goals
 3. License
 4. Building
 5. Installing
 6. Before first run
 7. Running
 8. Playing
 9. Advanced administration
 A. Miscellaneous

-----------------------------------------------------------------
1. SUMMARY

echessd - is lightweight, minimalistic and free Internet chess
server implementation written on Erlang (http://www.erlang.org/)
programming language.

-----------------------------------------------------------------
2. GOALS

Goals of the project:
 - no usage limitations;
 - no email address collecting;
 - no social networking;
 - no network traffic:
   - no images (except captcha maybe);
   - no ads;
 - no extra software dependencies;
 - just playing chess with other people. Anytime, everywhere
   with any type of browser - even like lynx or w3m.

-----------------------------------------------------------------
3. LICENSE

echessd uses FreeBSD License. You can found full license text
on http://www.freebsd.org/copyright/freebsd-license.html or
in file LICENSE on the top of echessd sources tree.

-----------------------------------------------------------------
4. BUILDING

Erlang must be installed to build and run echessd.
You always can obtain latest Erlang version on
http://www.erlang.org/download.html or use one provided by
your software repository.

In case of mochiweb usage (configuration parameter httpd_engine
is set to 'mochiweb') 'mochiweb' Erlang application must be
installed. mochiweb - is a lightweight and free HTTP server
written on Erlang.
mochiweb sources hosted on http://github.com/mochi/mochiweb

echessd is developed and tested with Erlang R14B04 but probably
will work with older Erlang versions.

$ make

or, if you don`t have 'make' installed, type

$ erlc -I ./include -o ./ebin ./src/*.erl

on echessd top level directory of sources tree.

-----------------------------------------------------------------
5. INSTALLING

Files by wildcards './*.sh', './ebin/*.{app,beam}', './www/*' - is
all you need to start echessd from scratch.
You can place them anywhere in your filesystem, preserving original
directory structure.

-----------------------------------------------------------------
6. BEFORE FIRST RUN

You must initialize echessd persistent storage before starting
the server with command "./init.sh" in echessd top level directory.
Warning: you will lost all your games and users registered calling
"./init.sh" on live system!

-----------------------------------------------------------------
7. RUNNING

You can run echessd by command "./run.sh" in echessd top level
directory. echessd will be started as foreground process. It is
normal to some output on stdout before log file will be opened
and server start to write messages to that file.

-----------------------------------------------------------------
8. PLAYING

1. Send your browser to http://localhost:8888/
2. Register new user;
3. Create new game with any user registered;
4. Wait while your opponent confirms the game;
5. ...
6. PROFIT!!!

-----------------------------------------------------------------
9. ADVANCED ADMINISTRATION

echessd configuration defined in ./echessd.conf file. Path to it
specified in './run.sh' script. You can change them if you need.

To tell running server to re-read configuration file and reopen
log file (needed to logrotate), run './hup.sh' script.

To stop running server, run './stop.sh' script.

To check if server is alive, run './ping.sh' script.

-----------------------------------------------------------------
A. MISCELLANEOUS

Security considerations.

1. Do not run echessd under superuser privileges!
2. Be aware of launching echessd on host without firewall
   configured (or protected by another firewall) because
   Erlang nature permits to connect to Erlang node (found via
   epmd portmapper) from any host at your network. Such
   connection will allow execute ANY code with UID of echessd
   server process.

Configuration file format.

Empty lines and lines with first meaning character '#' (comments)
will be skipped. Comments can take only whole line. You can`t
comment only tail of line with configuration parameter.
Configuration parameter value definition must look like key-value
pair, separated by one or more spaces or tabs.
Details for echessd existing configuration parameters you can
found in ./echessd.conf configuration file in top directory of
echessd source tree.

Developer guide.

Detailed information about project architecture, implementation
features and todo-lists can be found in ./doc directory after
building documentation with command:

$ make doc

-----------------------------------------------------------------
              Aleksey Morarash <[email protected]>, 2012

About

echessd - is lightweight, minimalistic and free Internet chess server implementation written on Erlang programming language.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages