---
name: "Mod.cpp/bin File Format"
type: topic
source: https://community.bistudio.com/wiki/Mod.cpp/bin_File_Format
revid: 373415
updated: 2025-05-08T11:27:11Z
---

# Mod.cpp/bin File Format

> **Disclaimer: This page describes internal undocumented structures of Bohemia Interactive software.**
>
> This page contains unofficial information.
>
> Some usage of this information may constitute a violation of the rights of Bohemia Interactive and is in no way endorsed or recommended by Bohemia Interactive.\
> Bohemia Interactive is not willing to tolerate use of such tools if it contravenes any general licenses granted to end users of this community wiki or BI products.

### mod.cpp/bin

As of Arma 2: Operation Arrowhead, the root folder of your @mod can contain an (optional) mod.cpp/bin.

```
somewhere\@YourMod\mod.bin
```

and on the command line to start Arma 2: Operation Arrowhead

```
-mod=somewhere\@YourMod
```

A mod.cpp/bin allows for more detailed information in the Game's expansion menu for mod folders (rather than the engine simply declaring there is a mysterious `@yourmod`)

Contents of this cpp/bin could be as follows:

```cpp
name            = "mod_";                    // Name of your mod
author            = "author_mod";                // Affects Arma 3 Launcher, when the mod are loaded as local
logo            = "files\ic.paa";            // Logo displayed in the main menu
logoOver        = "files\ic_active.paa";    // When the mouse is over, in the main menu
tooltip            = "mod_";
tooltipOwned    = "credit_mod";                // Tool tip displayed when the mouse is left over, in the main menu
picture            = "files\overview.paa";        // Picture displayed from the expansions menu. Optimal size is 2048x1024
actionName        = "GitHub";
action            = "https://github.com/my-mod-page";            // Website URL, that can be accessed from the expansions menu
overview        = "This awesome mod does this and that.";    // Supports structured text
hideName        = 0;                        // Hide the extension name
hidePicture        = 0;                        // Hide the extension menu
dlcColor[]        = { 0.23, 0.39, 0.30, 1 };    // Color used for DLC stripes and backgrounds (RGBA)
logoSmall        = "files\ic_small.paa";        // Display in creative lists, next to the entities added by the mod
```

This is the standard, easy to apply, method.

As convenient (and clever) as it may be, it does not fit well with standard methods of distribution. E.g.m, all things pbo.

> [!NOTE]
> **Arma 3:** In Arma 3 the `mod.cpp` is needed to display mod information in the [Arma 3: Launcher](../topics/Launcher.md).

### CfgMods

> [!WARNING]
> As of Arma 3 v2.02 CfgMods is broken and does not work!

The alternative is to insert a CfgMods class into one of your pbo's, or, make one specifically for this.
The following are BI samples of how it is done (find more samples [here](../topics/DLC_Content_Licensing.md)):

> [!IMPORTANT]
> `true`/`false` values are invalid values in `mod.cpp`; use `1`/`0` instead or define them with
>
> ```cpp
> #define true 1
> #define false 0
> ```

#### Arma 2

```cpp
//config.cpp
#define true 1
#define false 0

class CfgMods
{
    defaultAction = "http://www.arma2.com/mods";

    class Expansion
    {
        dir = "Expansion";
        name = "Arma 2: Operation Arrowhead";
        picture = "ca\ui\data\logo_arma2ep1_ca.paa";
        hidePicture = false;
        hideName = true;
        action = "http://www.arma2.com/arrowhead";
    };

    class BAF
    {
        dir = "BAF";
        name = "Arma 2: British Armed Forces (Lite)";
        picture = "ca\data_baf\mod.paa";
        action = "http://www.arma2.com/BAF";
        hash = "BAF v. 1.03";
        hideName = 1;
        actionName = "Buy Now";
        hidePicture = 1;
        islite = 1;
    };

    class PMC
    {
        dir = "PMC";
        picture = "ca\ui\data\logo_arma2pmc_ca.paa";
        hash = "PMC v. 1.02";
        action = "http://www.arma2.com/PMC";
        hideName = 1;
        name = "Arma 2: Private Military Company";
        hidePicture = 0;
    };
};
```

#### Arma 3 - Zeus

```cpp
class CfgMods
{
    class Mod_Base;
    class Curator : Mod_Base
    {
        picture = "\A3\Ui_F_Curator\Data\Logos\arma3_zeus_icon_ca.paa";
        logo = "\A3\Ui_F_Curator\Data\Logos\arma3_curator_logo_ca.paa";
        logoOver = "\A3\Ui_F_Curator\Data\Logos\arma3_curator_logoOver_ca.paa";
        tooltipOwned = "$STR_A3_CFGMODS_CURATOR_NAME";
        action = "http://zeus.arma3.com";
        fieldManualTopicAndHint[] = {"Curator","Curator"};
        dlcColor[] = { 0.31, 0.78, 0.78, 1 };
        overview = "$STR_A3_DLC_CURATOR_DESCRIPTION";
        hideName = 1;
        hidePicture = 0;
        name = "$STR_A3_CFGMODS_CURATOR_NAME";
        dir = "Curator";
        appId = 275700;
    };
};
```

### Notes

> **Benargee** (2015-02-02):
>
> **ARMA 3**\
> Use **<br />** to get a line break for mod overview.
>
> HTML Link tags can also be used in overview, but you must use single quotes around the url. Example:\
> **"<a href='http://www.arma3.com'>Arma 3 Home Page</a>"**\
> Colored text works too: **<t color='#ffff00'>Your yellow text!</t>**\
> Other html tags might work, but I have not tested them. See: [Structured Text](../topics/Structured_Text.md).

<sub>Source: [BI Community Wiki — Mod.cpp/bin File Format](https://community.bistudio.com/wiki/Mod.cpp/bin_File_Format) (revision 373415).</sub>
