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

Re: Is there anybody there?



>From: Mark Wedel <master@rahul.net>
> 
>  There are several problems that do exist with a true client server approach.
> If the client does a lot of the actions, with the server only acting to
> mediate the actions (if several players are on the same map), it does open
> the possibility of someone hacking a client to give themselves incredible
> powers.
> 
You're right!  I one only needs to hack its client to obtain God-like powers
on any server, we'll pretty soon loose all interest in the game.  You don't
like to be killed ten times in a row by the same player, don't you?

>  So even before hacking starts to make a client server approach, what the
> client does and what the server does needs to be settled.  If all the
> client does is act as the display mechanism, I don't know how much bandwidth
> or cpu time will be saved (especially if no animation code is added in..)
> 
Here are some random thoughts :
- The client could hold a part of the map so as to be able to update its
  window when needed.
- The server would be responsible for all actions, collision detection,
  interaction between players, etc.  This would prevent nasty hackers from
  cheating (unless they own the server, of course :-).
- All animations would be on the client side.
- Sending object ids will probably eat less bandwidth than sending X requests
  for drawing pixmaps and so on.  I don't know how much, but I bet there will
  be a noticeable change in terms of speed when there are many players in the
  game.
- This will be easier to maintain and enhance the code if we have most of the
  X stuff in one program, and the game engine in another.  You want nicer
  graphics?  Change your client, but don't touch the server.  You want to add
  a new spell?  Hack into the server.
- We could even have several clients: one for slow machines, one for big
  displays with lots of colors, one which uses bitmaps while the other uses
  complex pixmaps,...  But it's no time to dream: we have to build a fully
  working version of the game first.  We'll add bells and whistles later.

-Raphael