Soldat Fans > Developers Corner
Soldat Global Account System
DorkeyDear:
by the SGAS Team
What exactly is SGAS?
SGAS provides an easy interface and a network infrastructure using the SGAS protocol for scripters to extend their scripts. The purpose of this extension is to only help scripters with additional functionlity, which would otherwise be intricate or too time consuming to accomplish from scratch. SGAS' very potential can be unleashed by you, the script developer. We only provide you with a solid foundation...
* Communication between servers, or more generally, nodes
* Global database for storing data accessible from anywhere
* Account system with online user profiles
Please note that SGAS Alpha 1 only offers communication between nodes. A few examples of what these features can help do:
* Chatting between servers
* Synchronizing maps and files
* Collecting player statistics
* Player tracking
How does SGAS work?
SGAS is based on a custom network protocol which is shared among all nodes connected to the network topology. Nodes transfer data to another node by means of SGAS packets which may consist of different SGAS message types. Each message type describes what data is being sent. There are message types to exchange protocol versions, to send a module message and simple message types to ping a peer node for example.
The network infrastructure comprises different node types. Soldat servers belong to the game server category. Proxy servers (formally known as Middle Man) can establish a connection to any of these servers to link it to the Lobby server. A Proxy server will simply forward the packets sent from the game server to the Lobby server, hence it performs as mediator between game and Lobby server. Immediate connections from a game server to the Lobby server may be available in the future. The Lobby server has unrestricted access to the global database in contrast to game servers which have to resort to game specific SGAS APIs, one being the SGAS Soldat Server API.
I don't make scripts, but I play Soldat. How does this concern me?
In the current state, SGAS will probably not concern you by much for a while. This alpha is designed just to provide early partial functionality and to receive some feedback from the scripting community. Don't be afraid to play on servers running the SGAS script and to provide useful feedback to the module authors, though.
I don't make scripts, however I host a server.
If a script is made to work in conjunction with SGAS, all that is needed is to have the SGAS script on the server. Once the global database access is finished, you will also need to register your server and edit the SGAS scripts config file to login with your server ID and password. More informationon on this topic will follow in upcoming releases.
I create scripts. How can I write a module?
With the SGAS script installed on the server, copy the SGAS interface file from the example modules provided with the standard package, and use the example modules as reference. The module will communicate with the SGAS script as needed. Please note that this project is still in alpha phase and anything may be subject to changes without notice. A complete guide to the SGAS Soldat Server API can be found here. If you have any questions with regard to the SGAS interface, query us in #soldat.sgas on QuakeNet or make a new post on our forum. There are special boards on our forum which can serve as platform to discuss your module ideas, works in progress and releases.
Roadmap
SGAS has been in development for more than 2 years now. On our wiki, you can find an elaborated time table which describes our plans for the future. We decided on making alpha 1 publicly available to involve the community in the development process to achieve a better result. If there is adequate interest in the project we may expand SGAS to other games, such as Link-Dead, as well.
How you can support us
You can contribute to the development process by providing constructive feedback or even by taking an active part as developer in our team. We urgently look for reliable long-term forum maintainer and website developers to support Falcon. If you want to apply for a different job feel free to contact us. Any donation would be greatly appreciated, irrespective of the amount. The money will be used to help us pay our server bills.
Known issues
* Soldat servers running the SGAS script may leak memory
* Proxy servers don't support domain resolving yet, connection details in the config file must consist of valid IP addresses
* Connecting with multiple Proxy servers to a single Soldat server will result in unknown behavior
Download now
Includes both the Soldat server script and Proxy server
Falcon`:
Yey, grats for releasing it finally! Good job!
FliesLikeABrick:
well gee, if only you had talked to us a bit we may have actually gotten you to be able to use the official soldat authentication database (LDAP), which is what the soldatforums, soldat site, and a few other things use. Maybe in the future we can get you to integrate.
Stuffy:
cool, sadly I havent got time to start scripting these days :(
DorkeyDear:
@FLAB: Our database will be a bit... well... weird. We're going to keep it separate, although we would like to discuss possibility of linking (associating) SF accounts with SGAS accounts as a possible future option. An example use could be ability to check if there are any unread PMs in-game.
We plan to have modules on a Proxy server, but we need to know what language. Thoughts? What is most common/used/useful and featureful?
Lua, Python, GameMonkey, LOLCODE, AngelScript, Pascal, D, Falcon
Navigation
[0] Message Index
[#] Next page
Go to full version