Dedicated server setup

-multihome=IP_ADDRESS -- Allows you to bind to a different IP address. (DO NOT USE unless you actually need it!)



-Port=#### -- Changes the port the server uses



-log=DIR_NAME\LOG_NAME.log -- Save log files into subdirectory DIR_NAME within the log directory



-configsubdir=DIR_NAME – Load config files from subdirectory DIR_NAME within the config directory

NumPlay=<0-64> -- sets the minimum number of bodies that the game will be filled with. Basically if you set that to 16, the game will make sure there are always at least 8 people on each team. If there's not enough players to meet that requirement, bots will join the team



MaxPlayers=<2-64> -- sets how many players at most can join the game



BalanceBots=<true, false> -- adds bots to make the teams equal in size. Adds bots even above the NumPlay number if there are more players on the opposing team.



AILevel=<1-5> -- difficulty level of bots



BriefingTime=<0-99999...> -- sets the duration of the briefing phase (in seconds). 0 will skip the briefing phase entirely.



RandomCommander=<true, false> -- if set to true, skips the commander selection at the start of the match and automatically assigns command to milnet AI



RedStartingTickets=<10-99999...> -- tickets for the ULA team



BlueStartingTickets=<10-99999...> -- tickets for the AIA team



FriendlyFire<0-100> -- will enable a percentage of friendly fire. Warning, not tested much!

To download the dedicated server files from the Steam desktop client, simply go into the Library, switch from "ALL GAMES" to "TOOLS", and find "Angels Fall First Dedicated Server"SteamCMD is the light-weight steam client, meant for dedicated servers, automation, and other situations where the desktop client is inappropriate. There's a lot more documentation on SteamCMD right here, on the Valve Developer Community wiki ( https://developer.valvesoftware.com/wiki/SteamCMD ). Please read those instructions. When you get to the command to download/update the game, use this command to download the dedicated server files (validate is an optional keyword that also validates the server files to ensure integrity)The dedicated server appid isso you would dofrom within steamcmd.The configuration files are found insideIf you want to host multiple servers from the same dedicate server installation, you can do as follows:Run the dedicated server once, then shut it down. Commandline or anything like that doesn't matter, just run the .exe and shut it down. On that first run it'll create some PCServer-AFFgame.ini etc files (about 4 of them). Copynew .ini files into a subdirectory in yourdirectory (e.g. copy those .ini files into). To make the server instance use the config subdirectory you have to run it within the commandline.In here you will find the section [AFFGame.AFFGameReplicationInfo]here you can set things like server name and server description:[AFFGame.AFFGameReplicationInfo]MessageOfTheDay=Welcome to an AFF Server!ServerName=AFF ServerServerDescription=this is a descriptionIn the section [UTGame.UTGame] you can set up the server mapcycle by adding the line:GameSpecificMapCycles=(GameClassName="AFFGameInfo",Maps=("AFF-Ixion","AFF-Irega"))You can find the map file names simply by looking in thedirectory, here are some examples:---Ground maps ---AFF-ErrahAFF-Errah-TerritoriesAFF-FortressAFF-PlainsAFF-IregaAFF-Irega-Territories---Space maps ---AFF-MeudeverreAFF-Meudeverre-TerritoriesAFF-IxionAFF-Ixion-TerritoriesIf you wish to alter the ports that the game listens on you need to edit these filesIn the [[URL]] section you set the main port people will connect on:Port=7777To adjust the steam query port, search for the section:[OnlineSubsystemSteamworks.OnlineSubsystemSteamworks]and update QueryPort=27015 as neededThe executable is found at Binaries\Win64\AFFGameServer.exe. To run it, create a shortcut, batch file, or whatever other link to the executable and make it look like:You can add a number of additional commands, however only -seekfreeloadingserver is mandatory.These are standard commandline arguments. However you can also use a variety of game options - those are appended to the initial map name and separated with ?So for instance, your target may look like:Obviously the ports specified in the Port and QueryPort properties have to be forwarded to the hosting machine on the router if the server is behind one. AFF has some degree of UPNP functionality built in so it may be able to forward the ports by itself - but UPNP isn't the most universal solution, it won't work on every router. So you may have to forward the ports manually in your router's control panel.