Vegastrike Architecture

A forum for the discussion and development of programs to assist working on or playing with the Vegastrike engine and data sets.
Post Reply
virajithj
Atmospheric Pilot
Atmospheric Pilot
Posts: 1
Joined: Mon Oct 25, 2010 11:33 pm

Vegastrike Architecture

Post by virajithj »

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
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Re: Vegastrike Architecture

Post by ace123 »

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/
Post Reply