Crossfire Architecture

Technical and coding related questions.

Moderator: Board moderators

Post Reply
virajithj
One hit wonder
Posts: 1
Joined: Mon Oct 25, 2010 6:42 pm

Crossfire Architecture

Post by virajithj »

Hi,

I am new to Crossfire and am interested in understanding the main server architecture of Crossfire. I have tried the wiki but could not find anything. I am hoping some one on the mailing list can help me. I am specifically looking for any kind of documentation that can help me understand the working internals of the Crossfire game servers at a high level. In particular, I would like to know answers to the following questions:
1. How the players are distributed across the servers?
2. Are there multiple game servers? If so, how do they communicate? How can I setup multiple game servers?
3. Is there a persistent datastore? If so, how is it architected? If there are multiple such datastores, how do they communicate? Also, is it possible to setup the datastores for each game server on a separate machine?

I would really appreciate any help I can get regarding these issues.

Thanks a lot,
Virajith
Leaf
Forum Aficionado
Posts: 1994
Joined: Tue Apr 29, 2003 5:55 pm
Location: Minnesota, USA
Contact:

Re: Crossfire Architecture

Post by Leaf »

virajithj wrote: 1. How the players are distributed across the servers?
They are not. Players (or player files) only reside on the server they are created on.
virajithj wrote: 2. Are there multiple game servers? If so, how do they communicate? How can I setup multiple game servers?
Yes, there are multiple servers.

They do not communicate with or to each other.

As for the setup - multiple methods exist for installing a server. Compile from source, pre-compiled packages, etc. Method of install depends on server operating system.
virajithj wrote: 3. Is there a persistent datastore? If so, how is it architected? If there are multiple such datastores, how do they communicate? Also, is it possible to setup the datastores for each game server on a separate machine?
Each server stores map & player file data locally. They are plain text files.

Current design does not support datastore communication across servers.

I suspect with enough time, effort and know how - one could use something like an NFS mount for a separate datastore.
"Put another, more succinct way: don't complain, contribute. It's more satisfying in the long run, and it's more constructive."
Eric Meyer
Post Reply