Past EED rants


Live leaderboard

Poker leaderboard

Voice of EED

Monday, 24 November 2003

Running BF1942 and Teamspeak as an NT / Win2k service [brit]

A guide to running normal non service executables as NT/2000/2003 services.
There are various ways of taking a normal .exe and turning it into a service; the Windows NT Resource Pack gives you one way using 'srvany' but I have found this to be dubious at best - some .exe's refuse to work with it, and it can require editing of the system registry which could prove dodgy.
Then there are the GUI based applications like 'Firedaemon' which whilst excellent, cost money - or, have unhelpful restrictions on certain uses (such as only running 1 service in their Lite product) which preclude them from serious consideration.
So after an enormous amount of digging around, I found an application called the 'NT Launcher Service' which is freeware, and can be found here:
It works, exceptionally well. The following tutorial will take you through setting up a pretty standard affair of 1 Battlefield 1942 Desert Combat server, and 1 Teamspeak (voice comms) server. Note however, that you shouldn't do this unless you have a nice meaty server!
Download the following:
1. Battlefield 1942 stand alone server 2. Desert Combat stand alone server 3. Battlefield 1942 remote server admin executable 4. The NT Launcher application
1. Install BF1942 and then the DC server. 2. Place the remote server admin executable in the same directory as BF1942.exe 3. Run the server admin executable, and use it to configure the server - save the resulting settings.
It's useful to actually kick the server off at this point, with the server admin to ensure that everything is working; a couple of times I found that the server wouldn't see the DC maps, or had other issues.
4. Go to the directory that you put the NT Launcher app into, and edit the file NTLauncher.ini
Basically, this is where you put the gubbins that NT Launcher uses to monitor it's 'services'. It's an easy text file to edit, so no skills related issues should be forthcoming. For each application you want to run as a service, enter an application container. For our two applications (BF1942(DC) and Teamspeak) the config looks like this:
[Program] PollForClosedApps=5 LaunchDelay=15
[App1] Path=C:\Program Files\Teamspeak2_RC2\server_windows.exe Param= CloseTimeout=15
[App2] Path=C:\Program Files\EA GAMES\Battlefield 1942 Server\BF1942.exe Param=+game DesertCombat +restart 1 CloseTimeout=15
Save out the file, and that's your editing done.
5. Get up a command prompt, and go to the directory where the NT Launcher application sits, and type:
net start launchersvc
You'll see it start the services. Normally, it kicks off the NT Launcher service, and then fires up the applications as defined in the .ini after 15 seconds; a timetable set by the LaunchDelay=15 setting.
Once this is done, your TS and DC servers will be up and running, and it's time to get online and start blowing the hell out of stuff!