glob2-devel
[Top][All Lists]
Advanced

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

Re: Networking (was Re: [glob2-devel] Glob2 salvage proposal)


From: Andrew Sayers
Subject: Re: Networking (was Re: [glob2-devel] Glob2 salvage proposal)
Date: Mon, 24 Oct 2005 20:15:35 +0100
User-agent: Mutt/1.5.11

>    You forgot that the salvage proposal uses a central server where the game
>    runs. The model can therefore be extremely simplified:

Yes, but I still believe the peer-to-peer nature of the game can work,
and that if it can work, it's a better solution than a central server.

For example, memory would be a very serious issue on a central server.
The map code alone will take more than (21 * number_of_teams * map_width
* map_height) bytes of data per game.  For an 8 player 512*512 map,
that's 42 megabytes of data - manageable for one game, but do you want
to donate the server that could be asked to run a dozen of them at once?

>    - The only good way to prevent spoofing is to use some lightweight digital
>    signature (encryption). Here the metaserver can act as a trusted server to
>    establish a secure connection between the client and the server. While
>    encryption might be too heavyweight for the server, it can easily be run
>    in parallel to the game to take advantage of multiple processors or
>    HT-like processors.

The real question is: why prevent spoofing?  What do people have to gain
by attacking a game of Glob2?  The most likely outcomes are to make the
game desynchronise or insert orders that shouldn't be there.  While
annoying, these are hardly a major threat.

Even if we did need to secure the communication between two computers
playing a game, central servers aren't useful for that.  All a Glob2
session needs to know is that the packet it is receiving right now comes
from the same source as the last packet it received.  This can be done
by exchanging session keys at the start of the game.

        - Andrew




reply via email to

[Prev in Thread] Current Thread [Next in Thread]