EFM Ties The Quake 3 Engine To The Web

One of the more interesting projects out there is EFM (short for Elite Force Manager). If you play Elite Force you’ve probably seen the LAST STAND server in the server listings being one of the few all weapons free for all servers with players on it, and if you’ve ever played on it you may be wondering what the deal is with it.

Last Stand is home to EFM which, contrary to popular belief, is a program not a clan :). The EFM application allows players to vote for gametypes and maps via the website,
score information is also passed to the website. Some of the other clever stuff allows various in-game variables typically only accessible to the admin to be changed via the console.

A Credits system gives players who post on the forums or score highly credits to vote on custom maps through the website. This unusual integration of website and game server is quite unique for Quake3 based games. I had the chance for a short Q&A session with MR-J the Last Stand Server Operator and Creator of EFM. Here is what he had to Say.

BG: What is Elite Force Manager:

EFM: Elite Force Manager is basically an application that monitors and interacts with the Elite Force server console and generates files that can be used for purposes such as score tracking ,as demonstrated on the EFM web site.

BG: How long has Elite Force Manager been under development?

EFM: That’s a bit of a trick question, the initial project is nothing like what is now EFM. Early on, the work was very slow and then I ended up scraping almost all of the code and starting over. It has been just about a year since it was initially started.

BG: Is the application a web server itself, or does it interact with the webserver like it does with the game.

EFM: The application produces files that can be used on a web server. It is not a web server itself.

BG: How does it interact with the web server?

EFM: It has internal protocols to handle either HTTP(with web server-side script) or FTP file transfers. In can be configured automatically upload the data files at set intervals. Then it’s up to the web server script to handle it from there.

BG: What inspired you to begin to write such a program?

EFM: It was really just one of those ‘Wouldn’t it be cool if…’ sort of things. I enjoy coding, I like Elite Force, and I saw an opportunity to make the game a little more player friendly. Games based on the Quake engine are extremely configurable on the server side but lack some on the player end.

BG: Do you have an estimate for when EFM will be available?

EFM: Truely, EFM is 95% completed already. I have, more or less, accomplished all of the goals I had originally set. There are just a handful of things that need to be tweaked and a couple of things I would like to re-code. Only one configuration section in the software is not fully activated but most all of the code has already been written.

BG: Do you have plans to support other Q3 Based games with EFM? Can we expect a Q3M?

EFM: I’d love to if there is an interest. It would take very little to make it happen since most of the basic commands are the same. Plus, the infrastructure of the software allows for the server admin to add new commands that can trigger events even if they aren’t specifically coded into EFM.

BG: Do you have any future plans to create any more game oriented applications?

EFM: I do not currently have any plans to do so, but one never knows. If there’s something useful to be done, I’d consider it. So far I’ve only considered expanding the games that this application can be use with if there were any interest.

BG: In the FAQ you say “the application has the ability to interact in a multitude of ways with the Quake server engine” Aside from voting via a website, what are some other examples of the features of Elite Force Manager.

EFM: Really virtually anything that you can change in the server console can be triggered either by a certain pre-programmed event or via a user command via a web interface. Already in place for registered users on the EFM site, the ability is given to change the gravity, the game speed, the game type (CTF, FFA, Team), change the number of bots in the game, player controlled random map generator. The list can go on and on. EFM monitors the server console window during the game and can be configured to watch for certain events or text that triggers an action. The action can be any server CVAR or Command available in Elite Force.

BG: What can we expect to see in the future as far as improvements and features?

EFM: The goal of EFM was for the possibilities to be limited only by the console’s command set. When the software is fully functional, the features are literally added by the admin. Typically ,at this point, when I want to add a feature all of the work is done on the web site and not to the program. As I play with new commands, I find little things to tweak in the program.

BG: Do you expect to add support for some of the popular mods like gladiator?

EFM: I haven’t really played around with the mods that much, but the software should already be able to support them as-is. Perhaps I will try a couple of the better ones out on the EFM site soon.

BG: Have you considered adding in more detailed stats like AEStats produces in the future from the EFM application?

EFM: As a matter of fact, yes. Most of the info that you refer to is very easy to have the program track. Since I’ve had some player requests for that, I have added it to my to-do list.

BG: How much player data are you storing right now?

EFM: The application reads and stores player names, pings, and scores.

BG: What Platforms will efm run under (i.e. windows only? cross platform?)

EFM: Currently EFM runs under Windows. It was coded in a .NET language which is Windows only. However, since I began the project, I have since learned and began using a cross-platform language instead of .NET. The new language allows for creating software in Windows, Mac, and Linux. In fact, the EFMScanner software on the web site, is actually written in this language and I have versions available for both Windows and Linux. If the software was made to work with other Quake-based games, I would probably port it over as I know many of the game servers are run on the Linux platform.

BG: What language are you using to port it?

EFM: The language I would use to port it is built on C++. It’s basically a sub-language of libraries for cross-platform software development that enables the application to use the environment’s native GUI. It’s called wxWidgets.

BG: What other games do you play.

EFM: Mainly simulators like flight and racing. There are a couple of cool free Quake like games I occasionally play too.

BG: You mention in the FAQ that the software *may* be shareware when released. Have you made any decisions on this and if so do you have a rough idea of the cost?

EFM: There’ll be no cost, but if anyone decides to use it, I wouldn’t turn away a donation. 🙂

Be sure to check out the EFM Website @ http://eliteforce.hobbyshelf.com You can direct connect to the Last Stand server @ EFM.SERVEGAME.COM:27960.

About Shafe

Brian Shaffer is a veteran programmer, programming professionally since 1991. His first gaming computer was a Commodore Vic-20 in the 80s. Shafe founded The Beer Garden on October 23, 2004 and continues to run and maintain it along with several members of the gaming community.