RE: [War-devel] Plans for multiserver "backbone" structure
Status: Pre-Alpha
Brought to you by:
tld
|
From: SamBC <sa...@ni...> - 2000-07-03 10:37:41
|
Comments below: > -----Original Message----- > From: Thomas Lund > > > Hi > > Nice subj :-) > > I have 2 weeks holiday from friday, and then I have (finally) time to > code again. > > Plans for the holiday are: > > * basic mainserver + gameserver structure > * basic chatroom > I will get some more definite rules drafted, with some basic units - see forthcoming email! > All in all: networking > > I have been thinking about implememnting a server structure ala: > > main <----> main > / | \ | > gs gs gs gs > | | | \ / |\ > c c c c c c c > gameserver <-> client relationship is one to many, yes - each client has one gameserver at any one time, gameservers are mutually isolated & have many clients, correct? If so, good. > main = mainserver holding login info, game stats, experience point for > squads, chat relay, list of gameservers connected, etc > gs = gameservers. These run the games, and are the servers that clients > (c) connect to. The gameservers validate the user/passwd with the main > servers, and get lists of other users connectd to the "war network". A > ggameserver could be one of the clients actually. > I would suggest that gameserver and client may possibly be the same machine, but separate programs. Look at the Freeciv project (www.freeciv.org) for an idea how this is done. > Communication between mainservers and gs<->main are encryptd somehow. > When reporting stats back to main servers from games, we should > implemnent some validation thing with keys so nobody can cheat. I have > absolutely no clue how to do this, but thats the fun of programming - > learning :-) > Possible idea - as the game progresses, events are summarised into a sort of hash system that includes a complex 1-way (?) encryption of all of the events that led to experience so it can be used to verify experience ratings for the battle. The algorithm should be semi-random to preclude construction. Furthermore, hash-key verification direct from more than one client should be necessary (ie the two players agree that they had the game & what the outcome was - only the program does the agreeing for them). > In the beginning there will only be 1 mainserver. > Of course, as it is opensource people may start up separate mainservers producing extra "War Networks" which are separate from the project mainserver SamBC |