Server configuration

From FreeAllegiance Wiki
Revision as of 20:26, 12 February 2009 by Zapper (talk | contribs) (→‎ranks.txt)
Jump to navigationJump to search

AUTHOR DISCLAIMER: This article is "Work in progress"!! some items are not verified..
DATE: 8 Feb 2009
AUTHOR: Zapper

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

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

The article is a large amount of data and should be used with caution! not that its dangerous but it can be complicated to debug the error which can occur during installation. Some items can be self explained, others can have missing information in this article. But we try and make it as easy as possible.
Like all article in a wiki there can be multiple authors and they can have different opinion on what procedures and methods are the best so be aware that information can be lost in a edit.
--Zapper

This article is a Stub. You can help by improving it!

Known missing item

  • Zone game registry
  • Default map list

Known missing content

Required knowledge

The content of this article require common knowledge on how to alter the registry and running services on a server platform.
DISCLAIMER: The article is made with the best of our knowledge!!

Do not attempt to install the programs or alter any settings if there are any unanswered questions regarding described procedure in this article.

If there are error's in the article that would cause harm or in any other way problems with the system in which its installed, this is solely done on the users own responsibility.

Required software

Alleg server version R3

Alleg server version R4

TAG2014

Artwork, the files are in the R3 installation packaged!!

The folder hierarchy

  • Server

This folder contain the server application and files associated with the server application.

    • Artwork
This folder contain artwork and configuration files, in relation to the server, the map and core files are located here.
    • TAG
This folder contain TAG service, files and sub folders associated to TAG.

Installation of the Alleg server and TAG

Alleg server

The whole installation must be done with administrator privileges on the OS.

The current procedure was last done on a Windows 2003 server.

Some of the regsvr method may be ancient but its windows, no reason to think it can do that by it self(think that is).

The prime issue for this procedure is the AGC.dll component, it don't like to be overwritten/replaced while its "active".

64bit OS vs 32bit OS, it is known that the services will run/install as a 32bit application/services on native 64bit OS systems.

  • MS Allegiance Game Server is also known as allsrv.
  • cd is prompt command Change Directory.
  • cmd is the command which start the command prompt in the Run option under the start menu, it is also short for command prompt!.


  1. Install R3 server as a service
  2. Create a TAG folder in the server folder
  3. Unzip the TAG zip and move the content to the TAG folder
  4. Start a command prompt
  5. Run in the cmd prompt: cd to the folder with the tag.exe
  6. Run in the cmd prompt: tag -service
  7. In Services stop the MS Allegiance Game Server service
  8. In Services set the MS Allegiance Game Server service to manual
  9. In Services stop the TAG service
  10. In Services set the TAG service to Manual
  11. Run in the cmd prompt: regsvr32 /u agc.dll
  12. Restart the system
  13. Unzip the R4 server zip and copy the content to the main server folder
  14. Start a command prompt
  15. Run in the cmd prompt: cd to the alleg server folder with the agc.dll
  16. Run in the cmd prompt: regsvr32 agc.dll
  17. In Services set the MS Allegiance Game Server service to AUTO
  18. In Services set the TAG service to AUTO
  19. Pre-restart checklist
    1. Check that there is a allegiance.cfg file in the main server folder. If its not present make one. allegiance.cfg
    2. Check that there is a rank.txt file in the artwork subfolder. If its not present, make one.ranks.txt
    3. Check that there is a core.txt file in the artwork subfolder. If its not present, make one.core.txt
    4. Check that there is a maps.txt file in the artwork subfolder. Its not needed, unless one wish to host maps other then the default.maps.txt
  20. Alter the required server registry.
    1. Configure the Cfgfile setting to handle the allegiance.cfg.
    2. Configure the ASGS setting set the Value for both keys to 1(its a HEX value!)
    3. Configure the LocalAddress setting set the value according to the description!
    4. Configure the Location setting set the value according to the description!
    5. Configure the MaxGames setting set the value according to the description!
  21. Restart the system

TAG

This section is a Stub. You can help by improving it!

TAG.exe.config

This file can be altered to give HQ message option to the server admin.
Example:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<configSections>
		<section name="TagConfig" type="FreeAllegiance.Tag.TagConfigSectionHandler, Common" />
	</configSections>
	<TagConfig>
		<TAG UpdateTime="5:00" PostTimeout="200000" />
		<ReconnectTimer Interval="60" />
		<Log>
			<XmlFile Path="SavedGames" />
		</Log>
		<Trace Level="Verbose" Path="trace.txt" ArchiveDir="TraceFiles" Console="true" />
		<ServerAdmins>
			<ServerAdmin>ServerAdminGameNick</ServerAdmin>
		</ServerAdmins>
	</TagConfig>
</configuration>

Description of the TAG config file, this file is also located in the TAG installation folder

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<!-- This section is required in order for the TAG config file to work properly -->
	<configSections>
		<section name="TagConfig" type="FreeAllegiance.Tag.TagConfigSectionHandler, Common" />
	</configSections>
	<TagConfig>
	<!-- TAG: Required. Defines TAG's settings
			UpdateTime: Required. The time (on the 24-hour clock) TAG should check for updates each day
			ASGSURL: Optional. Overrides the default ASGS services URL with the one specified
			POSTTIMEOUT: Optional. Overrides the default ASGS posting timeout of 100000ms with the one specified -->
		<TAG UpdateTime="5:00" ASGSUrl="http://asgs.alleg.net/asgs/services.asmx" />
	<!-- ReconnectTimer: Required. Specifies how often TAG will attempt to reconnect to Allsrv after
						 losing the connection.
			Interval: Required. The number of seconds between reconnect attempts
			MaxRetries: Optional. Instructs TAG to stop attempting to reconnect to Allsrv after the specified amount of attempts.
						TAG will shutdown after this many attempts have failed.-->
		<ReconnectTimer Interval="60" MaxRetries="60" />
	<!-- Log: Required. Specifies how TAG should log games as they finish. -->
		<Log>
		<!-- XmlFile: Optional. Specifies whether or not TAG should log games to XML files
				Path: Required. The path of the folder where TAG should save games -->
			<XmlFile Path="SavedGames" />
		</Log>
	<!-- Trace: Optional. Specifies whether or not any tracing should occur.
			Level: Required. Specifies the level of trace output that should be shown [Off, Error, Warning, Info, Verbose]
			Path: Optional. Specifies a relative path where the trace output should be written
			ArchiveDir: Optional; Requires "Path". Specifies a relative path to a folder where trace files should be archived
			Console: Optional. Specifies that trace output should be shown onscreen. Incompatible with Service mode.-->
		<Trace Level="Verbose" Path="trace.txt" ArchiveDir="TraceFiles" Console="false" />
	<!-- ServerAdmins: Optional. Specifies a list of callsigns who will be treated as an administrator regardless of administrative token or tag. -->
		<ServerAdmins>
		<!-- ServerAdmin: Required (at least one). Specifies the callsign of the player who will be treated as an administrator. -->
			<ServerAdmin>Tigereye</ServerAdmin>
		</ServerAdmins>
	</TagConfig>
</configuration>

Default registry settings

The settings listed are values which can be modified by the admin and are either mandatory or optional.

Altering registry setting can be done at all time, but in order for the setting to be loaded the MS Allegiance Game Server service must be restarted.

The registry path
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Games\Allegiance\1.0\Server]

Registry description

Server setup settings

ArtPath

Required: Mandatory
This setting set the location of the alleg artwork folder.

"ArtPath"="C:\\Allegiance\\Server\\artwork"
EXE Path

Required: Mandatory
This setting set the loacation of the alleg server folder.

"EXE Path"="C:\\Allegiance\\Server"
LocalAddress

This setting set the name displayed in the server lobby and in the create game screen.

"LocalAddress"="SERVERNAME"
Location

Required: Mandatory
This setting set the geographic location of the server.

"Location"="GEOGRAFICLOCATION"
MaxGames

Required: Mandatory
This setting set the maximum amount of servers available for creation in the create game screen in the main lobby.
The value is a HEX decimal.
All permanent games set in the registry count towards this maximum number.

"MaxGames"=dword:00000010
CfgFile

Required: Mandatory
This setting set the PATH to the allegianceserver.cfg, which contain the URL for the lobby.

"CfgFile"="C:\\Allegiance\\Server\\allegianceserver.cfg"
ASGS

Required: Mandatory
These settings are related to the ASGS system, by default they are set to 0, they shale be set to 1 on a service installation.

The Value is a HEX

"ASGS_ON"=dword:00000001
"ASGS_RANKS_ON"=dword:00000001
R3 installation registry

These are formal Registry settings and shale not be altered!!

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

Permanent game related registry settings

Registry setting syntax for permanent game
Each permanent game setting is ending with a integer e.g. "Game1"
So the trailing decimal are corresponding to the same game setup!
The name is trailed with a integer ('Game1','Core1','LockGameOpen1'....)
The sequence of numbers can not skip a number, they must be set in sequence!! 'Game1','Game2','..'
These setting are optional.
These setting are dependent to each other, so if one of the following setting are set in the registry all the following permanent game setting are mandatory!!

Game[gamenumberinteger]

This setting set the game name

"Game1"="SERVERNAME"
Core[gamenumberinteger]

This setting set the core used for the game.

The corename must be without the .igc extension, if the .igc extension is there the server application will crash!!

"Core1"="CORENAME"
LockGameOpen[gamenumberinteger]

This setting set the Lock game option, It shale be set to 1 "ON". The value is a HEX.

"LockGameOpen1"=dword:00000001
MaxRank[gamenumberinteger]

This setting set the Max level/rank for players to gain access to the game!

"MaxRank1"="4"
MinRank[gamenumberinteger]

This setting set the Minimum level/rank for a player to gain access to the game, "-1" is all level/rank below the Max level/rank set for the game.
The value must not be higher then the max value, other wise the server application will crash.

"MinRank1"="-1"

Server configuration files

These files are not included in the current installation package.
The list contain files that are to be made after or prior the installation, they contain values which is loaded by the server app.
Files located in the main server folder

  • allegianceserver.cfg

Files located in the artwork folder

  • ranks.txt
  • cores.txt
  • maps.txt

Autonomy and syntax of the server configuration files

Basic Syntax of the configuration files

Warn.png
Warning! The example are not a valid config file, it contain comments that will cause a crash in the alleg server application!!

ranks.txt

31  <--- this number represent the total number of level/ranks in the file
0,Newbie <--- the FIRST level/rank. The number 0 is the level, the Newbie is the name of the level
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

cores.txt

7 <--- this number represent the total number of cores in the file. If the number dont 
       add up with the number of cores in the file it will cause a server crash!!
cc_03 <--- this is name of the core WITHOUT the .igc extension, the name is case sensitive!!
GoDII_05
plus15b7
RTc006a
rps55
PC2_019
sw_a102

maps.txt

1  <--- the number represent the number or maps in the file, if the number dont 
        add up with number of maps in the file it will cause a server crash.
2,Limited,m2xiblimited  <--- Number of teams,Display name,Mapfile name.

Maplist explained:

The map list line MAX. Number of teams Map Displayname
MAX 25 chars
The mapfile name without the .igc extension
MAX 13 chars
2,Polished,m2xibpolishe 2 Polished m2xibpolishe

Autonomy of the server configuration files

allegianceserver.cfg

Filename: allegianceserver.cfg
Location: Server folder
Description: The file contain the URL to the lobby server.
This file is dependent to the server registry setting CfgFile
The file is Mandatory.

[Allegiance]
PublicLobby=204.16.202.184

; THIS IS A VALID CONFIG FILE

ranks.txt

Filename: ranks.txt
Location: artwork folder
Description: The file contain the ranks displayed in the lobby of a running game.
The file is Mandatory.

Warn.png
Warning! THE CONTENT IS A VALID FILE AND MUST NOT BE ALTERED.

THE LEVEL AND NAME IS GENERIC IN ALLEG, IF IT'S ALTERED THE SERVER IS REMOVED FROM THE LOBBY!!.

Content:

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

cores.txt

Filename: cores.txt
Location: artwork folder
Description: The file contain the cores available the cores are displayed when a user creates a game in the main server lobby.
The file is Mandatory.

Warn.png
Warning! THE CONTENT OF THIS FILES MUST DISPLAY THE CORES WHICH IS AVAILABLE IN THE ARTWORK FOLDER, IF THE FILE CONTAIN CORES NOT AVAILABLE IN THE ARTWORK FOLDER IT WILL CAUSE A CRASH IN THE ALLEG SERVER APPLICATION.

THE CONTENT MUST REFLECT THE CORE FILES LOCATED IN THE ARTWORK FOLDER!!

7
cc_03
GoDII_05
plus15b7
RTc006a
rps55
PC2_019
sw_a102

maps.txt

Filename: maps.txt
Location: artwork folder Description: The file contain a list of maps available when a user have created a game, and are altering the game setting for this particular game.
The list of maps are only visible to a commander with game control.
The file is Optional. If this file is not present in the artwork folder, the default map list is available.

Warn.png
Warning! THE CONTENT OF THIS FILE MUST DISPLAY THE MAPS WHICH IS AVAILABLE IN THE ARTWORK FOLDER, IF THE FILE CONTAIN MAPS NOT AVAILABLE IN THE ARTWORK FOLDER IT WILL CAUSE A CRASH IN THE ALLEG SERVER APPLICATION.

THE CONTENT MUST REFLECT THE MAPS AVAILABLE IN THE ARTWORK FOLDER!!!.

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 Server and You

Alleg server First aid

First start trouble shoot!

Can you ping the lobby server from the server!


Help others Help your self checklist:

  • Read and save the event viewer?
  • Which service crashed?
  • Last serverlog date versus last eventlog entry?
  • Did the server restart but did not connect to lobby?
  • The lobby dropped the server and players are still playing!

Q&A

Q I Added a new core to the list and the server crash

Q I Added a new map to the list and the server crash.

Q The new game i added in the registry is missing..

Event triggers

This section is a Stub. You can help by improving it!

Event viewer

This section is a Stub. You can help by improving it!

Further reading