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

Re: CF: hello



On Sep 7,  6:11pm, Christian Stieber wrote:
> Subject: Re: CF: hello
> Jettero Heller (jettero@corky6.dyn.ml.org) wrote:
> > > > prevent the easy cheating by just studying the lib/ stuff (now people
> > > > have to download the stuff to cheat...). So chances are one would have
> > 
> > Speaking of which:  Are the visual calcs, and hp losses calcs and things done
> > by the client?  There might be a handfull of "winner" people that re-write the
> > client to forget to subtract hps from their chars... or... yeah.

 The client really only knows information that the player knows.  For
example, it only sends map information for spaces that are visible for the
player.  The protocol was pretty carefully designed so that true cheater
clients could not be developed.  As such, the best a client can do right now
is do soem actions automatically for the player, as Christian says below.

> 
> Well, the server knows everything about the character, so this is not
> a possible way to cheat. However, you can make intelligent clients,
> like one that lets your character drink a healing potion whenever the
> character looses more than, let's say, 50% of his current HPs. Or a
> client that automatically casts fire immunity when required, or
> changes your armor, or (I would like that!) changes your weapon to
> match the monster you are going to hit next. With a normal client,
> a player selects the best overall armor/weapon, which is suboptimal
> on servers without grey island. With a client that automatically
> changes your equipment, suboptimal equipment is a much smaller
> problem.

 Note that all actions now take some time.  Complex keybindings will now
take the appropriate amoutn of time (before, for example, you could 
bind a key to apply armor, weapon, shield, helmet, and half a dozen things
and it only take one tick.  Now, if you have such a binding that does 6
actions, it will take 6 ticks).

 So while automatic actions are now possible, there is at least some
minimum tiem penalty to pay.  The way the client deals with commands,
it will actually be a bit easier for various actions to take more
realistic times (right now, most everything takes the same amount of
time, whether it is putting on plate mail or drawing a dagger, it
takes 1 tick)

> 
> You can even make a client that let's your character run through all
> the shops every two hours (or whatever the reset time is), buying
> enchant armors and/or potions. Later on you can instruct your client
> to visit all Jessies and kill them, so you gain experience overnight
> :-) Actually you can instruct your client to clear out all the maps
> with that have at least one or two monsters, something that a real
> player never does since the exp/time ratio is too bad. With an
> auto-client this doesn't matter.  There is no way one could prevent
> this.

 True.  However, that gets into a bit more serious programming on the
client side.  In theory, all of that could be done with the older
server side X11 - there are X11 scripting tools.  IT would be
easier to write something like that with the client, but then you
certainly ask the question why the heck are you playing the game?

 Many commercial games out there have cheat codes.  Is there really any
point entering the cheat code to skip all the levels, get to the
ending screen and say 'woah dude - I won that game in half an hour.'

 So yes, ai clients that play the game could be designed.  I don't really
see the point in it, however.

> 
> However, I have an idea how one could prevent one form of cheating:
> telling passwords to other players, and/or using the passwords on a
> new server/character. How about adding a %<word> into the password
> string, which then gets one-way-"encrypted" using a per-server
> password and the character name (maybe the character password as well)
> as key? This would create unique passwords for all players.

 I am missing the bug/cheat here.  Certainly the current login scheme
is not especially secure, but for someone to find out the password
they either need to have access to the character files or be sniffing the
net.  Is there really that much of a problem?

> 
> Still doesn't prevent other forms of cheating (esp. the "use
> crossedit..."  form). But then, there is no way to prevent
> cheating. The best bet, probably, is to ignore the problem ---
> cheaters don't usually stay around for long, since the game gets
> boring rather quickly for them. There are exceptions to the rule, of
> course ("this quest is too hard to solve without crossedit") :-(

 I guess it also depends on how you define cheating.

 Certainly looking at the map isn't honest, but what about repeat players?
Password remain the same on the maps, so for example you can do the lich
tower in navar city without doing the preceding quests (and experience
would tell you that a rust monster is behind that door and that map,
and to kill that thing, you do this, and so on).  IF nothing else, as a
repeat player, you would have a very good idea if you could do some
map or not, and the better maps to get treasure from, and so on.  Maybe
not quite the level of using crossedit.

 To me, true cheating would be editing the character or using unreported
or other unintentional bugs to you advantage.  Looking at maps and
monster stats is cheating to a lesser extent, but an experience player would
eventually learn that stuff anyways.




-- 

-- Mark Wedel
mark@pyramid.com


Follow-Ups: References: