13
Mar
2015

Setting up an Insurgency FastDL server using Ubuntu Server

Insurgency is a fast-paced FPS shooter that can be played online or offline with friends. In either case, you need an Insurgency Dedicated server to act as a host for the clients (that runs all the graphics etc). I have written a guide on how to do this with Ubuntu Server here.

Insurgency is great with the maps it comes with – they are challenging and very pretty, but the list isn’t particularly long and you may want to play more maps that people have created. To do this, the server and the clients must have identical map files to function coherently. Fortunately, it is easy to set the server up to upload custom maps to the clients using a FastDL server – that is what I will be writing about today.

What you will need:

  • A web server (can be the same server that runs the game server or any other hosted web service)
  • High upload bandwidth (8Mb and above recommended – look into online hosting if you have a slow upload)
  • A gaming client to test out the FastDL functionality and also to test out the actual maps
  • Actual custom maps – Insmaps is a good site for this

The first thing you need to do is download the maps from the site above. Verify they have downloaded by inspecting the zip file:

Screenshot - 130315 - 06:24:10

You should see at least a bsp and a txt file, and most of the time also a nav file, but the nav file might be taken care of inside the bsp file – check the information page on the site you downloaded the map from.

The next thing you need to do is extract these files and upload them into the game server’s maps directory. This can be found in the insurgency/maps/ folder inside the installation directory of the server. This will allow the server to load the maps and run the game with the custom maps.

Now, we need to set up a FastDL server. I am using Ubuntu Server with Apache as my web server, and I use Webmin to allow me to configure Apache (I have a YouTube video describing how to set up Webmin). To get started, create a new directory inside your web server’s file location (the default is /var/www) with permissions so your web server can read the directory (/var/www/fastdl). Create a folder inside this one called insurgency and create more directories with the following structure:

Screenshot - 130315 - 06:39:33

You can see where all the custom files need to go in the FastDL server – but don’t upload anything to it yet! Just create the folders as shown and set the permissions so Apache can read the folders properly.

Next, we need to configure a new subdomain that can handle requests made to the FastDL server. I have a page with detailed instructions here on how to do this. You should set the Document Root to your FastDL folder (eg /var/www/fastdl). The Server Name should be the name of the subdomain you have chosen (eg fastdl.myserver.com). Once it is all configured properly, you should be able to go to fastdl.myserver.com and see the insurgency folder as shown below:

Screenshot - 130315 - 06:42:24

If you go in this folder, you should see the custom, maps and scripts folders you made earlier. If you can’t see anything (you get some kind of error page), make sure you have forwarded the IP address properly to the subdomain, check Apache can read the folder’s in question (it does need to be in a folder where Apache has access to all the parent folders above it), and also check that your Apache directives have the following information:

<Directory /var/www/fastdl>
allow from all
Options Indexes FollowSymLinks
IndexOptions FancyIndexing HTMLTable
</Directory>

This will allow you to see the files directly (disable indexing when finished if you want a bit more security).

Right, now it is time to upload map files to the FastDL server in /var/www/fastdl/insurgency/maps, but first they need to be compressed to save upload bandwidth. In Windows, use 7-zip to create .bz2 files of the bsp, nav, and txt files, as shown below:

Windows 8

Using Ubuntu, use the archive manager of your choice, but I just right click and select Create Archive and choose .bz2 from the drop down box:

Screenshot - 130315 - 07:01:43

I have created .bz2 “duplicates” of each file – it’s these .bz2 files you want to upload into the /var/www/fastdl/insurgency/maps folder inside your FastDL server! These will be uploaded to the clients, which will uncompress the files and then the game will run with those maps! If the maps you downloaded don’t have .nav files, don’t worry, just do it with all the other files. Your servers FastDL directory should now look like this:

Screenshot - 130315 - 07:18:10

The final step is to configure your Insurgency server to take advantage of these maps and the FastDL server. You need to edit the server.cfg file in ./insurgency/insurgency/cfg and add the following lines to the bottom:

net_maxfilesize 256
sv_allowupload 1
sv_allowdownload 1
sv_downloadurl "http://fastdl.myserver.com/insurgency"

The net_maxfilesize line specifies the maximum file size that will be uploaded by the server – 256MB should be plenty unless you have a *huge* map to host. The next two lines enable map uploading and downloading by the server, and the last line specifies the URL of the site where clients download the custom maps from. Save the file and close it.

The final file you need to edit is the mapcycle_<gamemode>.txt file, where gamemode is the game mode you’re playing (eg checkpoint, cooperative). If you are playing against bots in the checkpoint mode, then the file you need to edit is mapcycle_checkpoint.txt. Add the names of the custom maps you have added to the bottom of the file (they will be randomly selected by the server), followed by the game mode:

Screenshot - 130315 - 07:11:19

Once all your custom maps have been added, save and close the file. Now all you need to do is fire up the server (into a stock map such as revolt at first so you can load in quickly) and use rcon to change the map to a custom map:

  • Open the console using the ` key (left of the number 1 on a standard keyboard)
  • Login to rcon using rcon_password <your rcon password>
  • Load up the maplist using rcon maps *
  • Load a custom map with rcon map ins_prison_v1 (or another custom map)

This will force the server to load up the specified map and you should start downloading .bsp.bz2 files and .bsp.nav files. If the server or you crash, then that map you downloaded is broken and should be removed from the mapcycle file to stop it being loaded again.

I hope this is a useful guide, let me know if I missed anything!

Google Nexus 7 2013 Bluetooth problems
Running a system with no swap space - ZRam!

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.