[Kde-games-devel] Re: Re: Re: Incomplete Information and KGame
Neil Stevens
kde-games-devel@mail.kde.org
Sun, 16 Feb 2003 00:47:21 -0800
=2D----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Saturday February 15, 2003 11:41, Martin Heni wrote:
> The KGame message framework allows you to easily send your
> own data messages to any receiver in the game (i.e broadcast to all,
> any KPlayer or any KGame object). For this the "sendMessage()" functions
> are supplied (used exactly for user messages contrary to the
> sendSystemMessage for system messages as used by the KGame object and
> e.g. the KGameProperties). These functions exists already in a few
> variations to allow sending strings, int,
> bytearrays or a general QDataStream.
OK, that lets me send a message to a KGame object. But every client will=20
still see that message, which puts me back where I started.
> However, I do not quite see the difference by manually sending the
> data to the player compared to the automatic property update. If
> a player really wants to hack his client, why wouldn't he hack your
> transmission scheme. If you do not implement some kind of
> crypto-layer in the communication you have no chance in the end
> if someone really wants to hack it. We discussed this when setting
> up the library but decided that it would be quite hard to prevent
> cheating.
What I want is to never send to the client any information that the=20
client's players are not supposed to know. Cheaters can't hack the client=
=20
to display the information the client never gets sent the information.
OK, I've read your docs page again, especially this page:=20
http://www.sbcomputing.de/heni/libkdegames/kgamedoc/index.html
Looking at the diagram there, there are three connections to the server. =20
Two are remote, one is direct. Let's assume the direct connection is=20
Player A, and the remote connections are Player B and Player C. I want to=
=20
ensure Player A's secret information is only made available locally, never=
=20
sent down either socket. I also don't want Player B's information sent=20
down Player C's socket, nor do I want Player C's ifnormation sent down=20
player B's socket.
Can I do that within KGame?
> However, some extension to crpyto/signed messages would be of interest
> for the library also with repect to the highscore system. So if you have
> good ideas do not hesitate to discuss them and implement them in the
> lib.
Hm... When I think about it, one way to do what I want would be to=20
negotiate a secret key for each socket on connect, then encrypt private=20
properties using that secret key. If I have to do that, then it'll take a=
=20
while before Megami goes multi-player. :-)
=2D --=20
Neil Stevens - neil@qualityassistant.com
"Distinctions by race are so evil, so arbitrary and insidious that a
state bound to defend the equal protection of the laws must not allow
them in any public sphere." -- Thurgood Marshall
=2D----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+T1AZf7mnligQOmERAtp9AJ92KSRz+S029lARpudqbpa43Lvb4wCeIQZN
yLbmnOOlO7mfow8Fc9AwaRU=3D
=3D87Bg
=2D----END PGP SIGNATURE-----