Hi,
I am new to the Vegastrike game/engine and am curious about its server architecture. I have searched around a bit on the wiki but did not find any articles that could address my questions. I was hoping some one on the forums can help me with the following questions:
1) Does Vegastrike support multiple servers? In other words, can a game which has been developed using Vegastrike be hosted on multiple physical servers at the same time? Are there any games which do this currently? Can a player connect to any one of the multiple servers?
2) Is there any persistent data related to a user? How is the persistent data related to a single user stored? Is a database used? Is this datastore distributed across multiple physical servers or is it stored on a single physical machine? Can the datastore be create on a machine which is different from any of the physical machines which are running the actual game server?
In general, is there a place where I can find a (detailed) documentation of how the game engine is architected.
I would really appreciate any help I can get on this issue.
Thanks a lot,
Virajith
Vegastrike Architecture
-
- Lead Network Developer
- Posts: 2560
- Joined: Sun Jan 12, 2003 9:13 am
- Location: Palo Alto CA
- Contact:
Re: Vegastrike Architecture
The server architecture is a traditional client-server model. it supports multiple servers only in the sense of allowing a separate server per system.
The game was architected as a single player game, so multiplayer is basically a message passing layer around basic functions on the Unit and Cockpit classes. (Everywhere you see "if (Network) {...}")
Within one server (system), there is some maximum number of units (and clients), depending on the specs of the server. I'd say that number is probably somewhere around 50 clients at once, but it's never been reached in practice, so it may be higher or lower.
There's no real documentation, but there is a reasonably up-to-date list of messages here (ignore acctserver--it's been replaced by a simple python HTTP server for a long time):
http://vegastrike.sourceforge.net/wiki/ ... server.cpp
Here's the top-level page, but it's a bit sparse and used more for discussion:
http://vegastrike.sourceforge.net/wiki/ ... nt:Network
The source code is here:
http://vegastrike.svn.sourceforge.net/v ... etworking/
The game was architected as a single player game, so multiplayer is basically a message passing layer around basic functions on the Unit and Cockpit classes. (Everywhere you see "if (Network) {...}")
Within one server (system), there is some maximum number of units (and clients), depending on the specs of the server. I'd say that number is probably somewhere around 50 clients at once, but it's never been reached in practice, so it may be higher or lower.
There's no real documentation, but there is a reasonably up-to-date list of messages here (ignore acctserver--it's been replaced by a simple python HTTP server for a long time):
http://vegastrike.sourceforge.net/wiki/ ... server.cpp
Here's the top-level page, but it's a bit sparse and used more for discussion:
http://vegastrike.sourceforge.net/wiki/ ... nt:Network
The source code is here:
http://vegastrike.svn.sourceforge.net/v ... etworking/