There is no single "best" Squad server config – what works for a 90-slot licensed public box will actively annoy a scrim team, and what a milsim community needs will chase casuals off in five minutes. I've set up all of these at some point for clans I was in, for friends, and for the communities I admin for, so this post is just me sharing the four presets I keep reaching for, with the actual Server.cfg, Admins.cfg and Layers.cfg lines that matter.
Honestly, half the "Squad server settings guide" posts floating around the forums are padded with settings that don't exist or are years out of date. I've stuck to verified keys only – cross-checked against the Squad wiki and the canonical community config repo. If you want the full reference for every knob, my sibling article Squad Server Configuration is the one to bookmark.
All four presets assume you've already got your server up – if you haven't, start with Squad Getting Started and come back.
Preset 1 – Public casual, 90-slot public playground
ServerName=[EU] My Casual Squad Server | 90 Slots
MaxPlayers=90
NumReservedSlots=8
PublicQueueLimit=25
ServerPassword=
ShouldAdvertise=true
IsLANMatch=false
MapRotationMode=LevelList
RandomizeAtStart=true
UseVoteFactions=true
UseVoteLevel=false
UseVoteLayer=false
AllowTeamChanges=true
PreventTeamChangeIfUnbalanced=true
NumPlayersDiffForTeamChanges=3
TKAutoKickEnabled=true
AutoTKBanNumberTKs=7
AutoTKBanTime=15
ServerMessageInterval=300
AlBasrah_AAS_v1
Narva_AAS_v1
Yehorivka_RAAS_v1
Gorodok_AAS_v1
Mutaha_AAS_v1
Tallil_RAAS_v1
Manicouagan_Invasion_v1
Group=Moderator:changemap,chat,kick,ban,cameraman
Group=Admin:changemap,balance,chat,kick,ban,cameraman,pause,config
Group=Reserved:reserve
Admin=76561198000000001:Admin
Admin=76561198000000002:Moderator
Admin=76561198000000003:Reserved
This is the config I run for a friend's 90-slot EU server that sits somewhere between "pure public" and "lightly curated." The big decisions are: PublicQueueLimit=25 so the queue doesn't become infinite and poison your server's reputation when it's full, TKAutoKickEnabled=true with a fairly lenient AutoTKBanNumberTKs=7 (because accidental vehicle TKs are rampant on public), and PreventTeamChangeIfUnbalanced=true to stop the "we're losing, I'm switching sides" flood.
I deliberately leave UseVoteLayer=false – on 90-slot public servers, map votes turn into Yehorivka every single round and your rotation dies. Let the rotation pick for you and use a roomy layer pool.
My take – the eight reserved slots matter more than people think. Regulars who donate even a fiver expect to hop in on a full server, and if they can't, they leave.
Preset 2 – Clan scrim, password-locked and ruthless
When I set this up for my brother's scrim group last winter, we tried running the standard 80-slot template first and it was a disaster – people randomly joining mid-scrim, layer picks being argued over in chat, the usual. What actually worked was going small, locking it down, and shrinking the layer pool to the three or four layers the team actually wanted to practice.
The scrim preset leans on the fact that you're not trying to be discoverable. ShouldAdvertise=false keeps you off the community browser entirely, and ServerPassword is the real gate. We keep TK auto-kick off on scrims – if you kill your own team in a scrim, your captain will have a word and you don't need the server doing it for you.
ServerName=[PRIVATE] Scrim Server
MaxPlayers=50
NumReservedSlots=0
PublicQueueLimit=5
ServerPassword=changeMePlease
ShouldAdvertise=false
IsLANMatch=false
MapRotationMode=LevelList
RandomizeAtStart=false
UseVoteFactions=false
UseVoteLevel=false
UseVoteLayer=false
AllowTeamChanges=true
PreventTeamChangeIfUnbalanced=false
TKAutoKickEnabled=false
ServerMessageInterval=0
AllowPublicClientsToRecord=true
RecordDemos=true
Sumari_AAS_v2
Fallujah_RAAS_v1
Narva_AAS_v1
Yehorivka_RAAS_v1
Group=ScrimAdmin:changemap,chat,kick,ban,pause,config,cameraman,debug
Group=Caster:cameraman,canseeadminchat,debug
Admin=76561198000000010:ScrimAdmin
Admin=76561198000000011:ScrimAdmin
Admin=76561198000000012:Caster
Three things I'd flag about this one. First, RecordDemos=true plus AllowPublicClientsToRecord=true is the combination that lets you produce scrim VODs cleanly – if you've ever tried to review a scrim without demos you'll understand why. Second, I gave casters their own group with cameraman and canseeadminchat but no kick/ban – they don't need it, and it keeps trust lines clean. Third, RandomizeAtStart=false because scrim teams want Map 1 of the list, not a surprise.
If you're running scrims frequently and something feels broken, Squad Troubleshooting covers the "why is my server not showing up / not accepting my password" failure modes.
Preset 3 – For the milsim community that actually enforces its rules
ServerName=[MILSIM] Operation Barracuda | 18+ | Whitelist
MaxPlayers=80
NumReservedSlots=10
PublicQueueLimit=15
ServerPassword=
ShouldAdvertise=true
MapRotationMode=LevelList
RandomizeAtStart=false
UseVoteFactions=false
UseVoteLevel=false
UseVoteLayer=false
AllowTeamChanges=false
PreventTeamChangeIfUnbalanced=true
NumPlayersDiffForTeamChanges=1
TKAutoKickEnabled=false
VehicleClaimingDisabled=false
VehicleKitRequirementDisabled=false
ServerMessageInterval=600
AllowCommunityAdminAccess=true
Mutaha_AAS_v1
Fallujah_Invasion_v1
Kohat_AAS_v1
Kamdesh_Invasion_v1
AlBasrah_Invasion_v1
Group=HeadAdmin:changemap,balance,chat,kick,ban,config,cameraman,pause,debug,featuretest,immunity
Group=Admin:changemap,balance,chat,kick,ban,cameraman
Group=Event:changemap,chat,cameraman,featuretest
Group=Whitelist:reserve
Admin=76561198000000020:HeadAdmin
Admin=76561198000000021:Admin
Admin=76561198000000022:Admin
Admin=76561198000000023:Event
Admin=76561198000000024:Whitelist
The milsim community I admin for uses almost exactly this pattern. Some of it is obvious – AllowTeamChanges=false kills team-hopping entirely, NumPlayersDiffForTeamChanges=1 is paranoid-strict, TK auto-kick is off because milsim servers handle TKs manually with context (was it a genuine mistake, or did someone disobey squad lead?).
The less obvious bits:
- Invasion-heavy rotation – milsim crowds hate symmetric AAS. Asymmetric Invasion layers where one side defends a fixed line is what keeps the "this is a combat operation, not a point-grab" feeling alive. Mutaha, Fallujah, Kohat and Kamdesh on Invasion are the staples I keep coming back to.
- No vote anything – vote votes vote. The head admin or the event lead picks the layer, full stop. If you give milsim players a vote button you'll get Skorpo seven rounds in a row.
- Three-tier admin –
HeadAdminholds the keys,Adminhandles the ground-truth rule enforcement,Eventis for mission leads who need to switch maps and moderate chat but shouldn't be handing out bans.
The whitelist approach here is the reserve permission used as a whitelist proxy – those Steam IDs get a reserved slot, which on a server running PublicQueueLimit=15 effectively means whitelisted members bypass the queue every time. For a stricter whitelist, use Whitelist.cfg with the same SteamID64 list. Either works; my preference is reserved-slots-as-whitelist because it still lets curious non-members spectate during a full raid.
One settings caveat worth calling out – I've seen people add PreventTeamKillInSafeZone or similar to milsim configs. That's not a real key I could verify, so I left it out. If you see an "essential milsim setting" that isn't on my list, sanity-check it against the full configuration reference before you paste it into production.
Preset 4 – Training / mixed private-public for clans with friends
The training box is the one I find myself reconfiguring most often, because it's the fuzziest use case – clan members want to practice SL'ing, friends of the clan want to drop in casually, and occasionally you want randoms to fill out a 40-slot so you can actually scrim the clan against warm bodies. You don't want the rigidity of a scrim server or the chaos of full public. The answer, for me, is a smaller slot count (40 is plenty), no password, reserve slots for the clan, and an admin rota so there's always someone on-call during the evening slot when stuff is actually happening.
The config below reflects that. You can drop it onto a Squad server and edit the three SteamID blocks – clan core, admin rota, friends-of-clan – to match your group. Note the inline ServerMessageInterval=180 – I want the rules broadcast reasonably often because non-clan joiners won't know them, but not every 60 seconds because that's annoying for regulars. The key setting for this archetype is honestly just NumReservedSlots=12 on a 40-slot box – that's a third of the server held for the clan, which sounds like a lot until you realise the whole point of this archetype is "clan always has room, randoms fill the rest." I also enable UseVoteLayer=true here because this use case actually benefits from vote layers – the mix of clan members and friends tends to produce reasonable votes, unlike full public.
ServerName=[Clan] Training Server | Community Welcome
MaxPlayers=40
NumReservedSlots=12
PublicQueueLimit=10
ServerPassword=
ShouldAdvertise=true
MapRotationMode=LevelList
RandomizeAtStart=true
UseVoteFactions=true
UseVoteLevel=false
UseVoteLayer=true
AllowTeamChanges=true
PreventTeamChangeIfUnbalanced=true
NumPlayersDiffForTeamChanges=2
TKAutoKickEnabled=true
AutoTKBanNumberTKs=5
AutoTKBanTime=30
ServerMessageInterval=180
# Layers.cfg – small, varied rotation
# Sumari_AAS_v2
# Chora_AAS_v1
# Harju_AAS_v1
# Narva_AAS_v1
# Gorodok_AAS_v1
# Admins.cfg
# Group=Admin:changemap,balance,chat,kick,ban,cameraman,pause
# Group=Reserved:reserve
# Admin=76561198000000030:Admin # Clan lead (evening rota)
# Admin=76561198000000031:Admin # Clan lead (weekend rota)
# Admin=76561198000000032:Reserved # Clan member
# Admin=76561198000000033:Reserved # Friend of clan
Personal note – I ran this for a UK clan I was in a few years back and the thing that actually made it work wasn't the config, it was the Discord handover between the two rota admins at 10pm. The config can hold the line up to a point; human admin cover holds everything past that.
A few things that apply to all four presets
- Your ports are
PublicPort,QueryPortandRCONPort. If you changeMaxPlayersyou don't need to change ports, but if you're running multiple Squad instances on one box you absolutely do. LOW.MS servers get unique ports assigned automatically, so this is more of a self-hosted gotcha. - The
IsLicensedServer/LicenseKeypair is only relevant if you're getting your server onto the Licensed server list – it's optional and most public/clan servers run unlicensed. See the Squad wiki for the current licensing process. MapRotationMode=LevelListuses your simpleLayers.cfg. If you outgrow it and want weighted or conditional rotation, look upLayerRotation.cfg– different format, more powerful, but overkill for 90% of communities. For the full reference including the more advanced rotation logic, my Squad Server Configuration article covers the format in detail.ServerPasswordbeing blank means public access – leave it empty unless you mean it.
Pick the preset closest to what your community actually is, not what you wish it was. A 90-slot public config on a group of 12 clan mates will feel empty and weird, and a scrim-style lockdown on a public-aspiring server will kill your player count before it starts. My honest advice – start from whichever preset fits, edit the SteamID64s, restart the server, and tune from there over the first week.
If something in here doesn't match the key names your host's panel shows you, trust your host's panel – they're reading your actual Server.cfg and some hosts add game-specific wrappers. But the key names above are all verified against the current Squad server software, so they should drop in cleanly on any vanilla setup.