Menu

Support for chessd

Help
2004-11-15
2013-04-30
  • Nobody/Anonymous

    Hi,
    I'd like to ask you.a few questions. How come that for example chessd is not supported by jin? I thought they're quite similar and I thought that chessd is quite a new project too. If not, where did u get the new fics code (if you can tell)?
    Another question is about java applet..I tried to compile jin as an applet but the resulting file is too big...I'd love to have something rather small what I could use on a website..I do not need all the functions of jin but to fork it is quite difficult..do you have written somewhere what file (in the source) does what, because it is quite hard to finde all the dependencies etc... thanks

     
    • Alexander Maryanovsky

      >How come that for example chessd is not supported by jin?
      >I thought they're quite similar and I thought that chessd is
      >quite a new project too.
      > If not, where did u get the new fics code (if you can tell)?

      Who are quite similar? FICS and chessd? chessd is a project to write a new chess server from scratch. The reason Jin doesn't support it is that chessd is not under active development AFAIK and they certainly haven't committed to a protocol yet.

      >Another question is about java applet..
      >I tried to compile jin as an applet but the resulting file is too big.

      Se la vi. If you're only counting on users which have Java 2 installed, you can drop the huge swingall.jar file, but besides that, JinApplet is already as small as it can get. I have already removed all the extra plugins from JinApplet, but you can't do without the console, board and seek graph...

       
    • Anonymous

      Anonymous - 2005-03-19

      Hello there,

      I'd like to point that chessd is under development. In fact, the current version is compatible to FICS protocol (you can still you winboard and the likes to connect to a chessd server).

      I'm one of the current developers. Altough we do intend to write a new server from the scratch, we had to keep the old version and work on it. So, right now, even though the server code itself is very different, we are still sticking to the old protocol...

      In fact, I'd like to work on Jin's code to adapt the applet to be used in our server.... I've just checked out the code   and I'm trying to compile it (without much success, some exceptions were raised in the proccess).

      I myself am a C/C++ programmer and I know little about java. But since our server has the same protocol, I was hoping that it would not be very difficult to adapt it..

      Anyway, Sasha, is it ok for me to go ahead in that adaptation?

      Thanks in advance.

       
      • Alexander Maryanovsky

        >I'd like to point that chessd is under development.

        Glad to hear that.

        >So, right now, even though the server code itself is very different, we are still sticking to the old protocol...

        I would suggest that a good idea would be to do what ICC does - support more than one protocol (the old ICS one and a new, better one) and allow the client to specify which one it wants to use (and default to the old ICS protocol).

        >In fact, I'd like to work on Jin's code to adapt the applet to be used in our server..

        Jin doesn't support the old ICS protocol. On ICC it uses level2 and on FICS it uses FICS extensions to the old protocol. The old protocol is simply too limited for Jin to work with it.

        >I've just checked out the code and I'm trying to compile it (without much success, some exceptions were raised in the proccess).

        Strange - what the errors do you get?

        >But since our server has the same protocol, I was hoping that it would not be very difficult to adapt it..

        See above - Jin doesn't support the old ICS protocol.

        >Anyway, Sasha, is it ok for me to go ahead in that adaptation?

        Yes, of course. You can do anything you want with Jin, as far as the GPL license allows you. I would also be glad to provide any assitance.

         
    • Anonymous

      Anonymous - 2005-03-24

             
      >            I would suggest that a good idea would be to do what ICC does - support more than one protocol (the old ICS one and a new, better one) and allow the client to specify which one it wants to use (and default to the old ICS protocol).

      We have been planning to make a shift and support both protocols at the same time for a limited period, but in the end we want to get rid of the old protocol. We know that would be a problem to use the older interfaces, but the fact is that those interfaces are also a source of problems (for example, right now it is far too easy to cheat with them).
          
      >            Jin doesn't support the old ICS protocol. On ICC it uses level2 and on FICS it uses FICS extensions to the old protocol. The old protocol is simply too limited for Jin to work with it.

      Do you have a documentation for FICS extended protocol? In such a case, could you please send it to me?

      I'd like to see what their extended protocol looks like.
                  
      >            Strange - what the errors do you get?

      I'll copy and paste later. I was busy on other issues and I haven't had the time to try again.

               
      >            Yes, of course. You can do anything you want with Jin, as far as the GPL license allows you. I would also be glad to provide any assitance.

      Thanks for the suppport. Perhaps the easiest for us is to implement handling for the old protocol using the FICS module and disabling the functions depending on the extended protocol. In this way we could get it working faster.

      The new protocol we are planning if far too different from the current protocol and it will take time to make it avaiable. We'd like to have an applet interface avaiable as soon as possible.

      Thanks.

       
      • Alexander Maryanovsky

        >Do you have a documentation for FICS extended protocol? In such a case, could you please send it to me?

        I don't have documentation per-se, but free.jin.freechess.FreechessConnection is rather self-documenting (that is, you can easily figure out the protocol from that).

        >The new protocol we are planning if far too different from the current protocol and it will take time to make it avaiable. We'd like to have an applet interface avaiable as soon as possible.

        What is the hurry? I thought chessd was a project to develop a chess server, not to offer an actual working, running server to the masses (or at least that this is a secondary goal).

         
    • Anonymous

      Anonymous - 2005-03-24

      >I don't have documentation per-se, but free.jin.freechess.FreechessConnection is rather self-documenting (that is, you can easily figure out the protocol from that).

      Ok, I'll read it. Thanks.

      >What is the hurry? I thought chessd was a project to develop a chess server, not to offer an actual working, running server to the masses (or at least that this is a secondary goal).

      Chessd Server is a project to develop a new chess server, that is true. But we are also working with a chess club at Brazil (Centro de Excelncia em Xadrez - CEX). Besides developing the server, we have implanted and support CEX's server.

      That server is the reason we are still supporting the old protocol (they needed the server for now) and that's why 
      we'd like to provide (in their site) an applet as soon as we could. We found out that most new users can't understand why they can't play in the site and that, even though we give all the instructions, most new users simply can't figure how to play in CEX's server.

      Also, we use CEX's server as a place to test the chessd server and figure what sort of requirements do they users have and how we could improve the server.

      You can check CEX's server at:
         http://xadrezonline.cex.org.br

      The page has an english version.

      Thanks.

       
      • Alexander Maryanovsky

        I see.

        >Perhaps the easiest for us is to implement handling for the old protocol using the FICS module and disabling the functions depending on the extended protocol. In this way we could get it working faster.

        Disabling those functions would include removing the possibility to play chess, and I don't think you'd want that.

         
        • Nobody/Anonymous

          I see. Then, I'll study their protocol and see what can be done.

           
        • Anonymous

          Anonymous - 2005-04-08

          Well,

          I download JIN and successfully compiled it (the problem I reported earlier was because I was trying to compile with a non-compatible implementation of java).

          I ran some tests and I could connect to a chessd server using the FICS protocol and even play using the console, but the board wouldn't come up. I studied the FICS protocol and I realized that it is not so far from the old version.

          With some work, I created a new module to connect and make it possible to play in a chessd server and it seems to be working. Because FICS protocol is still very similar, it wasn't hard to adapt to chessd...

          Right now, I managed to get a working console and board and it seems to be working fine. I still need to change JIN to set style 12 automatically (I'm setting it manually).

          I still haven't tried to configure it as an applet, but I believe it will work without problems.

          As soon as I finish the new server connection implementation, I'll get in touch again.

          Thanks for now.

           
    • Anonymous

      Anonymous - 2005-04-19

      Hello Sasha,

      I have successfully modified JIN to work with a chessd server. The applet is up and running at our site:

      http://xadrezonline.cex.org.br

      To check it out, click on "Jogar" and log in as a guest.

      For that, I created new packages for ChessdConnection and JinChessdConnection from the already existing Freechess's packages.

      For now, I disabled the seek graph and left only the basic functionalities (console and board). I intend to enable the seek graph later as well.

      I've studied the plugin packages and figured how to create new plugins. So, I intend to create a few plugins:

      1) A user list window, displaying the online users and allowing for interacting with them with a right click (for now, I intend to implement just the match and talk interactions)

      2) A challenge list window, displaying the challengs the user received and sent, with buttons to accept/reject them.

      3) Talk plugin: display a tabbed window to talk in private with users (one tab per user) and in the channels(also, 1 tab per channel).

      Also, I'd like to internationalize jin. Our site runs in portuguese, english, spanish and french. I'd like to make it possible for JIN to display the strings in a language chosen by the user (either in the site or in the user's OS).

      Thanks for your help.

       
      • Alexander Maryanovsky

        Well, feel free to implement whatever you want, although 1 can't currently be done in a server independent manner and 3 can't be done correctly either (there's no mechanism to associate server echos (like "told channel 32" or "told AlexTheGreat") with the command that triggered them, so you can't route everything reliably into the correct console).

        If you have any specific questions, ask away.

         
    • Anonymous

      Anonymous - 2005-04-19

      1 is a plugin that can update and keep the lists in an independent fashion listening events fired by the connection packages. What would not be independent is the command used for interaction, but the connection may implement the needed interfaces, which will be in turn implemented in the real connection classes. Therefore, it is just as independent as the board plugin, for example.

      I don't see why 3 can't be implemented. The protocol, even the old one, has everything one needs. The user will type a message, which will be echoed by the selected console. The "told" replies will just be filtered out (no one needs them, anyway).

      3 would be impossible only if the incoming messages did not have any pattern to tell what sort of message you receive, but they have.

      (joedoe tells you: message) <-- tells
      (joedoe(1): message) <-- channels messages

      Right now, I have no questions. I'm sorry to use the help board for these posts (which request no answer at all), I just wanted to keep you posted and thought this thread was the most appropriated place.

      Also, it is mostly about the chessd packages, I thought you might be interested in adding them, since chessd is an open source server and a lot of people might be interested in using jin in their own servers.

       
      • Alexander Maryanovsky

        I'm not saying (1) is impossible to make in a server independent manner, but currently, there is no such mechanism in place. (3) can (sort of) be done, if you don't care about echoes.

        Thanks for keeping me posted about your progress, using this forum isn't a problem.

        I am interested in adding chessd support, but not until you get some progress with the new server/protocol. The old server isn't particularly interesting, and I'd rather not spend the time needed to support it. I suggest you put up your Jin modifications (or even a completely version of Jin) next to the download of your server, so that people using your server can find it and use it. I'd also appreciate it if you mentioned the copyright somewhere prominent to avoid licensing confusion.

         
        • Nobody/Anonymous

          I have some shadows on my screen playing chess with FICS

           
          • Alexander Maryanovsky

            What shadows? What does this have to do with the discussion about support of chessd?

             

Log in to post a comment.

Auth0 Logo