[Kde-games-devel] Re: Is kbackgammon actually maintained?

Nicolai Lissner nlissne at linux01.gwdg.de
Thu Aug 7 07:53:42 CEST 2003


On Thursday, 7. August 2003 Rob Kaper wrote:
> On Thu, Aug 07, 2003 at 12:14:17AM +0200, Jens Hoefkens wrote:
> > If there are any questions, please do not hesitate and I will do my
> > best to help whomever will be taking care of it.
>
> I believe there's someone who wants feedback on a patch. ;-)

Thanks for perceiving this. 

> Seriously, could you take a look at it? If it's okay, Nicolai can commit
> it. (or I could do so for him in case he doesn't have CVS write access)

I dont have CVS write access (yet)

> I took a look at the patch myself but found I had to little knowledge of
> the intended behavior.

Here's some additional information:
RepBot is a bot that appears as a normal player on the FIBS-Server that
does not play, but offers a great service to the users of FIBS.
It was developed to improve fibs while we cannot change the server-code
itself because its not free :-( and there was a great need for this service
because some users cheat on FIBS - they do not finish games they lose but
drop the connection instead - FIBS save games then, but these so called 
"droppers" will never resume them. 
With RepBot a user can complain about or vouch for other players as well as 
query about the vouches / complaints of other users.

To use the service of RepBot a player talks to it. This is technically done by 
sending a command to the server:

tell RepBot message

the message is a command-string and a playername - for example

tell RepBot ask Rob

I will keep the name Rob for these examples but kbackgammon sends
the name of the player that is clicked on with this patch.
RepBot answers these commands with sending messages with some
information.  for example:

> Rob's reputation is 12933(GOOD) (2 saved games)

This answer is shown by kbackgammon as a normal message in the chat window.
(its just like any other player would talk to you - so no changes here)

More detailed information about RepBot can be found here:

http://repbot.sourceforge.net


Now, what the patch does is

1.) Adding a submenu to the right-mouse-button-popup-menu in the playerlist
with the following structure:

	RepBot ....
		Tell RepBot ASK Rob
		Tell RepBot LIST Rob
		Tell RepBot FRIENDS Rob
		----------------------------------------
		Tell RepBot VOUCH Rob
		Tell RepBot COMPLAIN Rob
		----------------------------------------
		Tell RepBot WITHDRAW Rob


Each slot sends the given string to the server using an already
existing function "emit fibsCommand()" -- actually it uses
"tell RepBot ask Rob" instead of "Tell RepBot ASK Rob", but 
the commands are not case-sensitive - so there is no difference.

The commands VOUCH, COMPLAIN, and WITHDRAW (which means
withdraw an earlier made vouch or complain) are not enabled when
you click on your own name - you wouldn't complain about or vouch for 
*yourself* - it's not what RepBot was created for. But you can use ASK, 
LIST and FRIENDS to see if other player complained or vouched for
you (in a value (like above example with ASK) or in detail (with LIST)
or only using complains/vouches from people you vouched for (with FRIENDS)

I have used the same method to do this, as already exists to disable 
the "invite" menu (you cannot invite yourself to play backgammon)

2. I have added "Tell RepBot ASK" and "Tell RepBot LIST" to the chat
window popup-menu, too -- these are the most important RepBot-commands.

3. Last not least - kbackgammon sends the string "tell RepBot ask Rob" 
when a player named "Rob" sends an invitation to play a match.
This is the most useful part of the patch - since you get an immediate
report from RepBot about  what other players think about the user who 
is inviting - and how many saved games this player has.

---------

I hope this additional information helps to understand the patch.
I have tried to keep the same style as it already exists in kbackgammon to 
make it fit perfecty into the code.

KNOWN PROBLEMS:
Only one :-)
Sometimes (actually this is really *rare*) RepBot is not logged in on FIBS.
This code sends the string assuming it IS logged in. This is not really a big 
problem - the server just answers "** There is no one called RepBot" then.
So its a cosmetic issue only. But I have plans to include a check if RepBot is 
actually there to disable the RepBot menu (and the automatic query on 
invitation) if it isn't.

The patch have been tested extensively - I am using it for several kbackgammon 
versions (started with kde 3.0.5 (kbackgammon-2.5.0)) and it works perfect 
for me.

---------
Some words left to say:

We really need a maintainer for kbackgammon - there is still much work to do 
on this fine piece of software, that is afaik the only open source client 
available to connect to FIBS. Some ideas what to do, exist in comments of the 
source code already - and I have a lot more ideas, too (no, not all of them 
are as useful as this RepBot-usage-support, but I still think they are worth 
coding them)

I really would like to contribute more to this program (I'm using it at least 
5 days of a week, so why not help to improve it). 

So is there anyone to maintain it in future? I am also willing to do this if 
no one else is interested - but there are some limits - I am not really used 
to cvs yet (I have used it for anonymous cvs access to download development 
version only) but I think I am able to learn how to use it fast.
I don't have very much experience in coding - this means I write small 
programs for personal use but most of the time I take existing programs and 
change them to my needs. (so you might call me a patcher not a coder ;-) but 
somehow open source software really invites to do this.
What I already have, is some knowledge about the kbackgammon source code, 
at least about the fibs-engine of it. I also have something very valuable - 
enough time - since I am unemployed in the moment - but this, of course, 
could change any time in future.
What I don't really have, is a clear idea of the work a maintainer of a 
kde-included-application would do besides developing new code, reading bug 
reports and, of course, fixing that bugs, writing documentation and maybe 
some other user-support. 
If there is someone who is more experienced than me with tasks like this and 
who likes to continue Jens' work, I would be glad to continue to send more 
patches for kbackgammon.

Thanks for reading this (oops - a bit oversized) message.
Nicolai



More information about the kde-games-devel mailing list