Running a server

From FreeAllegiance Wiki
Jump to: navigation, search

This article is intended to explain and document the experience on how to install the R5 version of the MS Allegiance Game Server as a service.


Info.png
Note The article is not intended to explain how to setup a LAN server or a non-service installation of the MS Allegiance Game Server.

Please view this article if you wish to setup a LAN server.

This article assumes you can confidently edit the registry and manage running services on a server platform. It also assumes you already have received clearance for connection to the Public Lobby from the admins.


Updated to include Steam server requirements, November 2017, by LANS


Steam Server Guide

Download SteamCMD from https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD.

Unzip to C:\Steam

run c:\Steam\SteamCMD

Then from inside SteamCMD, run the following commands:

login anonymous
force_install_dir c:\Allegiance\Server
app_update 730810

Then go to C:\Allegiance\Server

Read the README_SERVER text file.

The batch files must be run as administrator. Open a new command line window as administrator, and execute the following: (Start menu -> cmd -> right click, run as administrator)

cd C:\allegiance\server
server_dplay_install.bat
server_install.bat


Step by step procedure

This procedure is known working on Windows 2003 Server and is credited to Zapper.


Info.png
Note Please follow each step carefully. Errors can be difficult to trace down once configuration is completed.


Warn.png
Warning! If you are running a 64bit operative system, the services will run/install as a 32bit application/services on native 64bit OS systems.


1 Download the required software

You will need:

Of course, administrator privileges on the OS are required.


2 Install and unpack everything.
2.1 R3 Server
You must install the Server as a service.

Begin with the R3 Server. The procedure is fully automated; you will need to make sure you install it as a service.

This guide will assume you chose the default install folder: %ProgramFiles%\Microsoft Games\Allegiance\Server

2.2 TAG

Next up is TAG. Unzip the contents of the TAG zip in %ProgramFiles%\Microsoft Games\Allegiance\Server\TAG\ (create the folder if it does not exist.)

Next up, fire a command prompt:

C:\>

Type in the following commands. (rem lines are actually comments.)

rem Change to the TAG folder.
cd "%ProgramFiles%\Microsoft Games\Allegiance\Server\TAG"

rem Start (Install) the TAG service
tag -service

rem Configure the Alleg Server and TAG to run manually
sc stop AllSrv
sc config AllSrv start= demand
sc stop tagservice
sc config tagservice start= demand

rem Unregister agc.dll
cd ..
regsvr32 /u agc.dll
2.2.1 Reboot

You will now need to reboot your system.

2.3 R4 Server

Unzip the R4 server zip and copy the content to the main server folder.

Fire up another command prompt and type in the following commands:

rem Change to the Server folder.
cd "%ProgramFiles%\Microsoft Games\Allegiance\Server"

rem Register the new copy of agc.dll
regsvr32 agc.dll

rem We are now ready to start the services.
sc config AllSrv start= auto
sc config tagservice start= auto


3 Set up configuration files
3.1 allegianceserver.cfg

Make sure this file exists:

%ProgramFiles%\Microsoft Games\Allegiance\Server\allegianceserver.cfg

If it is not present make one. Contents follow:

[Allegiance]
PublicLobby=204.16.202.184

; THIS IS A VALID CONFIG FILE
3.2 ranks.txt

Make sure this file exists:

%ProgramFiles%\Microsoft Games\Allegiance\Server\Artwork\ranks.txt

If it is not present, make one. Contents follow:

31
0,Newbie
1,Novice 1
2,Novice 2
3,Novice 3
4,Novice 4
5,Novice 5
6,Novice 6
7,Novice 7
8,Inter. 1
9,Inter. 2
10,Inter. 3
11,Inter. 4
12,Inter. 5
13,Inter. 6
14,Inter. 7
15,Veteran 1
16,Veteran 2
17,Veteran 3
18,Veteran 4
19,Veteran 5
20,Veteran 6
21,Veteran 7
22,Expert 1
23,Expert 2
24,Expert 3
25,Expert 4
26,Expert 5
27,Expert 6
28,Expert 7
29,Expert 8
30,Expert 9
31,Expert 9

Please do not attempt to 'personalise' this text file. Doing this will result in a reconsideration of your clearance to host public games.

3.3 cores.txt

Make sure this file exists:

%ProgramFiles%\Microsoft Games\Allegiance\Server\Artwork\cores.txt

If it is not present, make one. Here is a sample cores.txt file:

7
cc_03
GoDII_05
plus15b7
RTc006a
rps55
PC2_019
sw_a102

The first line of this file contains the number of cores the server should load. An incorrect figure will crash the server. The following lines are case sensitive. Each line should be the filename of each core without the ".igc" suffix.

3.4 maps.txt (optional)

Check whether this file exists:

%ProgramFiles%\Microsoft Games\Allegiance\Server\Artwork\maps.txt

If it is not present and you wish to host custom maps, make one. Otherwise, skip this section.

Here is a sample maps.txt file:

28
2,Limited,m2xiblimited
2,Polished,m2xibpolishe
2,Blender,m2xibblender
2,Bowtie,m2xibbowtie
2,Emerald,m2xibemerald
2,Sapphire,m2xibsapphir
2,Splitmix,m2xibsplitmi
2,Starflake,m2xibstarfl
2,Chaos,m2xibchaos
2,Octagon,m2xiboctagon
2,Topaz,m2xibtopaz
2,Pentagram,m2xibpentag
2,Dual,m2xibdual
2,Ruby,m2xibruby
2,Sliver,m2xibsliver
2,Obsidian,m2xibobsidia
2,Escher,m2xibescher
2,Amethyst,m2xibamethy
2,Crush,m2xibcrush
2,Kill,m2xibkill
2,Destroy,m2xibdestroy
2,Gold,m2xibgold
2,Nova,m2xibnova
2,Jade,m2xibjade
2,Quartz,m2xibquartz
2,Rhodium,m2xibrhodium
2,Platinum,m2xibplatinu
2,Palladium,m2xibpallad

The first line of this file contains the number of map files the server should load. An incorrect figure will crash the server. The following lines list the map files to load with the following syntax:

MaxNumberOfTeams,MapDisplayName,MapFilename

In the example above, the server will load the m2xiblimited.igc file as the 'Limited' map. This map is only available for 2 teams.

Catches:

  • The map display name may not be longer than 25 characters.
  • The file name must may not be longer than 13 characters. This field is case sensitive. Strip off the .igc suffix.
3.5 Set up the registry
Warn.png
Warning! The following section or part of it requires you to change the Windows Registry.

This operation is potentially destructive and needs to be carried out with great care. If you are not very confident with Windows, you may want to consider alternative methods, if available.

  • If you are using Windows XP or older, select "Run" in your Start menu, typing regedit, and hitting Enter.
  • If you are using Vista or newer, press the Windows button, type regedit and hit Enter.

Fire up regedit and switch to the following key:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Games\Allegiance\1.0\Server]

We will need to set a few vital values.


Warn.png
Warning! If %programfiles% does not resolve to C:\Program Files\ on your system -- which will be the case on non English versions of Windows previous to Vista or Server 2007 -- please edit the folowing lines accordingly.
  • Set CfgFile to C:\Program Files\Microsoft Games\Allegiance\Server\allegianceserver.cfg
  • Set ASGS_ON to the dword 00000001 (make sure you are entering hexadecimal data.)
  • Set ASGS_RANKS_ON to the dword 00000001 (make sure you are entering hexadecimal data.)
  • Set LocalAddress to the name your server will appear as in the lobby.
  • Set Location to the geographic location your server is located in.
  • Set MaxGames to the maximum amount of games users can create with the 'Create Game' button.

Do not touch the following:

"Version"="1"
"Launched"="1"
"InstalledGroup"="1"
"FIRSTRUN"=dword:00000001
"MaxPlayersPerGame"=dword:000000c8
"HasTrained"=dword:00000001
"LangID"=dword:00000009
"nUpdatesPerSecond"=dword:00000014

Do make sure "ArtPath" and "Exe Path" point to the correct folders.

Finally, reboot your computer.


Finish!

Pheew! If everything worked, you should have a working copy of the Allegiance R4 server up! Congratulations and thank you!

Further reading

Maintaining the Server's Settings

Occasionally you will want to make changes you your server's configuration files. Be it adding a new core or map, for instance. That is as simple a task as editing the appropriate configuration file. These changes do NOT take effect immediately. They are only read by AllSrv when it first starts up. If you want them to take effect right away, you will have to restart the server. Bear in mind that if you do restart Allsrv, any games currently running will end and you might have an angry mob on your hands. It's best to give ample warning and to time the restart when game interruption will be minimised.

Further fine tuning is available. For example, you may want to set up proper actions to react to failures in the AllSrv and TAG services, like this:

sc failure AllSrv restart/500/restart500/restart500
sc failure TAG restart/500/restart500/restart500

You might also want to tweak TAG to your needs. You also may want to set up 'zone games,' the special games marked in blue that are not destroyed when empty.


  • Server configuration
  • Zapper's Server Setup Crash Course. - This thread contains a large amount of information, some of which is not covered here.
  • This post by YourPersona explains the different Event IDs used by the server. These entries show up on the "Application Event Log" under "Administrative Tools". This information is valuable when troubleshooting server problems.