Installing Mods for FS2 Open
When installing/playing a mod, it is recommended to create a new pilot for every campaign that you play. That is, one pilot for the main campaign, one for FSPort, etc. This will in most cases avoid the dreaded pilot file corruption problems that crop up sometimes.
EDIT -- this is not needed any more since FSO version 3.7.0 (see here.
Improvements upon Retail
While installing mods for FreeSpace has never been hugely difficult, FS2_Open has made considerable improvements to the way that they are handled. Under retail, installing more than one mod involved either installing several copies of FS2 or tiresome dragging and renaming of folders and files. Under FS2_Open, less than a minute's work when installing a mod can mean that you can swap between mods with nothing more than a click of a button.
Installing the Media VP files
To truly take advantage of FS2_Open's modding features, you should install the media VP files to a subfolder of your FreeSpace 2 folder. Although you can call this folder anything you like, the assumption that will generally be made is that if you have put them in a folder it will be called mediavps, so it is probably best to stick to that. Now that you have put the media VP files in that folder, you must go to the mod tab on the Launcher and select "mediavps" as your mod when running FS2. If you don't do this, FS2 will run with none of the media VPs' features. It will be like playing retail again.
Using the MediaVPs for user-made mods that make use of retail ships is possible. However, standalone mods specifically require you to NOT use the MediaVPs to avoid file conflicts.
Important note regarding post-MVP 3.6.10
The official installation instructions for MediaVPs 3.6.12 require you to place each official MediaVP release into its own folder, following the naming scheme "mediavps_3612" where "3612" is evidently the version number. Since mods that come before this paradigm shift presuppose your MediaVPs are in the "mediavps" folder, you have to open the mod.ini that comes with the mod and edit it to parse the appropriate "mediavps_3612" folder instead of "mediavps". See below on how to edit the mod.ini.
Installing a mod
Be very wary of what the readmes that come with mods tell you to do. Many mods were written before FS2_Open had these new features or by people only vaguely aware of what they do. For this reason, always remember this:
Do NOT install anything to Freespace2\data or into the root FreeSpace 2 folder regardless of what the instructions say.
Installing files into Freespace2\data or the root FreeSpace folder is the method used for retail campaigns and very old SCP builds only. This guide is about installing mods for up-to-date FreeSpace Open builds.
If you are following this guide, there is no reason to install files into either of the folders mentioned. Installing a mod to Freespace2\data means that FS2 retail and multiplayer will load the mod and probably break.
What you should do is make a separate folder for every mod within your FreeSpace 2 folder. If the mod consists completely of VP files, stick them all in a folder within the root FreeSpace 2 directory and you're done with this step.
If the mod's readme tells you to install to Freespace2\Data, make a new folder called Data within the one you just created and then follow the instructions using this new Data folder as if it were Freespace2\Data (i.e if the readme file instructs you to put a file in Freespace2\data\tables, put it in Freespace2\ModName\data\tables instead).
Run the Launcher, click on MOD tab, select the folder that contains all the mod's files (i.e. not ModName/Data, simply ModName) and you're ready to play.
(Launcher MOD tab is really setting the -mod flag, so you get the command line explained in the next section. For more info about how -mod and MOD Tab work, read Command-Line_Reference#-mod).
The last step is only required if you want the mod to be able to access the Media VP files and it doesn't already have a mod.ini.
This is done by creating a new text file called mod.ini (be careful that the computer doesn't call it mod.ini.txt). Cut and paste this into the file:
[multimod] SecondaryList = mediavps;
- PLEASE NOTE:
- Older mods will use "secondrylist" and start the mod list with a leading comma. This is no longer necessary (these were workarounds for bugs that have since been fixed), and thus deprecated.
- PLEASE NOTE:
Place this file in the mod's folder, then run the game as described above. Most, if not all, mods should already come with a ready-made mod.ini. If they don't, or if you are unsure how to create one, feel free to bug the mod's creator about it.
Alternative method / more info
Alternative method by jr2 (if you don't want to use mod.ini)
Just install the MOD as mentioned above, except skip the part about making a mod.ini file.
Then, in the launcher, under the Features tab, enter the following:
- -mod mod1,mod2,mediavps
where <mod1> is the mod you want to play, <mod2> is the mod that the mod you're playing depends on, and <mediavps> is the name of the folder where you've stuck the Media VP files.
To run Transcend, if I've installed it to C:\Freespace2\transcend, and if I've installed Media VPs to C:\Freespace2\mediavps, I'd type:
- -mod transcend,mediavps
into the Features tab.
To run the Solar Wars Chapter 1 mod for the Inferno Chapter 1 mod, if I've installed Solar Wars Chapter 1 to
and if I've installed Inferno Chapter 1 to
and if I've installed the Media VPs to
- -mod solar_wars_ch1,infr1,mediavps
Basically, (remember, -mod mod1,mod2,mediavps) FS2_Open looks for the files it needs in <mod1>, if they are there, then it uses them, if not, it looks in <mod2>, if not there, <mediavps>, if not there, then the main FS2 directory. If there are more than one version of the file it needs, then it will use the one that it finds first, in the order that it looks for them, as seen above.
This also applies to Fred2 Open, as it loads mods with the -mod parameter like FreeSpace2 Open does.
Also, you could use the mod.ini method so that mediavps is automatically appended to the list and you'd only have to type <mod1>,<mod2> in.