This post is mostly for H.G. Muller, who for some reason wasn't able to get a mail message here.
Anyway, H.G., how is the variant interface coming along? Can you tell me what the server OS and requirements are for hosting it full time? I'd like to give you access to a box that is up 100% of the time, rather than only tying up your machine on weekends.
You can compile, upload, and test on the "testing" side. You can also have a copy always up and running on the "production" side.
Let me know how it's going, and nice work on it so far!
FICS Interface for variants
Moderator: Ras
-
- Posts: 28395
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: FICS Interface for variants
The variant version of the ICS software seems operational, and currently I am not actively working on it. There is one thing I am unhappy about in the internal wokings, which is the way pieces are translated to letter codes (for printing the board and SAN moves for the user, or storing in FENs). As different variants might be using a different letter for the same piece, I now have to define such differently named identical pieces as different piece types internally(duplicating all code for leglity checking of their moves) to make sure they are displayed as the correct character. The inverse problem, of encountering a character in a FEN and decidng which piece it is, (e.g. is A an Archbishop, an Amazon or an Advisor?) is in principle even worse in the current setup, but fortunately never occurs in normal playing of games through a WinBoard client (which sends its moves only through naming the squares). But it might affect storing and resuming games on the server, where the current format stores the initial position as a FEN. I really should switch to a system where each game has its own private translation table for this, in stead of using a system-wide universal translation table, but that would be major overhaul of the code, for which I have no time at the moment. (In the current server there is not even a single system-wide table, but the translation is hard-coded separately in every place it occurs, through switch statements, independently for reading of FENs, writing of FENs, parsing moves, writing moves, interpreting promotons, printing user boards, setting up positions.)
These problems do not affect Gothic Chess, though: I added A and C as standard pieces next to PKBRQK in every place where a piece <-> character translation seemed to occur, and it is the other variants that now suffer from any 'collisions' (e.g. Xiangqi FENs that have A=Advisor and C=Cannon are interpreted incorrectly by the FEN reader, etc.). This means Gothic Chess should be fully operational, but there is one catch: fixing the problems with the other variants in a fundamental way in the future could invalidate the database of stored games on the server, by changing the storage format.
The ICS requires a Linux system to run on, and needs the PostgreSQL database server to run on it (pparently t uses this for storing players and games). I have tested it on Ubuntu 8.03 ((?) not sure about the number. Anyway, the version that is known as "hardy heron"). As far as I could determine it, the load the server puts on the system is very low (perhaps unless you have thousands of users on-line), and even the most humble modern computer could run it without poblems. I have been running it on a 1.3GHz Celeron-M laptop, with an ADSL connection capable of 27KB/s upload only, and we had no problems whatsoever conducting a computer blitz tourney with 15 external participants. (I will do another one of those next Saturday.)
I have never operated a Linux machine remotely, but I suppose it would not be difficult to get the ICS running on a Linux machine of yours if I would have remote access to it through a command-line interface, with root permission. (A login through telnet would most likely do; it only requires downloadng the software through ftp from my own website, and running "./configure", "make" and "make install" on it, and some "apt-get install" for missing packages.)
These problems do not affect Gothic Chess, though: I added A and C as standard pieces next to PKBRQK in every place where a piece <-> character translation seemed to occur, and it is the other variants that now suffer from any 'collisions' (e.g. Xiangqi FENs that have A=Advisor and C=Cannon are interpreted incorrectly by the FEN reader, etc.). This means Gothic Chess should be fully operational, but there is one catch: fixing the problems with the other variants in a fundamental way in the future could invalidate the database of stored games on the server, by changing the storage format.
The ICS requires a Linux system to run on, and needs the PostgreSQL database server to run on it (pparently t uses this for storing players and games). I have tested it on Ubuntu 8.03 ((?) not sure about the number. Anyway, the version that is known as "hardy heron"). As far as I could determine it, the load the server puts on the system is very low (perhaps unless you have thousands of users on-line), and even the most humble modern computer could run it without poblems. I have been running it on a 1.3GHz Celeron-M laptop, with an ADSL connection capable of 27KB/s upload only, and we had no problems whatsoever conducting a computer blitz tourney with 15 external participants. (I will do another one of those next Saturday.)
I have never operated a Linux machine remotely, but I suppose it would not be difficult to get the ICS running on a Linux machine of yours if I would have remote access to it through a command-line interface, with root permission. (A login through telnet would most likely do; it only requires downloadng the software through ftp from my own website, and running "./configure", "make" and "make install" on it, and some "apt-get install" for missing packages.)