New

EmeraldHost 2.0 is here: faster, more intuitive, and made for everyone - the new panel!

Learn more
Guides
How to Add Mods to Your Soldat 2 Server
Soldat 2Soldat 2Add Mods

How to Add Mods to Your Soldat 2 Server

Add mods, custom maps and scripts to a Soldat 2 server

5 min read
Jul 31, 2026

Soldat 2 has no workshop and no mod package format. Instead, practically everything that makes up the game exists as an individual file inside the server directory – maps, game modes, modifiers, map cycles and scripts. You upload them via SFTP and hook them up through the configuration or the console.

The folder structure

All folders are located in the main directory of your server:

Folder Contents
Levels/ Maps as JSON files, each inside its own subfolder
Modifiers/Custom/ Modifiers – change objects, weapon values and gameplay parameters
Rules/Custom/ Game modes and round rules
Scripts/Custom/ Custom C# scripts
Cycles/Custom/ Map cycles

Add custom maps

  1. Download the map
    Download the map you want. A large collection can be found at tms2.jrgp.org.

  2. Stop the server
    Stop your server via the dashboard.

  3. Upload the map
    Upload the map into a subfolder of Levels/ via SFTP, keeping the structure it ships with:

    Levels/<folder>/<mapname>.json
    
  4. Start the server
    Start your server.

  5. Load the map
    Open the console in the game and load the map with a game mode – the game mode is named exactly like the matching file in Rules/:

    rcon loadmap dm_epitaph Deathmatch
    

Add modifiers

Modifiers are the quickest way to change the gameplay: they override the values of objects, weapons and gameplay parameters.

  1. Stop the server
    Stop your server via the dashboard.

  2. Look at the reference file
    Open the file Modifiers/_default.json via SFTP. It contains all default values and serves as a reference – do not edit it.

  3. Create your own modifier
    Create a new file:

    Modifiers/Custom/MyModifier.json
    
  4. Enter your values
    Only enter the values you want to change. The parameters live in the "Objects" section. Everything you leave out keeps its default value.

  5. Start the server
    Save the file and start your server.

  6. Enable the modifier
    Open the console and enable the modifier by its file name without .json:

    rcon addmodifier MyModifier
    rcon restart
    

Custom game modes through rule files

Game modes and round rules are JSON files inside Rules/Custom/. They control, for example, how long a round lasts and how many points are needed to win:

Key Meaning
Match.MatchSecs Round duration in seconds
Match.ScoreLimit Score limit at which the round ends
GameScript Name of the C# script loaded for this game mode
  1. Stop the server
    Stop your server via the dashboard.

  2. Create a rule file
    Copy an existing file from Rules/ as a template and save it under a new name:

    Rules/Custom/MyMode.json
    
  3. Adjust the values
    Change the values you want.

  4. Reference the mode
    For your mode to be played, enter its file name without .json under "Rules" in your map rotation – see Set up a map rotation.

  5. Start the server
    Save the file and start your server.

Add custom scripts

For custom game logic, Soldat 2 ships a C# scripting system.

  1. Stop the server
    Stop your server via the dashboard.

  2. Upload the script
    Upload your .cs file via SFTP:

    Scripts/Custom/MyScript.cs
    
  3. Hook up the script
    Reference the script through the GameScript key in a rule file inside Rules/Custom/. Alternatively you can load it through a modifier.

  4. Start the server
    Start your server and check the server console in the dashboard to see whether the script compiled without errors.

Set up a map rotation

A map rotation is defined in a cycle file. The server works through the rounds listed in it one after another.

  1. Stop the server
    Stop your server via the dashboard.

  2. Create a cycle file
    Copy an existing file from Cycles/ as a template and save it under a new name:

    Cycles/Custom/MyRotation.json
    
  3. Add the rounds
    Every round consists of a game mode ("Rules") and a map ("Level") – both without a file extension:

    [{
      "Rules": "Deathmatch",
      "Level": "dm_epitaph"
    }]
    
  4. Enable the rotation
    Enter the following values into the autoconfig.ini:

    GamesCycleFile=Cycles/Custom/MyRotation.json
    UseLobby=False
    AllowVoting=False
    
  5. Start the server
    Save the file and start your server.

Commands while the server is running

Command Description
rcon listmaps Show available maps
rcon loadmap <mapname> <gamemode> Load a map with a game mode
rcon nextmap Switch to the next map
rcon addmodifier <name> Enable a modifier
rcon removemodifier <name> Disable a modifier
rcon restart Restart the round – required for a modifier to take effect
rcon loadcycle <file> Load a map cycle
rcon reload Recompile the scripts

Editing the autoconfig.ini

Written byEmeraldHost Team
Last updated on Jul 31, 2026 Edit on GitHub

Did this article help you?

Your feedback helps us improve our guides.

Help shape the guides

€10.00 in credit for every new guide, €5.00 for every improvement.

Contact Support

Create a support ticket and our team will get back to you as soon as possible – personal and professional.

Go to Support
1257 members online

Discord Community

Connect with other players, get quick help from the community, and stay up to date with the latest news.

Join Discord
Soldat 2

Ready to get started?

Rent your Soldat 2 Server now

Join our Discord community 1257 members online right now