Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cheating



 I doubt that for each new version of crossfire, a new client would be
required.  That means once someone has a cheater client, he is set.

 In fact, it would be pretty stupid to require a new client with each
new version of crossfire.  IT has suggested that there could in fact
be several clients (mac, PC, unix), with each of these platforms perhaps
having different clients (on unix side, some may be simple and straight
Xlib calls.  Other may be motif based, athena widget, etc.)

 The person who installs the client can always cheat - that is not an
issue.  The issue is really to prevent some remote user from cheating and
ruining the fun for everyone else.

 Most people may only want to play, but it only takes a few cheaters to
ruin the fun.

 As I see it, LOS could either be handled on the client or server.  A
cheater client with LOS may not gain a lot, depending on the size of the
game window and the maps.

 However, what is more important is reducing the traffic.  Handling
LOS on the client does not necessarily reduce the server->client
traffic - you need to send all the objects, with a fair amount of detail
so the client knows if they block view, plus any changes anywhere in the
game window of the map, even if it is not visible.

 Where as if LOS is handled on server, only those visible objects need to be
sent.  The client should buffer that information, so if the player moves,
only a new row and/or column needs to be drawn.  In general, for most maps,
not a lot of objects move in the game window at the same time, so the
updates shouldn't be that bad.

 However, what gets more complicated is smart updates.  IF you are
fighting 20 gnolls, and kill the one in front, and another one quickly
steps up (and thus, lots of gnolls change position), do you necessarily
want to re-send the position of all 20 gnolls?  It might be much better
just to remove one gnoll from the mass.  However, under the current
protocol, this would not be possible, as all objects are tagged with
an ID number, and if this method was used, all the ID numbers would be off.
But I am not sure how much the ID numbers are used for monsters.

 --Mark