Author

Topic: Modifying the Free Internet Chess Server protocol (Read 2519 times)

legendary
Activity: 1288
Merit: 1076
Why not go the easy way and keep the accounts on the server,  surely this thing is backed by a database of some kind and it 's easier to create a Frontend to that instead of having to distribute and maintain a custom client.

Indeed.
hero member
Activity: 489
Merit: 504
Why not go the easy way and keep the accounts on the server,  surely this thing is backed by a database of some kind and it 's easier to create a Frontend to that instead of having to distribute and maintain a custom client.
legendary
Activity: 1288
Merit: 1076
I've just downloaded "chessd", a free chess server used by "Free Internet Chess Server"  (www.freechess.org).

I'm wondering how difficult it would be to modify it, so that players would play for bitcoins.  Basically my idea is that each player would have a bitcoin address in their name, and would have to put bitcoins in a public clearing address (owned by the server) before accepting a game.  At the end of a game, the server would give the bitcoins to the winner (or to both players in case of a draw).


Here is the protocol document in the source code (http://sourceforge.net/projects/chessd/files/chessd):

Quote
this document assumes that the reader is familiar with the XMPP protocol (http://www.xmpp.org/).
The protocol described here is in development and will suffer changes in the future that
may my break compatibility with previous versions.

Any date and time is in the format specified by the XEP-082.



   




    ">http://c3sl.ufpr.br/chessd#match#offer'>
       
           
           
       

   





    ">http://c3sl.ufpr.br/chessd#match#offer'>
       
   





    ">http://c3sl.ufpr.br/chessd#match#offer'/>
       
           
           
       

   





    ">http://c3sl.ufpr.br/chessd#match#accept'>
       
   





    ">http://c3sl.ufpr.br/chessd#match#decline'>
       
   





    ">http://c3sl.ufpr.br/chessd#match#decline/accept'>
       
   





    ">http://c3sl.ufpr.br/chessd#match#offer'>
       
           
           
       

   








    ">http://c3sl.ufpr.br/chessd#game#state'>
       
           
           
           
       

   





    ">http://c3sl.ufpr.br/chessd#game#move'>
       
   




    ">http://c3sl.ufpr.br/chessd#game#move'>
       
   








    ">http://c3sl.ufpr.br/chessd#game#move'>
       
       
           
           
           
       

   





    ">http://c3sl.ufpr.br/chessd#game#resign/draw/cancel/adjourn'/>




    ">http://c3sl.ufpr.br/chessd#game#draw/cancel/adjourn'/>






    ">http://c3sl.ufpr.br/chessd#game#end'>
       
           
           
       

   





    ">http://jabber.org/protocol/disco#info'>
        ...
       
           
           
       

   






    ">http://c3sl.ufpr.br/chessd#adjourned#list'>
       
   






    ">http://c3sl.ufpr.br/chessd#adjourned#list'>
       
           
           
       

   






    ">http://c3sl.ufpr.br/chessd#match#offer'>
       
   







    ">http://c3sl.ufpr.br/chessd#match#offer'/>
       
           
           
       

   









    ">http://c3sl.ufpr.br/chessd#info'>
       
       
       
       
   





    ">http://c3sl.ufpr.br/chessd#rating'>
       
       
       
       
   






    ">http://c3sl.ufpr.br/chessd#search_game'>
       
           
           
           
       

   






    ">http://c3sl.ufpr.br/chessd#search_game'>
       
           
           
       

       
   






    ">http://c3sl.ufpr.br/chessd#fetch_game'>
       
   










   
        Stop fooling around.
   






   
        Had you listened to me you would not get banned.
   




   

    ">http://c3sl.ufpr.br/chessd#admin'>
        You have been banned.
   




    ">http://c3sl.ufpr.br/chessd#admin'>
        You have been kicked.
   






   





    ">http://c3sl.ufpr.br/chessd#admin'/>





    ">http://c3sl.ufpr.br/chessd#admin'>
        He is a bad guy
        The user is a spam bot
   






    ">http://c3sl.ufpr.br/chessd#profile'>
        [email protected]
   






    ">http://c3sl.ufpr.br/chessd#profile'>
       
   




    ">http://c3sl.ufpr.br/chessd#profile'>
       
           
           
           
           
           
       

   






    ">http://c3sl.ufpr.br/chessd#tourney'>
       
   






    ">http://c3sl.ufpr.br/chessd#tourney'/>





    ">http://c3sl.ufpr.br/chessd#tourney'>
       
   






    ">http://c3sl.ufpr.br/chessd#tourney'>
       
   






   
       
   






    ">http://c3sl.ufpr.br/chessd#match_announcement'>
       
           
       

   




    ">http://c3sl.ufpr.br/chessd#match_announcement'>
       
   






    ">http://c3sl.ufpr.br/chessd#match_announcement'>
                    offset='1'
            results='10'
            minimum_time='800'
            maximum_time='1000'
            player='raphaelhr@shiva/ChessD'/>
   






    http://c3sl.ufpr.br/chessd#match_announcement">
       
           
       

       
   






    ">http://c3sl.ufpr.br/chessd#match_announcement'>
       
   






    http://c3sl.ufpr.br/chessd#match_announcement">
        [email protected]"/>
   






    ">http://c3sl.ufpr.br/chessd#match_announcement'>
       
   






    ">http://c3sl.ufpr.br/chessd#game'>
       
           
       

   






    ">http://c3sl.ufpr.br/chessd#game'>
       
   





   






   
   
   





   
   
   





   
   
   
   
   
   
   
   
   





Jump to: