Soldat has two completely different kinds of mods. Classic mods – different gostek graphics, weapon images, sounds and menus – are purely client-side: they live in the Soldat folder on the player's PC and are loaded there through a launch parameter. They do not belong on your server.
On the server side you extend your game in three ways:
- Custom maps that the server transfers to players automatically
- Server scripting (ScriptCore 3) for custom game rules and management features
- Mod packages (
.smod) – this option only exists on OpenSoldat
Add custom maps
Maps are the most practical way to give your server its own character. They come as .pms files.
-
Download the map
Download the map you want. You need the.pmsfile. -
Stop the server
Stop your server via the dashboard. -
Upload the map
Upload the.pmsfile into the maps folder of your server via SFTP. On OpenSoldat that is the foldermaps/. -
Add the map to the rotation
Open the filemapslist.txtin the main directory of your server and add the map – one map per line:ctf_Ash ctf_Laos ctf_Run -
Start the server
Save the file and start your server.
Manage maps while the server is running
As a logged-in admin you can also adjust the rotation in the game:
| Command | Description |
|---|---|
/addmap <MapName> |
Add a map to the running rotation |
/delmap <MapName> |
Remove a map from the rotation |
/map <MapName> |
Switch to a specific map immediately |
/nextmap |
Switch to the next map |
/restart |
Restart the current round |
Transfer maps to players automatically
So your friends do not have to install your custom maps themselves, the server sends them on join.
-
Stop the server
Stop your server via the dashboard. -
Set the option
Classic server – in the[NETWORK]section ofsoldat.ini:Allow_Download=1OpenSoldat – in
configs/server.cfg:set net_allowdownload 1 set fileserver_enable 1 -
Start the server
Save the file and start your server.
Enable server scripting
The actual mod system for Soldat servers is server-side scripting (ScriptCore 3). It lets you build custom game modes, statistics, automation and management commands.
-
Stop the server
Stop your server via the dashboard. -
Turn scripting on
Classic server – in the[NETWORK]section ofserver.ini:Scripting=1OpenSoldat – in
configs/server.cfg. Scripting is enabled there out of the box, so this entry is just a double check:set sc_enable 1 -
Upload the script
Upload your script into its own subfolder via SFTP:scripts/<ScriptName>/ -
Create the configuration file
Create the filesc3.cfginside the script folder:[Config] Name=MyScript MainFile=main.pas Sandboxed=2 -
Start the server
Start your server and check the server console to see whether the script compiled without errors.
Options in sc3.cfg
| Option | Meaning |
|---|---|
Name |
Mandatory, at most 20 characters – appears in all console output for this script |
MainFile |
Entry file of the script, main.pas by default |
Debug |
Enables additional debug output |
Sandboxed |
File access of the script: 0 the whole drive, 1 the server folder, 2 only the script's own data (default) |
AllowDlls |
Allows the script to load external libraries |
AllowIniEdit |
Allows the script to read and write soldat.ini and server.ini – only works with Sandboxed=1 |
Gamemod |
Marks the server as a gamemod server in the lobby list |
Legacy |
Compatibility mode for older scripts (ScriptCore 2) |
The file also supports the sections [SearchPaths] and [Defines].
Mod packages on OpenSoldat
Only OpenSoldat can load a mod package on the server side. Mods come as .smod files there.
-
Stop the server
Stop your server via the dashboard. -
Upload the mod
Upload the.smodfile into the foldermods/via SFTP. -
Enter the mod
Inconfigs/server.cfg, enter the file name without the.smodextension:set fs_mod MyMod -
Start the server
Save the file and start your server.
