This tutorial will try to describe in short how to install Alien Swarm on Windows. It will also give information on how to run a dedicated server, make the server run as a service and which ports you need to open on your firewall to make it run properly.
Installing Alien Swarm
Make sure you have Unreal Tournament 2004 installed and that you patched ut2004 to version 3204.
If you downloaded the umod version of the Alien Swarm. You unzip the zip file and simply double click on the .ut4mod file. You might run into some problems with file associations not working correctly. If you have that problem, please check this thread on our forums.
If you downloaded the non-umod version, unzip the contents of the rar file to \ut2004\ so it will reside in it's own directory namely, \ut2004\AlienSwarm\
The difference between the umod version and the non-umod version is that the umod file is an installer on it's own whereas the non-umod version just unzips the directories without actually installing itself in the community menu inside of ut2004. An advantage of the non-umod file is that it can be compressed much better.
To run Alien Swarm, double click on AlienSwarm.exe which is located in the \ut2004\AlienSwarm directory. It might be a good idea to make a shortcut to this file on the desktop.
Opening server ports
The default ports are:
Port | Description |
---|---|
7777 UDP/IP | Game Port |
7778 UDP/IP | Query Port |
7787 UDP/IP | GameSpy uplink |
28902 TCP/IP | Master Server uplink |
If you do not know how to open ports on your computer/server, please resort to your firewall or router manual to learn how to open them.
Note: You don't need to open 28902 and 7787 if you don't intend to run an advertised server. If you want to run the webadmin client, you should open another port for this, for example, tcp port 8888. Don't forget to add this port number to your AlienSwarm.ini file.
Starting an Alien Swarm dedicated server
You can start a dedicated server by using the menus in Swarm. Edit the server options then choose whether you want to run a single map server or a campaign server and click on "Launch dedicated".
If you want to run a dedicated server without having to use the Graphical menus, you can use the following commands in a command prompt.
To start a new campaign server use:
ucc.exe server AOL-CampaignLobby.ut2?CampaignSlot=#?NewGame=Yes?SlotName=$ -mod=AlienSwarm
The hash (#) in the above command is a number between 0 and 11 and the dollar sign is the name for your save slot.
To resume the previously played campaign game. Where hash (#) is the slotnumber of the game you want to restore:
ucc.exe server AOL-CampaignLobby.ut2?CampaignSlot=#?NewGame=No -mod=AlienSwarm
If you just want to make the server play a single map, you can use:
ucc.exe server mapname -mod=AlienSwarm
If you want to use custom ini files, for use with two or more servers on one machine, you can use the following command to point to these ini files.
You might wonder what these slots are for. Slots are there to be able to save your game. For example, if you play with a couple of friends and you want to continue the campaign later, you can restart that save slot so you don't have to start all over.
Using custom ini files
ucc.exe server map-name -ini=..\AlienSwarm\System\AlienSwarm.ini -userini=..\AlienSwarm\System\AlienSwarmUser.ini
Make sure you run these commands from the \ut2004\System directory.
Restart on crash
Should your server crash, you could make it restart if you run your server as a service. There is an excellent tutorial about this on unrealadmin.org which describes the use of Firedaemon.
Changing server settings
There are two ways to change settings for your server:
- You use the menu that you can access in-game. Best use this for setting up a server quickly.
- You can edit ini files for more control.
First I'll explain about the server settings menu you can find in-game.
Enlarged version of this screenshot.
When you access this menu (Host Multiplayer → Server settings) you get shown a few options. What you need to fill in here should also be pretty obvious (hopefully!) but I'll go through it anyway.
- Server name
- The name that will show up in the server browser
- Admin name
- Your name or nickname.
- Admin password
- The password that you enter to become administrator.
- Admin email
- The email adress you want to give out to people so they can send you emails about possible problems they may have with your server.
- Game password
- If you put a password in this field, people need to enter a password if they want to access your server. Leave blank, if you want to allow anyone to come in your server.
- Advertise server
- What this option does is basically make your server show up in the server browser.
- Allow midgame Joins
- Switch this on if you want people to be able to enter midgame. They cannot select a marine yet and have to spectate for as long as the round lasts.
- Max players
- The game defaults to 6 players max, though this can be increased to 8 if you have the bandwidth. We recommend games of 4–6 players for gameplay purposes, any more than that and it tends to get very crowded with a loss of teamwork.
AlienSwarm.ini
Now for the more advanced stuff. Tweaking your AlienSwarm.ini file. This file resides in your \ut2004\System directory.
I will provide samples sections from AlienSwarm.ini here and describe what the settings do in each section.
[IpDrv.MasterServerUplink]
[IpDrv.MasterServerUplink]
DoUplink=True
UplinkToGamespy=True
SendStats=True
ServerBehindNAT=False
DoLANBroadcast=True
- DoUplink
- When this is set to true, your server will show up in the server browser.
- UplinkToGameSpy
- If you want your server to show on the gamespy server browsers, set this to true.
- SendStats
- This will send stats to a stats server, but Alien Swarm does not support this so it's currently useless.
- ServerBehindNAT
- Try setting this to true if your server is behind a NAT/MASQ router and people are having problems connecting to your server.
- DoLANBroadcast
- This makes the server show up under the LAN tab for other pc's on your lan if true.
[Engine.GameReplicationInfo]
[Engine.GameReplicationInfo]
ServerName=Alien Swarm Server
ShortName=AS Server
ServerRegion=0
AdminName=
AdminEmail=
MessageOfTheDay=
- ServerName
- Obviously, the name of the server as you want it to appear on the server browser.
- ShortName
- Still need to fill in.
- ServerRegion
- This is used by Gamespy servers to group servers according to the region servers are in.
- AdminName
- Your name that shows up in the server info window.
- AdminEmail
- Your email adress that people can use to send you emails about the possible problems they experience with your server.
- MessageOfTheDay
- You can put a short message here that shows when the game starts.
[UWeb.WebServer]
[UWeb.WebServer]
Applications[0]=xWebAdmin.UTServerAdmin
ApplicationPaths[0]=/ServerAdmin
Applications[1]=xWebAdmin.UTImageServer
ApplicationPaths[1]=/images
bEnabled=False
ListenPort=80
The only lines of interest underneath [UWeb.WebServer]
are:
- bEnabled
- Setting it to true enabled the web admin server.
- ListenPort
- Set this to the port you opened earlier for the web admin to run on.
[AoPrototype.AoServerSettings]
[AoPrototype.AoServerSettings]
Difficulty=5
bAllowMidgameJoins=True
bWoundedMarinesSitOut=False
bRestartDedicatedIfAllPlayersLeave=True
bFairMarineRules=True
bHackNotify=True
VoteTimeout=120
VotePercentage=0.650000
bCameraPrediction=True
The part below it changes each time people in your server get different guns from the loadout screen. Changing stuff here is pretty pointless, since any change you make is undone as soon as someone puts something in one of their three slots.
- Difficulty
- This sets the difficulty of the current game. You can set a difficulty of 1 up to 10. More difficulty affects alien health and melee damage. The leader can change the difficulty and if marines have to wait one round after getting wounded in game.
- bAllowMidgameJoins
- If you set this to True (default) people can join your games when they are already in progress. They cannot join when it's set to false.
- bWoundedMarinesSitOut
- If this is set to true, marines have to wait one round to heal after getting wounded in the previous game.
- bRestartDedicatedIfAllPlayersLeave
- Setting this to true restarts the server after everyone leaves.
- bFairMarineRules
- Only allowed 1 marine each if there are 4 or more players.
- bHackNotify
- Setting this to true will notify players when a tech marine starts hacking, when the hack is at 50% and when the hack is complete.
- VoteTimeout
- This sets the amount of time in seconds that it takes for a vote to time out.
- VotePercentage
- This controls the amount of influence a vote has.
- bCameraPrediction
- This makes the server anticipate the camera panning of players, setting it to false will save bandwidth but will result in 'pop up' for the players in certain spots.
Additional notes
- The webadmin can be used, but it's not customized for Alien Swarm. You can still use it to say stuff to players in game, kick & ban players, restart the server,etc.
- If you get an error saying something like:
Failed to enter AlienSwarmStartup.ut2: Can't find file 'AlienSwarmStartup.ut2'
then you didn't patch ut2004 to version 3204. Version 3204 alters the way the ini files handles paths and Alien Swarm uses the new path handling. If you get this error, you need to delete AlienSwarm.ini, then patch and restart the mod. Then it should work as normal.
History:
Exiting due to error
- If you have a server that can use multiple IPs you can use the -multihome= switch in the ucc.exe command line to tell ucc which IP to use for this server. If you are looking for more information about how to run multiple servers on one machine, there is a detailed guide on unrealadmin.org
- In Alien Swarm v1, some additional ini files were used (AoServer.ini, AoCampaignGame.ini, AoBestScores.ini), however in 1.1 and above, all these settings were moved into the AlienSwarm.ini to support multiple servers on one machine.