Author Topic: Soldat Global Account System  (Read 16168 times)

0 Members and 1 Guest are viewing this topic.

Offline DorkeyDear

  • Veteran
  • *****
  • Posts: 1507
  • I also go by Curt or menturi
Soldat Global Account System
« on: April 18, 2011, 07:35:08 pm »

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
« Last Edit: December 27, 2013, 12:07:13 pm by DorkeyDear »

Offline Falcon`

  • Flagrunner
  • ****
  • Posts: 792
  • A wanted lagger
Re: Soldat Global Account System
« Reply #1 on: April 18, 2011, 08:00:53 pm »
Yey, grats for releasing it finally! Good job!
If you're not paying for something, you're not the customer; you're the product being sold.
- Andrew Lewis

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

Offline FliesLikeABrick

  • Administrator
  • Flamebow Warrior
  • *****
  • Posts: 6144
    • Ultimate 13 Soldat
Re: Soldat Global Account System
« Reply #2 on: April 18, 2011, 09:01:11 pm »
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.

Offline Stuffy

  • Soldier
  • **
  • Posts: 182
  • Very stuffy.
    • Climb-Zone Forum
Re: Soldat Global Account System
« Reply #3 on: April 19, 2011, 07:29:39 am »
cool, sadly I havent got time to start scripting these days :(
The truth is out there? Does anyone know the URL?
The URL is here

Offline DorkeyDear

  • Veteran
  • *****
  • Posts: 1507
  • I also go by Curt or menturi
Re: Soldat Global Account System
« Reply #4 on: April 22, 2011, 05:07:21 pm »
@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
« Last Edit: April 23, 2011, 11:05:14 am by DorkeyDear »

Offline CurryWurst

  • Camper
  • ***
  • Posts: 265
    • Soldat Global Account System
Re: Soldat Global Account System
« Reply #5 on: April 22, 2011, 05:18:22 pm »
Our current choice as scripting language for Proxy server module support is Lua, as it is easy to learn, integrates almost seamlessly into C++, it is powerful and can be extended easily to even support OOP paradigm. If you have any other suggestions feel free to post them here. I have already set up a basic Lua script core, though it is not yet fully functional.
Soldat Global Account System: #soldat.sgas @ quakenet

Offline -Bendarr-

  • Soldier
  • **
  • Posts: 104
Re: Soldat Global Account System
« Reply #6 on: April 22, 2011, 06:34:20 pm »
Congrats Curt and CurryWurst!! (and others who worked on it :P)

Offline CurryWurst

  • Camper
  • ***
  • Posts: 265
    • Soldat Global Account System
Re: Soldat Global Account System
« Reply #7 on: April 24, 2011, 12:56:19 pm »
Yey, grats for releasing it finally! Good job!

Congrats Curt and CurryWurst!! (and others who worked on it :P)

Thank you and Happy Easter to all of you! Don't forget to look for some Easter eggs :P

Curt released a more sophisticated tutorial on how to write modules using the SGAS Soldat Server API. So if you are a scripter why not write a module?
If you lack any API functionality let us know and make a post on our forum.

Mr convinced me of the idea to create a C++ plugin system for the Proxy server, hence modules may be written in C++ and loaded as shared library.
Nevertheless, I still intent to provide a scripting API in Lua or any other language of your choice.
« Last Edit: April 27, 2011, 10:34:24 am by CurryWurst »
Soldat Global Account System: #soldat.sgas @ quakenet

Offline Falcon`

  • Flagrunner
  • ****
  • Posts: 792
  • A wanted lagger
Re: Soldat Global Account System
« Reply #8 on: April 24, 2011, 01:16:23 pm »
* FalconPL choose PHP
should be possible, i know some scriptcores based on PHP in other apps (f.e nordicbots will support PHP scriptcore soon).
If you're not paying for something, you're not the customer; you're the product being sold.
- Andrew Lewis

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

Offline CurryWurst

  • Camper
  • ***
  • Posts: 265
    • Soldat Global Account System
Re: Soldat Global Account System
« Reply #9 on: April 27, 2011, 08:53:45 am »
* FalconPL choose PHP
should be possible, i know some scriptcores based on PHP in other apps (f.e nordicbots will support PHP scriptcore soon).

Not sure about PHP since it is supposed to serve for the web and I'd rather prefer to embed a lightweight language such as Lua.
Soldat Global Account System: #soldat.sgas @ quakenet

Offline jrgp

  • Administrator
  • Flamebow Warrior
  • *****
  • Posts: 5036
Re: Soldat Global Account System
« Reply #10 on: April 27, 2011, 09:49:46 am »
@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

I don't know why you listed D, lolcode, and other worthless languages. This should *only* be in either python or lua.
* FalconPL choose PHP
should be possible, i know some scriptcores based on PHP in other apps (f.e nordicbots will support PHP scriptcore soon).

Not sure about PHP since it is supposed to serve for the web and I'd rather prefer to embed a lightweight language such as Lua.

I feel like mentioning that the interpreter for lolcode is written in php. Php is perfectly fine for non-web things like shell scripting, but it isn't too useful for much else since the gui toolkit bindings are unmaintained and it lacks support for threads, among other things. It's as if it's deliberately crippled.
There are other worlds than these

Offline DorkeyDear

  • Veteran
  • *****
  • Posts: 1507
  • I also go by Curt or menturi
Re: Soldat Global Account System
« Reply #11 on: April 27, 2011, 05:43:59 pm »
I don't know why you listed D, lolcode, and other worthless languages. This should *only* be in either python or lua.
Kind of a joke. D I only put there because I wanted an excuse to try to use it, although as far as I know, it is not the most common thing to find, let alone scripting for it. GameMonkey and AngelScript are only listed because they were considered by MM for LD. I haven't actually done much research on any of those there, and just added some I was told.

I personally would like to see Python, but that's just because I've recently been playing around with it. I've always struggled with Lua. Even after using it for a little while, I still found myself working at a slower pace as compared to other languages (that was a while ago). But it could be just me.
« Last Edit: April 27, 2011, 05:47:51 pm by DorkeyDear »

Offline xmRipper

  • Soldat Beta Team
  • Flagrunner
  • ******
  • Posts: 742
    • Personal
Re: Soldat Global Account System
« Reply #12 on: September 13, 2011, 04:25:55 pm »
Bump! SGAS is probably abandoned because of the "Portal" in 1.5.1 Betas.
I hope you guys will continue this awesome system.
I am eager to see global player statistics, usage of HWID will make it perfect.
Co-Founder / CTO @ Macellan
Founder Turkish Soldat Community

Offline Falcon`

  • Flagrunner
  • ****
  • Posts: 792
  • A wanted lagger
Re: Soldat Global Account System
« Reply #13 on: September 14, 2011, 03:59:22 pm »
I'm the one coding database<->protocol bridge, but unfortunately (for you), i'm now on a short holiday. Though stay tuned, i'll be back one day :)
If you're not paying for something, you're not the customer; you're the product being sold.
- Andrew Lewis

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

Offline Bonecrusher

  • Global Moderator
  • Veteran
  • *****
  • Posts: 1397
  • High above
    • Zabijaka.pl
Re: Soldat Global Account System
« Reply #14 on: September 15, 2011, 03:01:20 am »
global hacker list with their HWID ftw

Im chill like that

Offline Irlandec

  • Soldier
  • **
  • Posts: 176
Re: Soldat Global Account System
« Reply #15 on: December 10, 2012, 06:48:23 am »
So,project is dead?

Offline Spotix

  • Major
  • *
  • Posts: 63
  • Shut up! I just give my sentimental side!
    • http://steamcommunity.com/id/Spotix
Re: Soldat Global Account System
« Reply #16 on: December 10, 2012, 10:31:37 am »
I think yes but idk realy -.-^^
So,project is dead?
[/quote
« Last Edit: December 12, 2012, 05:01:52 pm by Spotix »

Offline Bonecrusher

  • Global Moderator
  • Veteran
  • *****
  • Posts: 1397
  • High above
    • Zabijaka.pl
Re: Soldat Global Account System
« Reply #17 on: December 10, 2012, 10:39:30 am »
There are still discussions being held on sgas IRC channel so I hope not.

Im chill like that

Offline CurryWurst

  • Camper
  • ***
  • Posts: 265
    • Soldat Global Account System
Re: Soldat Global Account System
« Reply #18 on: December 10, 2012, 05:20:32 pm »
Attachments we all like them, don't we?
« Last Edit: December 10, 2012, 05:22:21 pm by CurryWurst »
Soldat Global Account System: #soldat.sgas @ quakenet

Offline Irlandec

  • Soldier
  • **
  • Posts: 176
Re: Soldat Global Account System
« Reply #19 on: December 11, 2012, 11:33:17 am »
Good to know it's not dead. We really looking forward on such wonderful thing as this!

Offline CurryWurst

  • Camper
  • ***
  • Posts: 265
    • Soldat Global Account System
Re: Soldat Global Account System
« Reply #20 on: January 30, 2013, 01:29:36 pm »
I thought it would be a good idea to post a little status report. So almost two months have passed and we are having good progress. I have spent a lot of work on the C API to implement core functionality. We internally tested our current code base with a few Soldat servers on different operating systems successfully, but I'm looking for interested scripters to try the API. We have an online API reference which of course is not yet complete and only provides little functionality so far, but it is updated regularly to expose the latest developments. Your constructive feedback will help us making a better product and you can directly influence the API design, so let us know if you are interested.

Due to University I will be short on time in the upcoming two weeks. Same applies to Falcon, but I guess we will both have a lot of time to spare after the exam period.
Soldat Global Account System: #soldat.sgas @ quakenet

DarkCrusade

  • Guest
Re: Soldat Global Account System
« Reply #21 on: January 30, 2013, 02:34:56 pm »
Sounds like you've got something going there! SGAS has been in development for so long that I was not even sure you would finally have something working at the ready! Unfortunatly I am still left with no internet other than my cellphone, so don't count me in on testing the API. But I wish you best of luck! :)

Offline CurryWurst

  • Camper
  • ***
  • Posts: 265
    • Soldat Global Account System
Re: Soldat Global Account System
« Reply #22 on: February 01, 2013, 03:46:18 pm »
Indeed, it is about time, however it seems there is only little interest which is kinda demotivating :(

Nevertheless for anyone who is interested here is link to the online API reference. All functions in the box on the right side are implemented already. Due to time constraints I have not been able to document them all and provide appropriate example codes. If you need a functional binary for testing, let me know.
« Last Edit: February 19, 2013, 10:24:08 am by CurryWurst »
Soldat Global Account System: #soldat.sgas @ quakenet

Offline Mittsu

  • Soldat Beta Team
  • Flagrunner
  • ******
  • Posts: 617
Re: Soldat Global Account System
« Reply #23 on: February 01, 2013, 03:51:46 pm »
dont worry man, keep it up, id surely give it a try again if i had a public server, maybe one day i will

even if there's little interest right now, such script will be useful over time for many soldateers
Realistic-Soldat.net
<+elerok> soldat is dead
<+AThousandD> shit happens