Skip to content

Server setup

The SRS server is a standalone Windows application. It does not need to be installed inside an IL-2 game directory, and a client installation is not required on a dedicated host.

For each public instance you need:

  • the current server files from the release ZIP;
  • one unused port, reachable over both TCP and UDP;
  • permission to write server.cfg, serverlog.txt, and banned.txt in the instance folder;
  • an optional Pilot Roster JSON producer if you want assigned callsigns and aircraft data.
  1. Download the current package from GitHub Releases.
  2. Extract it to a dedicated folder such as C:\IL2-SRS\main.
  3. Allow IL2-SR-Server.exe through the host firewall for both TCP and UDP.
  4. Run IL2-SR-Server.exe. The service starts automatically and creates any missing settings in server.cfg.
  5. Confirm that Server Health reaches RUNNING and that Voice Links increases when a client connects.

RUNNING means both the TCP control listener and UDP voice listener are active. DEGRADED means at least one listener is unavailable after the startup grace period; check serverlog.txt and verify that the configured port is not already in use.

Use a separate folder and unique port for every instance. This keeps logs, bans, exports, roster files, and supporting files from colliding.

You can also pass a specific configuration file with -cfg=:

Terminal window
IL2-SR-Server.exe -cfg="C:\IL2-SRS\instances\main\server.cfg"

Use the exact lowercase argument shown above. Relative file paths inside server.cfg, including the Pilot Roster path, are resolved from the folder containing IL2-SR-Server.exe, not from the folder containing a custom configuration file.

Example instance layout:

C:\IL2-SRS\
main\
IL2-SR-Server.exe
server.cfg
banned.txt
serverlog.txt
training\
IL2-SR-Server.exe
server.cfg
banned.txt
serverlog.txt

Use the server window for normal changes. UI changes are saved immediately, and most radio settings are sent to connected clients without a restart. For every key, default, and restart requirement, see the configuration reference.

The server window also provides:

  • a persistent White or Dark theme;
  • listener state, uptime, voice-link count, recent transmitters, and memory use;
  • direct access to Client Admin;
  • channel names, limits, and radio behavior controls.
IL2-SRS server main window using the White theme
  1. Stop the SRS server and confirm the process has exited.
  2. Back up server.cfg and banned.txt for each instance. Also preserve any local Pilot Roster source or custom integration files.
  3. Extract the new release to a temporary folder.
  4. Replace the application files while retaining each instance’s configuration and ban list.
  5. Start one instance and confirm RUNNING, a successful client connection, and a ready UDP voice link before updating the remaining instances.

Do not distribute a production server.cfg in a release or support bundle without reviewing it first. It can contain private filesystem paths and reserved integration values.

File Purpose
server.cfg Persistent server and radio settings
serverlog.txt Startup, synchronization, roster, network, and voice-routing diagnostics
banned.txt IP addresses blocked by Client Admin
clients-list.json Optional generated client export; created only when enabled

The default files are written beside the server executable. Include serverlog.txt when reporting server startup, synchronization, or routing problems.

Symptom Check
Server immediately exits Another process may already be using the configured port
Clients cannot connect Allow inbound TCP and UDP on the server port and verify NAT forwarding
Client shows connected but voice is unavailable Confirm UDP is allowed; Client Admin will show WAITING until the voice endpoint is established
Settings appear to revert Stop the server before manually editing server.cfg, then restart it
Custom configuration is ignored Use the exact -cfg="..." argument and verify the service account can read and write the file
Pilot Roster is unavailable Check the configured JSON path and roster warnings in serverlog.txt