Unfortunately, I do not have enough spare time this week to go into extreme detail on this subject, but I can offer some help on where to begin.
Firstly, the only program that is key to making an NPC faction is a text editor, Notepad being the one I use.
Creating an NPC faction is not difficult once you understand what you are doing. What it is, however, is tedious, repetative, and often frustrating. You may find on more than one occasion that a single misplaced keystroke or missing line will result in Freelancer crashing while in space, or not even loading up in the beginning.
There are three INI files that are essential to creating an NPC faction. More will very likely be needed in order to get what you want out of your new faction, but these three files are the core of creating it.
initialworld.ini
This is where the skeleton of your faction is to be found. Here is where you set your faction's name(ids_name), IFF name(ids_short_name), description(ids_info), and the attitudes of your faction's NPCs towards NPCs of other factions(all the "rep= #, name" lines) and vice versa.
This, along with the next file, will likely be the source of much grief to you as you work on your faction, as often a single mistake here can cause many errors. Finding such a mistake is a very, very tedious process.
empathy.ini
This file is used to determine the reputation changes to make to a character's reputation when completing missions or killing NPCs or cargo depots belonging to that faction, the faction's allies, the faction's enemies, groups who occasionally talk with that faction, or groups who object somewhat to your actions.
The reason for the frustration that can occur when working with this file as well as initialworld is because each and every faction in existance MUST have an empathy entry here and a rep entry in initialworld. For every faction entry. If you miss one in either of them, there is often no easy way to tell which file the error is in, so you will have to search manually through both files for the mistake.
faction_prop.ini
This is the meat of your faction. This is where you determine almost everything about it: Jump preferences, voices, comm window costumes, NPC names, rank and capital ship designations, what types of cargo they scan you for, if they announce out loud that they are going to scan you, the chance they have of scanning you, what ships they use, ship formations(which can be specified to be used only by certain ship classes), what those formations are called, whether or not the faction's nickname is plural or singular, what they announce themselves as over the comm, and even a legality marker.
Unlike the other two files, faction_prop is relatively forgiving in terms of error fixing, as each faction's entry only ever refers to, or is used by, that faction and that faction alone.
In addition to these three files, a single line is required to be added to the m13.ini file in order to initialize the player's reputation with the new faction. However, this is a very simple step compared to the rest of the process.
If I have time next week, or even this weekend, I will write up a more detailed tutorial on how to create an NPC faction.
Characters Alan Markson: The Hellfire Legion's Lord Commander The Perihelion: Freeport Four's guardian, and yet much more. Missing and assumed Lost with all hands. Eric Dresmund: Junker, smuggler, thief. Last seen drunk on Beaumont Vayrn Wyard: IMG Recon pilot turned Neo-Terran Captain. Last location unknown