In the 1.6 update for Insurgency: Sandstorm, the game developers introduced the ability to download mods. Mods for Insurgency: Sandstorm are hosted on the site Mod.io, which is a cross platform multi-game site for downloading and managing mod content.
Log into the Mod.io Site
You will need to log into Mod.io to enable mod downloads on your Insurgency: Sandstorm server.
If you have already have accounts on any of the following services, you can use your login information from these services to log into Mod.io (instead of making a new account):
If you don't already use one of these services, simply create a new account on Mod.io directly. The account can be made for free!
Generate Token on Mod.io Site
Once you're into your Mod.io account, click on your username in the upper right corner of the screen, and it will switch to your profile page on Mod.io. Click on "API Access" on the left side menu.
You should see something similar to the screenshot below:
The API Access page has two major sections, the "API Key Management" at the top, and the "OAuth 2 Management" on the bottom of the page. The API key is used by game developers and mod developers, so you can skip that section.
The OAuth 2 Management section is where you make access tokens for your own servers.
In the box labelled "Generate Access Token", enter a name for the token.
Mod.io is a cross-platform multi-game site offering mods for many games, so you might want to include the name of the game (Insurgency) just to remind you which game server the token will be used on. If you have more then one server, you could also be more specific, like "Insurgency training server" or "Insurgency night missions server". Each separate server should have it's own token.
Click on the blue "Create Token" button to create the token.
Once that's done, click on its name in the "OAuth 2 Management" section, and it will show the token for the server. These tokens should be treated like passwords, and kept secret!
Setting "Startup Arguments" on a Nodecraft Insurgency: Sandstorm Server
Many of the following steps require that different "Startup Arguments" be set on the server. Startup Arguments give instructions to the game, telling it to turn on certain settings, activate game modes, read certain files, and many other things.
The following instructions apply to any of the Startup Arguments the following sections of the guide will ask you to add to the server.
Where to add Startup Arguments
On the Nodecraft control panel, we have included a simple way to add these Startup Arguments to your server. You can do this on the "Game Settings" section of the Nodecraft control panel, on the "Advanced Settings" tab.
Scroll down the "Advanced Settings" page until you see the section labelled "Custom Server Arguments", as shown in the screenshot below.
Add required startup arguments to the "Startup Arguments" box on the right side, and click on the blue "Save" button below when you're finished. Many settings are case sensitive! Please make sure you are entering the correct syntax for the names for the settings. All of those upper case letters matter!
Separate each startup argument
Each different and separate startup argument should be in its own box, in order for the Nodecraft control panel to be able to use them correctly.
Additional boxes can be created by clicking on the button shaped like a small plus sign at the right end of the topmost box. An extra box will be created below it. You can click on the "X" button at the right end of additional boxes to remove them.
GameUserSettings.ini Config File
Once you have your access token generated, you will need to add some settings to the
GameUserSettings.ini config file on your server. These settings will allow your server to make an automatic connection directly to the Mod.io site, and download mods automatically. The token is basically an automatic login/password for your server to access Mod.io.
GameUserSettings.ini config file is located in
You can edit the file directly on the Nodecraft control panel, by clicking on the box to the left of it's file name, and then clicking on the "Edit" button that will appear at the top of the file manager window. This will open a text editor directly in the file manager window.
Add the following:
[/Script/ModKit.ModIOClient] bHasUserAcceptedTerms=True AccessToken=TOKEN HERE
TOKEN HERE with the actual token that was made on the Mod.io site. The access token is HUGE by the way, and fills ~17 lines when pasted into the
GameUserSettings.ini config file in the text editor window.
Please make sure to save your changes to the
GameUserSettings.ini file when you're finished editing it.
-mods Startup Argument to Server Settings
The last step for enabling mods on your Insurgency: Sandstorm server is to add a special Startup Argument to the server, telling the server to look for and load mods. Without this Startup Argument, it won't download anything, and will completely ignore all the other mod related settings.
The Startup Argument is:
Now the server is ready for mods, you simply need to tell it which mods to download!
Browse for Mods on Mod.io
On the Mod.io site, click on "Games" on the far left side, to see a full list of supported games. Click on "Insurgency: Sandstorm" in the listings, and you can browse all available mods for the game.
When you click on an individual mod, you will see a page describing it's details. The mod ID will usually be part of the description under the main title at the top of the page. Once you find mods you want to use, copy and paste their mod ID numbers, and save them for the following steps.
A note on "Mutators"
Some mods require that special "Mutators" be set on the server. Mutators are special game rules that can be enabled to limit or add weapons (like "pistol only"), increase or decrease starting supply points, or add special effects, like "Vampirism" where the damage you do with weapons also heals you. There is an entire list of stock Mutators that come with the game, but some mods add their own new ones. The custom Mutator from the mod is how the author enables and controls the special things added by their mod.
If a mod requires Mutators, it should state which ones need to be turned on in the description page for the mod on the Mod.io site. Please make a note of the exact name of the Mutator. In the screenshot below, for this mod, the Mutator is "TacticalArmory". Exact spelling and case (upper and lower case characters) are important on these.
A note on mods that require server config changes
Some mods will require config settings for storing information, or controlling specific functions of the mod. The mod author should state what needs to be added, and provide an example that can be copied and pasted. As long as you're browsing for mods, you can copy this information down for later user.
For example, one mod adds a "Welcome Message" to your Insurgency: Sandstorm server. The config file is where you store the text of the message, and the formatting. The author of this mod includes instructions and examples of the config settings directly on the mod page. They are outlined in a red box in the lower left corner of the screenshot below.
Create Folders for the Mod Config Files
The config files used to control which mods are downloaded need to be added to the folder
The last two folders won't normally exist, unless you've already created these folders for other config files (such as adding admins or creating mapcycles, these files all go in the same location). So if you haven't had a reason to make these two folders yet ("Config" and "Server"), please stop and do this now.
On the Nodecraft control panel, we have added a way to manually create folders. Just click on the file manager section, and there will be a "Create Folder" button above the file manager window. Navigate to the
Insurgency folder, and use the "create folder" button to make a "Config" folder. Inside of that folder, create another folder called "Server".
Mods are downloaded by adding the mod ID numbers to a file called
Mods.txt. The server will use the list of ID numbers to control what is downloaded.
This file does not normally exist, and will have to be manually created on the server. As Mentioned above, you need to add this file to the folder "Server" at
You can create the
Mods.txtfile directly in the "Server" folder, by clicking on the "Create File" button in the file manager section of the Nodecraft control panel. Or you can create the
Mods.txtfile on your own computer, and then upload it to the server.
Mods.txt file, simply add the mod ID numbers of each mod you want to download. Each ID number should be on it's own line, like the example screenshot below:
Alternate Method: Command Line Arguments
It's also possible to set a list of mods to load on the Startup Arguments as well, by using the following setting:
Replace "mod1", "mod2", "mod3", etc with the actual ID numbers of mods.
The one major disadvantage of this method, is that if you have a long list of mods, you will probably not be able to easily see all the ID numbers when it's entered in the Startup Arguments box on the Nodecraft control panel (it may stretch "offscreen").
Add "Mutators" in Startup Arguments (If required)
If a mod states that it needs a specific "Mutator" turned on, you can do that by setting a special Startup Argument on the server. The parenthesis shown below are not part of the syntax for this setting.
You can list multiple custom mod mutators in the same Startup Argument by separating them with commas, such as:
You can also mix stock mutators, and custom mutators added by a mod on the same Startup Argument line, such as:
Add Config Settings for Mods to
Game.ini (If Required)
If any of the mods being installed require any config lines be added to
Game.ini, you can do that at this time.
This config file is located in
You can click on the box to the left of
Game.iniin the Nodecraft file manager window, and then click on the "Edit" button that appears above the window. This will open a handy text editor directly in the file manager window.
When you're finished adding the config file lines, and possibly customizing them, please make sure you click the blue "Save" button.
Some Mods Require a "changelevel" to go into Effect
Some mods apparently will require a "changelevel" command be used (causing the game to load a new map), after the server has started and loaded the mods. If a mod requires this, it's usually stated in the description of the mod on Mod.io.
You can do this manually, by entering a travel URL or by using the Admin menu. You can also "automate" this process by adding the following setting to your server:
This will cause the server to automatically load a new map after downloading mods, making sure they are fully in effect.
Mods.txt is the default name for the config file that controls downloading mods, but you can actually have more then one file which lists mods to load. By simply changing which file is loaded, you can actually switch between entire sets of mods on your server. You could have files called "NightmissionMods", "TrainingMods", "CoopMods", etc.
This is done by setting different file names in a special Startup Argument on the server. The Startup Argument is:
Using this Startup Argument is only required if you want to load a modlist file named something different then the default
The filename can be set to anything you want to use, as long as it's a valid file name (no spaces, forbidden characters, etc). When setting the file name, you don't need to use the
.txt extender. So the modlist file
MyOtherModslist.txt would be set by entering
-ModList=MyOtherModslist in the parameters box.