aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorMarkus Uhlin <markus@nifty-networks.net>2025-09-15 18:50:32 +0200
committerMarkus Uhlin <markus@nifty-networks.net>2025-09-15 18:50:32 +0200
commitc3eee8e333866d92e5fd94ae83cef618758c11bb (patch)
tree234a06fd90bd61a6668490a0cbf8870e6c674b81 /README.md
FICS RPBLC v1.4.61.4.6
Diffstat (limited to 'README.md')
-rw-r--r--README.md193
1 files changed, 193 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..19affca
--- /dev/null
+++ b/README.md
@@ -0,0 +1,193 @@
+# README #
+
+![Coverity Scan Build Status](https://scan.coverity.com/projects/31462/badge.svg)
+
+## About ##
+
+This is a fork of FICS(Free Internet Chess Server) version 1.6.2 made
+by Richard Nash.
+The fork is maintained by the
+[RPBLC computing network](https://www.rpblc.net)
+and in particular
+[Markus Uhlin](mailto:maxxe@rpblc.net).
+The main goal of the fork is to modernize the codebase, improve the
+security and fix bugs. New features, for example, other chess variants
+will be added in a later stage.
+
+### Public chess server ###
+
+[IRCNow](https://ircnow.org/)
+provides a
+[public chess server](https://wiki.ircnow.org/index.php?n=Chess.Chess)
+for everyone to use!
+
+To connect to the server by using
+[XBoard](https://www.gnu.org/software/xboard/), try:
+
+ $ xboard -ics -icshost rpblc.net
+
+### IPv6 ###
+
+IPv6 connections are at the moment not supported.
+
+## SAST Tools ##
+
+[PVS-Studio](https://pvs-studio.com/en/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source) - static analyzer for C, C++, C#, and Java code.
+
+## Installation ##
+
+Begin the installation with creating a new user, dedicated for running
+the FICS.
+
+ # useradd -c "FICS user" -m -p "AccountPassword" chess
+
+When the user has been created login to its account and clone the
+[Git](https://git-scm.com)
+repository:
+
+ $ su -l chess
+ $ mkdir git
+ $ cd git
+ $ git clone https://github.com/uhlin/fics.git
+ $ cd fics
+
+### Checkout ###
+
+If you want you can checkout a specific version. For example:
+
+ $ git checkout 1.4.4
+
+(This is a good idea since you most likely don't want to run a
+development version.)
+
+To see all tags, type:
+
+ $ git tag
+
+Edit `FICS/config.h` with a text editor and save the file.
+
+ $ emacs FICS/config.h
+
+### Utility functions from BSD systems ###
+
+Utility functions from BSD systems are used for the FICS. Which means
+on for example a
+[Debian GNU/Linux](https://www.debian.org/)
+system you need to install the following package before running make:
+
+ # apt install libbsd-dev
+
+From the top-level directory of the cloned Git repository begin the
+building by running make.
+
+ $ make
+
+If the build was successful it's time to install the chess server by
+running `make install`.
+
+ $ make install
+
+Done!
+
+**NOTE**:
+Running `make install` multiple times is totally fine and does no harm
+when a new version of FICS is available.
+
+### Make variables ###
+
+If you want you can customize the `FICS_HOME` and `PREFIX` make
+variables found in `options.mk`. But it isn't needed if you've
+followed the installation steps above.
+
+### Manual pages ###
+
+To install the manual pages, type:
+
+ $ sudo make install-manpages
+
+Replace `sudo` with `doas` if you are running OpenBSD.
+The destination will always be prefixed to `/usr/local`, i.e. system wide,
+therefore extra privileges are required.
+
+Perhaps you don't want to add the dedicated chess user to the sudoers
+list. In fact YOU SHOULDN'T if you care about security. Instead login
+as root, change directory and install the manual pages.
+
+## Running the server ##
+
+As root, do the following (unless you aren't already logged in as
+`chess`):
+
+ # su -l chess
+ $ screen fics
+
+This assumes that
+[GNU Screen](https://www.gnu.org/software/screen/)
+is installed on your computer.
+
+To detach the screen, type:
+
+ $ (CTRL+a+d)
+
+And to resume, use:
+
+ $ screen -r
+
+The same is achievable with the terminal multiplexer `tmux` in case
+you prefer that over GNU Screen.
+
+### Install GNU Screen ###
+
+To install
+[GNU Screen](https://www.gnu.org/software/screen/)
+on
+[OpenBSD](http://www.openbsd.org/), run:
+
+ # pkg_add -i screen
+
+### Run in the background ###
+
+Starting from version `rpblc-1.4.3` you can run the server in the
+background by typing:
+
+ $ fics -d
+
+### Run as a cron job ###
+
+FICS comes with an autorun script (`fics_autorun.sh`) that is suitable
+to be run as a cron job for the dedicated chess user.
+
+Edit the crontab by typing:
+
+ $ crontab -e
+
+And add the following line:
+
+ */5 * * * * /home/chess/bin/fics_autorun.sh
+
+Save the file and exit.
+
+To display the current crontab, type:
+
+ $ crontab -l
+
+## Creating registered players ##
+
+As root, do the following:
+
+ # su -l chess
+ $ fics_addplayer UserName FullName EmailAddress
+
+Log out:
+
+ $ (CTRL+d)
+
+The `fics_addplayer` program is located in `/home/chess/bin`,
+along with `makerank`.
+The dir `/home/chess/bin` should in general be automatically added to
+the PATH for the chess user.
+
+ $ man 1 fics_addplayer
+ $ man 1 makerank
+
+Happy gaming!