One of the major concerns here at TG is to be able to have enough supporting members to allow a variety of games hosted. Every gameserver costs money to uphold.
As some of you may know I implemented the supporting member slots feature for Battlefield 2142. I`ll give you an introduction to how this came about.
I work as a IT architect/programmer. I have spent my last 6 years working solely with Java. Mainly in the enterprise stack. This encompass databases, web services, a multitude of frameworks, loads of XML and various applications servers. I have always been comfortable with Windows, Linux and Unix but I have no real preference, the right tool depends on the job. From my experience Linux is a more stable platform to host servers on. So my preferred deployment platform is Linux/Unix.
When I joined in as a member of the Battlefield 2 admin team, the thought of creating a tool that would work outside the game server itself started to mature. The reason at the time was mainly to reduce the amount of work it would be to maintain the TG servers. But it was not until the release of Battlefield 2142 we really had the need for this. The problem was that while we with BF2 had access to all the files running on the game server as we were running unranked, 2142 was ranked and thus did not allow us to modify game files on the server side. The amount of work put on admins to allow game slots to play on the servers was taking up a lot of the time which would be better put to use to police the servers properly.
The solution was to create a TG-controller server that would control the game server much in the way of the admin tools being used to police the servers manually.
The main concern was deciphering the protocol being used. I had never heard of the Punk Buster RCon protocol so it took me a great deal of work to study it. Luckily it was a text based protocol so after a while I started to understand the control flow of the needed commands.
The initial design was a Java daemon running inside TGs network that had the ability to support the two of our BF2 earlier features, that was supporting member slots and a feature to kick players not joining a squad.
TG expanded with more servers supporting vanilla, two 2142 servers and one Northern Strike. So at one time we had three ranked 2142 servers running.
In the first version I did not take into account controlling more than one server. So I added the feature of controlling any number of servers in the next major upgrade. This was a major undertaking as I had to start threading the program. Threading means to allow for different parts of a program to work simultaneously.
Another concern with our player base was that we would get reports on players in retrospect. These were players behaving badly within our strict set of rules. We had no good means of weeding out players like that unless we had an admin logged onto the server at the time. The solution to this problem was to log every player who entered one of our game server. The log entries are stored in a database along with the unique identifier needed to take retrospective action on the player. From the newly available statistics we were able to measure how many players where visiting the 2142 servers and how many players where kicked from our 2142 servers due to not entering a squad.
For those who want the numbers, we had more than 800 distinct players within a 24 hour period for the most populated server. The autoadmin program also kicked 12.500 players within 46 days for not being in a squad and supporting members was given a spot almost 5.000 times within the same period.
I take pride in recognizing the huge positive effect these features had for 2142. The supporting member base grew steadily mainly from the 2142 game at that time.
I have since added support to other games running the PunkBuster Rcon protocol. Currently we support the following titles:
Battelfield 2
Point of Existence 2
Project Reality
Forgotten Hope 2
Battelfield 2142
Battelfield 2142 - Northern Strike
Call of Duty 4
Quake Wars enemy territories
Bold listings are games that needed additional coding in order to work. Every PunkBuster enabled game has it's own flavour of command sets. So some coding is needed in order to support new titles. Is not the case of mods. Mods does not change the Rcon protocol of it's title. Thus supporting a mod is very easy.
This means that any BF2/BF2142 based mod should work with the autoadmin in it's current state.
So do not hesitate to join TG as a supporting member. Your money is put to good use here. No money is wasted. No one is getting payed for their work so don't worry about your money going to luxury holidays or fancy dinners.
Panzer, out.
PS, I'll try and answer any question you might have as long as it is not a pure support question. Those will have to go in the respective game forum.
NB Do note that I am not the one who came up with the idea of an automatic supporting member feature. This was created before I even joined TG. All I did was port this feature so that it would work outside the scope of the game server itself.