[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Game idea....



On Thu, 8 Jul 1999, Michael Day wrote:

> > It nags me a lot.
> 
> The ultimate and final
> way to fix this problem is basically put *everything* on the server, not
> just the physics. Consider you have a connection of massive bandwidth.
> All input data the user generates is sent to the server, which sends back
> graphical frames for the client to display. Now obviously this is
> impractical and crazy, and bandwidth would be huge and the server load
> would be unsustainable. But it demonstrates that there is a potential
> solution, it's not *impossible*.

That is possible, I see. But, then it is not really a client server game
anymore. (Well, it still is, but a minimum takes place at the client).

> 
> A more practical method is just to send only the data the client needs,
> and try to be as smart at working out what it will need as possible. For
> instance in Quake you can hack yourself 360 degree vision, as you are sent
> to much information, for speed purposes. 

But even sending only the data I am allowed to see, does not rules out the
possibility of inserting aim bots, have cooperative proxies, etc. which
can easily be made into a "cheat" setup. (Having proxies accumulate
information and spread it to all clients for instance).

Also, there are still stuff to learn from information about sound, etc.
that could be used to cheat.

The real problem is; how do we ensure that all clients run exactly the
same code, with no proxy in between. I claim that the "no proxy" is the
"middleman problem", and therefore we need encryption. But, how do we
obtain the keys - since we essentially do not trust the client.

For binaries, we could exchange binary code snippets, that plugged into
the client side game and encrypted all information. On connect to a
server, you had to download a binary - compiled at the server side - that
contained the necc. keys and encryption module. (Not explained enough, but
I think this could be done. At least to a level where you would need to
process for several hours to break this key - which would make it hard
ever to get played a game. One could download a new key/binary on each
level change).

For client where the source is available I see no solution.

If anyone feels this is getting to of topic, please say so. I know this is
a really farfetched problem, but it still buggers me. I have just read an
article about formal proofs for the safety of binary kernel modules. I can
not seem to find any suggestions that the "distributed" problem is
solvable.

Mads

-- 
Mads Bondo Dydensborg.                               madsdyd@challenge.dk
Unix is here to stay. The Internet is Unix, all network administrators cut 
their teeth on Unix, and many of them say they'll give up Unix when you pry
it from their cold, dead fingers.