Final Announcement On-Line Blitz Tourney

Discussion of chess software programming and technical issues.

Moderator: Ras

krazyken

Re: Final Announcement On-Line Blitz Tourney

Post by krazyken »

I didn't get a password
User avatar
hgm
Posts: 28329
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Final Announcement On-Line Blitz Tourney

Post by hgm »

Yes, you have. But it is not HIARCS, which is what you typed. Look in your inbox.
krazyken

Re: Final Announcement On-Line Blitz Tourney

Post by krazyken »

Thanks
User avatar
Greg Strong
Posts: 388
Joined: Sun Dec 21, 2008 6:57 pm
Location: Washington, DC

Re: Final Announcement On-Line Blitz Tourney

Post by Greg Strong »

hgm wrote:To login your egine with WinBoard, use the command

winboard -ics -icshost 80.100.28.169 -icshelper timeseal -zp -fcp ENGINENAME -fd ENGINEDIR -autoKibitz
So how does one do this with a UCI engine? I know it somehow involves PolyGlot ...
krazyken

Re: Final Announcement On-Line Blitz Tourney

Post by krazyken »

Greg Strong wrote:
hgm wrote:To login your egine with WinBoard, use the command

winboard -ics -icshost 80.100.28.169 -icshelper timeseal -zp -fcp ENGINENAME -fd ENGINEDIR -autoKibitz
So how does one do this with a UCI engine? I know it somehow involves PolyGlot ...
put polyglot for ENGINENAME.

If you have a recent Winboard/Xboard you may be able to do it without polyglot, as the most recent versions do UCI as well. Download link was earlier in this topic.
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

Re: Final Announcement On-Line Blitz Tourney

Post by CThinker »

hgm wrote:FICS protocol is horrible, and apperently not formally described anywhere. I had to learn how it worked from looking at the WinBoard code, and trying out what the server reaction on the various sites would be by looking in the debug file.

The most essential things are to parse the style-12 board format (and switching to that style if you detect another board format), to ask for the move list, and parse it when it comes along (essential if you enter a game halfway, but also to know which variant is being played, as the board does not encode that), issue and accept challenges, and recognize starting messages for a game. In the latter cases it is important that you somehow peel the variant name out of the message, which seems to be hidden in it in a way that differs from server to server.

I did not change anything in what the Lasker server does for normal Chess, and WinBoard worked with it immediately. So I guess it was still pretty compatible with FICS. As long as you don't try to play variants llike Shogi or Xiangqi, (which use other board sizes), and reject challenges for them, you should be OK.
Indeed the ICS protocol is meant for human terminal text interface. It is quite a challenge to have a clean parser for it.

One thing that the ThinkerBoard ICS client does not support is the move list. This allows the code to be stateless. Each line from the server is independent. The side effect of this is that when re-connecting and resuming a game, the engine loses the game history. The UI simply sends it a "setboard".

And btw, the ThinkerBoard ICS client is now able to connect to your server. I have just tested it. I had to make a coupe of changes.

1. The ICS client looks for "login" and "password" (all lower case), but your server sends "Login" and "Password". I modified the code to ignore the character cases.

2. The server messages start with "trics%". I had to add this to the list which currently includes "aics%", "fics%" and "chess%".

A few more comments regarding your server:
1. It does not support the 'resume' command
2. I aborted at move 1, and it did not abort the game
3. On FICS and ICC, "follow" with no parameter cancels the current 'follow. On your server, you need to enter the name of the player you are following to cancel it.
4. "seek 3 1 f" does not work. Its the "f" (formula) that is not being recognized, even though it prints out a 'usage' message indicating that 'f' is a valid option for 'seek'
User avatar
Greg Strong
Posts: 388
Joined: Sun Dec 21, 2008 6:57 pm
Location: Washington, DC

Re: Final Announcement On-Line Blitz Tourney

Post by Greg Strong »

Nope - doesn't appear to work with UCI, and PolyGlot doesn't run at all. It crashes the instant I run it. Says something like "Probably wrong version of Cygwin dll", but I downloaded it from the polyglot site. Maybe not Vista compabable?
krazyken

Re: Final Announcement On-Line Blitz Tourney

Post by krazyken »

is this the polyglotw?
found here.
User avatar
Greg Strong
Posts: 388
Joined: Sun Dec 21, 2008 6:57 pm
Location: Washington, DC

Re: Final Announcement On-Line Blitz Tourney

Post by Greg Strong »

Ahhh... much better. Thanks!
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Final Announcement On-Line Blitz Tourney

Post by michiguel »

hgm wrote:
Stan Arts wrote:Perhaps you could make it possible to login and choose a name, like guest login at FICS. So that everybody who wants to can join.

Stan
This is already possible, but the problem is that the Tournament Manager softwar ("mamer") does not allow guests to join a tournament. This was not easy to fix, as the joining goes as an indirect chain of events: the user sends the join command to mamer ("tell mamer join 1"), and the only reaction by mamer is to ask the iCS for the player statistics (to determine if the rating of the player falls within the specified limit). It only adds a player to the tourney upon reception of the rating data for that player. But for non-registered players there is no such data, and the ICS simply ignores the request. So the causality chain breaks, and the join request is ignored.

I would very much like to use mamer, especially if we are going to do a Swiss tourney. (And it seems we will have too many players for a round robin.) This is why I want to have everyone play under a registered account.

It only takes a minute or so to add a player, btw. So if some people show up unexpectedly at the time of the tourney itself, they can login as a guest, and request me to make an account for them on the spot, and then login again under that account. But if I would have to do that for 30 participants, it would delay the start of the tourney by 30 minutes. So I like to do as much as I can in advance.

Remember: tonight is testing time!

Even if you don't have an account yet, you can still login as guest to try out your client software. Just don't try to all play Fairy-Max at the same time, and don't try long games against it, as it will be running on the same single-CPU laptop as the ICS. If you are the only one on the server, this is no problem. If there are others, try to play each other rather than Fairy-Max! It is OK if you leave a bot on for others to play against. But don't count on it that others will; initiate at least one game yourself, to make sure everything works.

And although I will be logged in as "admin" all the time, I will probably be sound asleep for most of the time the server will be up. So it won't do any good to send 'tells' to admin, or challenge him.
Everthing works well, except timestamp under linux. Is this version of FICS working with it? I got the message "Timestamp failed in step 1" and xboard aborted (both, 4.2.27 and 4.3.14).

My own kibitz does not work because tellics is not recognized, but it seems that -autokibitz should be enough.

Miguel