How to Host an IOSoccer Server (SteamCMD, Tickrate, 8v8)
Host an IOSoccer dedicated server: SteamCMD app 673990, srcds -game iosoccer at 100 tick, server.cfg, ports, and loading 4v4, 5v5 or 8v8 configs.
Updated Oct 7, 2026 · 6 min read
On this page
An IOSoccer dedicated server is the free SteamCMD app 673990. Download it with login anonymous and app_update 673990 validate, then start it with ./srcds_run -console -game iosoccer -port 27015 +maxplayers 32 +fps_max 500 -tickrate 100 +map 8v8_vienna (or srcds.exe with the same options on Windows). Set sv_lan 0, a hostname and an RCON password in iosoccer/cfg/server.cfg, open UDP port 27015, and pick the match format in game with exec 8v8, exec 5v5 or exec 4v4. The game itself is free on Steam, so your players only need to install it.
The short version
| Thing | Value |
|---|---|
| Server app ID | 673990 (the game client is 673560) |
Game folder / -game |
iosoccer |
| Start map most servers use | 8v8_vienna |
| Tickrate | -tickrate 100 is the common standard |
| Config files | iosoccer/cfg/server.cfg, plus format configs like 8v8.cfg |
| Ports | 27015 UDP (game) and TCP (RCON), 27020 UDP for SourceTV |
| RAM | 2 GB for 4v4 or 5v5, 3 GB for 8v8 with spectators |
IOSoccer runs on the Source engine, so the server is the same srcds program used by Valve's older games. The difference is what you do once it is up: IOSoccer is run through match settings like players per side, keepers and half time length rather than map rotations and frag limits.

Step 1: Download the server
Windows
- Download SteamCMD from Valve's developer wiki and extract
steamcmd.exeinto a folder such asC:\steamcmd. - Open PowerShell in that folder and run:
.\steamcmd +force_install_dir iosoccer +login anonymous +app_update 673990 validate +quit
This creates C:\steamcmd\iosoccer\ with srcds.exe and the iosoccer game folder inside.
Linux
Install the 32 bit libraries srcds needs, then SteamCMD:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install lib32gcc-s1 lib32stdc++6 steamcmd
steamcmd +force_install_dir ~/iosoccer +login anonymous +app_update 673990 validate +quit
Run it as a regular user. Rerun the same app_update 673990 validate line whenever IOSoccer updates, because players on a newer client cannot join an outdated server.
Step 2: Write server.cfg
Create or edit iosoccer/cfg/server.cfg. Every line here is a real IOSoccer setting:
hostname "Sunday League Club | 8v8"
rcon_password "use-something-long"
sv_password "" // set one for private scrims
sv_lan 0 // must be 0 to list on the internet
sv_region 255
mp_maxplayers 8 // players per team, 1 to 11
mp_timelimit_match 20 // real minutes for the whole match
mp_timelimit_halftime 1 // half time break in minutes
mp_botkeepers 1 // bots in goal when no one takes the gloves
mp_humankeepers 1
mp_offside 1
mp_extratime 0
mp_penalties 0
sv_autostartmatch 1
sv_alltalk 1
sv_allowdownload 1
mp_timelimit_match is in real life minutes without stoppages or half time: 20 real minutes plays as a 90 minute match on the in game clock. The other mp_timelimit_* settings use the same real minute scale.
Leave mp_maxplayers matched to the format. It is players per side, so 8 means 8v8, while +maxplayers 32 on the start line is the total number of connection slots, which leaves room for subs, spectators and referees.
Step 3: Start the server
Windows, from the iosoccer install folder:
.\srcds.exe -console -game iosoccer -condebug -port 27015 +maxplayers 32 +fps_max 500 -tickrate 100 +map 8v8_vienna
Linux:
cd ~/iosoccer
./srcds_run -console -game iosoccer -condebug -port 27015 +maxplayers 32 +fps_max 500 -tickrate 100 +map 8v8_vienna
What each part does:
| Option | Meaning |
|---|---|
-game iosoccer |
Load the IOSoccer game folder |
-condebug |
Write the console to iosoccer/console.log, handy for debugging |
-port 27015 |
Game port |
+maxplayers 32 |
Total slots on the server |
+fps_max 500 |
Lets the server loop run fast enough to keep up with a high tickrate |
-tickrate 100 |
Simulation updates per second; it must be set at launch |
+map 8v8_vienna |
Starting pitch |
+ip 1.2.3.4 |
Only needed if the machine has several network interfaces |
Picking a tickrate
Tickrate is how many times per second the server simulates the ball and players. IOSoccer's ball physics feel noticeably sharper at 100 than at the Source default of 66, and 100 is what most community servers run. Higher values cost CPU on a single core rather than RAM. If players report the ball stuttering, look at CPU use before you raise it further. Our explainer on what tick rate means in games covers the trade off in more depth.
Step 4: Open the ports
Allow UDP 27015 through the firewall and forward it on your router to the server's local IP. Add TCP 27015 if you want to send RCON from outside, and UDP 27020 only if you use SourceTV for streams. The port forwarding guide shows the router side step by step.
Step 5: Join and choose a format
Players turn on the console once: Options, Keyboard, Advanced, tick Enable Developer Console. Then they press ~ and type:
connect 203.0.113.10:27015
To run the server from inside the game, authenticate and send commands with rcon in front:
rcon_password use-something-long
rcon exec 8v8
rcon changelevel 8v8_vienna
rcon sv_restart 0.5
exec 4v4, exec 5v5 and exec 8v8 load the format configs that ship with the server. Pair each with a pitch built for that size, since an 8v8 config on a small pitch packs everyone into the box. Type maps * in the console to list the pitches installed. The full list of match commands, from keepers to red card bans, is in IOSoccer server commands and RCON.
If the server does not show in the in game browser or players cannot get in, see IOSoccer server not showing or cannot connect.

Keeping it running
A club server earns its keep by staying up between fixtures, which is where a home PC falls short. It has to stay on, keep its address, and survive your router rebooting. On Windows the server window closes on a crash; on Linux, srcds_run restarts it automatically unless you pass -norestart.
If you would rather not babysit a PC, an IOSoccer server from GamezServers runs the same srcds setup with its own address. Map, Slots, Tickrate, Max FPS, RCON password and Auto update are settings in the control panel, we generate the RCON password for you, and server.cfg is editable in the file manager or over SFTP. It is live in about a minute, there is no port forwarding, and a club can split the bill between up to 10 members.
FAQ
What is the IOSoccer dedicated server app ID?
- Download it anonymously in SteamCMD with
app_update 673990 validate. The game itself is app 673560 and free on Steam.
What tickrate should an IOSoccer server use?
100 is the common choice and gives responsive ball physics. Set it with -tickrate 100 on the start line, plus +fps_max 500 so the server can keep up.
How do I switch my IOSoccer server between 4v4 and 8v8?
Run exec 4v4 or exec 8v8 in the server console, or rcon exec 8v8 from the game, then change to a pitch built for that size.
Do players need to buy IOSoccer to join?
No. IOSoccer is free on Steam. Players install it, enable the developer console and connect.
How much RAM does an IOSoccer server need?
Very little. 2 GB handles 4v4 and 5v5, and 3 GB is comfortable for a full 8v8 with spectators. CPU matters more at high tickrates.
Skip the setup. Your own IOSoccer server.
Then $4.99/mo. Just trying it? $1.25 for 3 days