WindowsGSM is the free, open-source, GUI-based way to run game servers on a Windows PC or Windows VPS. No terminal, no Docker, no Linux. This guide covers the exact install, first-server setup, plugin system for unsupported games, auto-start on boot, and the honest truth about v1 vs the newer v2 Desktop — so you pick the right version for what you actually need.

01 // What WindowsGSM is (and what it isn’t)

WindowsGSM is a free, open-source desktop application for Windows that wraps SteamCMD and the various game server binaries in a clean graphical interface. Instead of memorising command lines for rustserver.exe, srcds.exe, or bedrock_server.exe, you click Install Game Server, pick your game from a list, and it handles the download, config files, and process management.

It was created by BattlefieldDuck and has been around since 2018. The free v1 application on GitHub is what the vast majority of Windows game server owners actually use — it’s battle-tested, handles 50+ games natively, and extends to dozens more through a plugin system.

What WindowsGSM is not

WindowsGSM is not a web panel. You cannot log in from your phone. It’s a desktop GUI that runs on the machine hosting the servers. If you need web-based remote access, look at Pterodactyl or AMP instead — both offer a Windows install path and browser UI. WindowsGSM is the right pick specifically when you want zero complexity, zero licenses, and zero Linux knowledge.

02 // v1 vs v2 Desktop — which version should you use?

WindowsGSM has two flavours in circulation right now, and the naming confuses people. Here’s the honest breakdown — answer three questions and we’ll tell you which one fits.

// Version Picker

Pick options above to see the right version.

Here’s the same information in a table if you prefer the at-a-glance view:

FeatureWindowsGSM v1 (free, GitHub)WindowsGSM Desktop (v2, paid)
PriceFree foreverOne-time purchase at windowsgsm.com
Last stable releasev1.23.1 (March 2023)Actively maintained
Source codeOpen source (MIT)Closed source
Native game support50+ games out of the boxContinuously updated catalogue
Plugin systemYes, big community libraryYes, newer ecosystem
UI styleFunctional, datedModern, refined
Community sizeHuge — years of Steam guides & YouTube tutorialsGrowing
Best for99% of home hosts and anyone running popular gamesUsers who want current UX and don’t mind paying
Our honest recommendation

Start with v1 free from GitHub. It runs popular games flawlessly, has a massive community, and costs nothing. If you hit real limitations — or you just want the nicer UI — then look at v2 Desktop. This guide covers v1 because that’s what you should actually start with.

03 // System requirements

WindowsGSM itself is lightweight — a few MB of RAM and basically no CPU when idle. What you’re really sizing for is the game servers it manages. WindowsGSM just needs enough baseline to run the framework:

  • Operating system — Windows 10 (build 1809 or newer), Windows 11, or Windows Server 2019 / 2022. 64-bit only.
  • .NET Framework 4.7.2 or newer — pre-installed on Windows 10 1803+ and all of Windows 11. If you’re on an older build, grab it from Microsoft’s download page.
  • Administrator account — required for firewall rules, service registration, and SteamCMD operations.
  • RAM & CPU — whatever the heaviest game server you plan to run needs. See our hosting section for per-game numbers.
  • Disk space — 50 GB free minimum. Game server installs are big: Rust is ~12 GB, ARK is ~20 GB, CS2 is ~35 GB.
  • Internet connection — fast and stable. SteamCMD downloads gigabytes per game.
Running this at home?

Home hosting is totally fine for small private servers, but your home ISP and router matter. Before you invest time here, skim our host a game server on Windows guide — it covers CGNAT (which silently breaks port forwarding for many users), firewall exceptions, and when you should move to a VPS instead.

04 // Download WindowsGSM

Grab the latest v1 stable release directly from the official GitHub:

  1. Open github.com/WindowsGSM/WindowsGSM/releases in your browser.
  2. Find the latest stable release (v1.23.1 at time of writing — newer builds may appear).
  3. Under Assets, download WindowsGSM.zip. It’s about 30 MB.
  4. Extract the zip to a permanent location you’ll remember. We recommend C:\WindowsGSM\ rather than your Downloads folder.
Do NOT install to Program Files

Windows’s UAC and permission model will give you endless grief if you extract to C:\Program Files\. Use a simple root path like C:\WindowsGSM\ or D:\GameServers\WindowsGSM\ so your game server files, configs, and saves can be written without admin elevation every time.

Windows SmartScreen warning

The first time you run WindowsGSM.exe, Windows SmartScreen will likely warn you that it’s from an unknown publisher. This is normal for unsigned open-source tools. Click More info → Run anyway. You can verify the binary’s integrity by checking its SHA256 hash against the release page if you want full peace of mind.

05 // First launch & setup

  1. Right-click WindowsGSM.exe and choose “Run as administrator”. Without admin rights, SteamCMD can fail to download and Windows Firewall rules can’t be added automatically. To save yourself future clicks, right-click the exe → Properties → Compatibility → tick “Run this program as an administrator”.
  2. On first launch, WindowsGSM creates a folder structure inside its install directory: /servers/, /plugins/, /logs/, /steamcmd/.
  3. It will prompt to download SteamCMD on first use — accept this. SteamCMD is the official Valve tool used to pull any Steam-hosted dedicated server.
  4. You’ll see the main dashboard with a sidebar and a central panel showing your servers (empty for now).

The dashboard layout (for v1) looks like this:

  • Left sidebar — list of all installed servers, plus buttons for plugins, settings, logs.
  • Top toolbar — Install, Import, Start, Stop, Restart, Delete, Update.
  • Main area — server console output for the currently selected server.

06 // Install your first game server

Let’s walk through installing a Minecraft Java server as an example — the steps are identical for every supported game.

  1. Click the Install Game Server button in the top toolbar (or the plus icon in the sidebar, depending on your version).
  2. A dialog opens with a searchable list of supported games. Type Minecraft and pick Minecraft: Java Edition Server.
  3. Fill in the three required fields:
    • Server Name — whatever you want displayed in the sidebar, e.g. Friends SMP.
    • IP — leave as 0.0.0.0 to bind all network interfaces (correct 99% of the time).
    • Port — 25565 for Minecraft Java (the default). Change it only if you’re running multiple servers on one PC and need to avoid a conflict.
  4. Click Install. WindowsGSM runs SteamCMD (or the game’s installer) in a console window. Minecraft Java downloads ~30 MB, takes under a minute. Rust takes 15+ minutes and pulls 12 GB.
  5. When the install finishes, your server appears in the sidebar. Click it.
  6. Click Start. The console tab shows the server booting. For Minecraft, first boot takes a minute while it generates the world.
  7. Once you see Done! For help, type "help", the server is ready. Connect from the game to localhost:25565 to test.

Editing config files

Right-click any server in the sidebar and pick Browse Files. Windows Explorer opens the server’s directory directly. Every game stores its config in a different place:

GameMain config file
Minecraft Javaserver.properties
Minecraft Bedrockserver.properties
Rustserver.cfg inside server/<identity>/cfg/
ARKGameUserSettings.ini and Game.ini in ShooterGame/Saved/Config/WindowsServer/
CS2 / TF2server.cfg in csgo/cfg/ or tf/cfg/
ValheimStart arguments edited via WindowsGSM → Edit Config

For startup arguments (like Minecraft’s JVM flags or Rust’s launch parameters), right-click the server and pick Edit Config. This edits the startup batch file WindowsGSM generates. For tuned Minecraft JVM flags, see our Minecraft optimization guide.

07 // Installing plugins for unsupported games

If the game you want isn’t in the native list — maybe you want PaperMC specifically, or a niche title like ASTRONEER — WindowsGSM’s plugin system has you covered. Plugins are small C# files hosted on GitHub that teach WindowsGSM how to install and manage that specific game.

  1. Open the Plugins section from the sidebar (or click the puzzle piece icon).
  2. Browse the Plugins List. Each plugin shows: name, supported game, author, GitHub link.
  3. Click Install next to the plugin you want. WindowsGSM downloads it from GitHub and places it in the plugins/ folder.
  4. Restart WindowsGSM. The new game now appears in the Install Game Server list alongside native options.

Manual plugin install (if the in-app browser fails)

  1. Go to github.com/WindowsGSM or the plugin author’s repo.
  2. Download the latest release zip, e.g. WindowsGSM.PaperMC.zip.
  3. Extract — you’ll see a folder like PaperMC.cs (yes, a folder with a .cs extension).
  4. Move that folder into C:\WindowsGSM\plugins\.
  5. Restart WindowsGSM.
Popular plugins worth grabbing

PaperMC (much faster Minecraft Java forks — Paper, Purpur), ASTRONEER, ARMA 3, Spigot, Waterfall / Velocity (Minecraft proxies). Check windowsgsm.com/products/windowsgsm-plugins for the full catalog.

08 // Auto-start WindowsGSM on Windows boot

By default, WindowsGSM only runs when you launch it manually. For a server you leave online 24/7, you want it to come back up automatically after reboots, updates, and power cuts. Here’s the cleanest way — using Windows Task Scheduler so it launches even without a logged-in user.

  1. Press Win + R, type taskschd.msc, press Enter.
  2. In the right-hand pane click Create Task… (not Basic Task — we need the advanced options).
  3. General tab:
    • Name: WindowsGSM Auto-Start
    • Select “Run whether user is logged on or not”
    • Tick “Run with highest privileges”
    • Configure for: Windows 10 (or your OS version)
  4. Triggers tab: click New → Begin the task: At startup → OK.
  5. Actions tab: click New → Action: Start a program → Program/script: C:\WindowsGSM\WindowsGSM.exe (adjust path to your install) → OK.
  6. Conditions tab: untick “Start the task only if the computer is on AC power” if this is a laptop you leave plugged in.
  7. Settings tab: tick “If the task fails, restart every: 1 minute, attempt up to: 3 times”.
  8. Click OK. Enter your Windows account password when prompted.

Now, inside WindowsGSM, right-click each server you want to auto-start and tick Auto Start. When WindowsGSM launches (triggered by Task Scheduler at boot), any servers flagged for auto-start will fire up on their own.

Crash recovery

In WindowsGSM, right-click your server and tick Auto Restart. If the server process crashes for any reason, WindowsGSM will relaunch it within seconds — without you needing to notice or intervene. Combined with the Task Scheduler trick above, this gives you a surprisingly robust uptime setup for a free tool running on a home PC.

09 // Port forwarding & firewall — the essentials

Once your server runs locally, letting external players connect needs two things: Windows Firewall must allow inbound traffic on the game’s port, and your router must forward that port to your PC’s internal IP.

Windows Firewall

WindowsGSM usually asks Windows to punch the firewall hole when you start a server for the first time — you’ll see a UAC prompt asking to allow the game exe through. Say yes. If you dismissed the prompt or traffic still isn’t reaching the server, add the rule manually:

# Run PowerShell as Administrator:
New-NetFirewallRule -DisplayName "Minecraft Java 25565" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow
New-NetFirewallRule -DisplayName "Minecraft Java 25565 UDP" -Direction Inbound -Protocol UDP -LocalPort 25565 -Action Allow

# Rust example:
New-NetFirewallRule -DisplayName "Rust 28015" -Direction Inbound -Protocol UDP -LocalPort 28015 -Action Allow
New-NetFirewallRule -DisplayName "Rust Query 28016" -Direction Inbound -Protocol UDP -LocalPort 28016 -Action Allow

Router port forwarding

Short version: log into your router (usually 192.168.1.1 or 192.168.0.1), find the Port Forwarding / Virtual Server section, create a rule that forwards the external port to your PC’s LAN IP. Full walkthrough with router-specific tips, CGNAT detection, and port reference tables is in our complete Windows hosting guide.

Common ports for WindowsGSM-supported games:

GamePort(s)Protocol
Minecraft Java25565TCP
Minecraft Bedrock19132UDP
Rust28015 + 28016 (query)UDP
ARK7777 + 7778 + 27015UDP
CS2 / CS:GO27015UDP
TF2 / Garry’s Mod27015UDP
Valheim2456-2458UDP
7 Days to Die26900 + 26901 + 26902TCP + UDP
Terraria7777TCP
Palworld8211UDP

For a more complete reference including query ports and RCON, see the port reference tool.

10 // Pros and cons — the honest assessment

The good

  • Genuinely free — MIT licensed, no trial, no watermark, no feature gates.
  • Dead simple — anyone who can install Discord can install WindowsGSM and run a Minecraft server. Zero Linux knowledge required.
  • Huge community — years of Steam guides, YouTube tutorials, Discord servers. If you hit a problem someone has solved it.
  • No Docker, no containers, no databases — the game server binary runs as a regular Windows process. Easy to debug, easy to reason about, easy to back up (just copy the folder).
  • Works on home PCs — the GUI runs beautifully on a desktop or laptop you already own. Plenty of people run small community servers from a spare PC in the closet.
  • Discord webhook integration — built-in notifications when servers start, stop, or crash.
  • Multi-server from one pane — run Minecraft, CS2, and TF2 side by side and manage all three from the same window.

The less good

  • Windows only — if you’re ever going to touch Linux, use Pterodactyl or LinuxGSM instead. Linux gives you better performance per euro and lower idle overhead.
  • No web UI — management requires the desktop app. If you’re away from home and a server crashes, you can’t fix it from your phone unless you’ve set up remote desktop or a panel layer on top.
  • Slow release cadence — v1 stable has been on v1.23.1 since March 2023. Features for newer games arrive through community plugins rather than core releases. The project still works well, but don’t expect rapid change.
  • Single-user — no role-based access. If your friend wants to restart the server, they need full remote access to your Windows account.
  • Windows overhead — Windows itself chews up 2–4 GB of RAM and a measurable chunk of CPU just existing. On the same hardware, a Linux host will run noticeably more players before lag.
  • Unsigned binary — SmartScreen warning every fresh install. Small thing, but it puts off nervous users.

11 // WindowsGSM vs AMP vs Pterodactyl vs LinuxGSM

Four tools, all of them valid, all of them solve different problems. Here’s when each one is the right answer:

If you want…Use…Why
Free, GUI, WindowsWindowsGSMExactly this tool. Point, click, game server.
Free, GUI, Windows OR Linux, web UIPterodactylWeb-based, Docker-isolated, multi-user with roles, extensible via eggs.
Free, CLI only, Linux, lowest overheadLinuxGSMNo panel at all — just shell scripts. Fastest possible performance per euro.
Paid, polished, either OS, commercial supportAMPThe most refined experience. Worth the license if you value polish and time-savings.
Paid, managed, zero-setup, no server adminNitradoSomeone else runs everything. You just play.

It’s fine to use more than one. A common setup: run WindowsGSM on a home PC for a private friends server, and use Pterodactyl on a VPS for a more serious public server.

12 // Common problems & fixes

SymptomCause & fix
SteamCMD download fails / stuck at 0%Firewall or antivirus blocking. Add C:\WindowsGSM\ to Defender/AV exclusions. Retry — SteamCMD often needs 2–3 attempts for large games like Rust.
Server starts then immediately closesPort conflict or bad config. Check the console log for the actual error. Most often another server is already using the port — change to a different port in WindowsGSM config and restart.
“Access denied” on startupNot running as Administrator. Close WindowsGSM, right-click the exe, “Run as administrator”. Consider the compatibility tweak in section 05.
Players on LAN can connect but internet players can’tPort forwarding not set on router, or you’re on CGNAT. See the CGNAT section of our Windows hosting guide.
Install Game Server list is emptyWindowsGSM can’t reach GitHub to fetch the game list. Check internet, disable VPN temporarily, or download the game manually and use Import.
Plugin not showing after installRestart WindowsGSM. If still missing, check the plugin folder structure — it should be plugins\GameName.cs\ (folder with .cs extension, not a single file).
Minecraft server “failed to bind to port”Another service using 25565, or a previous crashed instance still holding it. In Task Manager kill any java.exe or bedrock_server.exe process, then retry. For full tuning see Minecraft optimization.
Rust server won’t start after wipe dayFacepunch released an update. In WindowsGSM, select the Rust server → click Update before starting. Force wipes always break unmodded servers until update. See our Rust wipe guide.
Discord notifications not firingWebhook URL typo or Discord rate-limited you. Create a fresh webhook in Discord server settings, paste the new URL into WindowsGSM → Settings → Discord.
Server eats all RAM and crashes WindowsJava/Bedrock server without a memory cap. Edit the start args to set explicit -Xmx (Java) or plan for Bedrock’s natural footprint. Never give a game server more than 75% of total RAM.

13 // Hosting — home PC vs Windows VPS

WindowsGSM runs on two kinds of machines: a PC you already own, or a Windows VPS you rent. Both are valid. Here’s how to pick.

Option A — your home PC

Works great if:

  • You have an always-on desktop with 16 GB+ RAM
  • You have fibre or decent cable upload (10 Mbps up minimum for most games)
  • Your ISP gives you a public IPv4 (not CGNAT — see our Windows guide)
  • Small friends-only or semi-public server (<20 players)

Don’t do it if the PC is a laptop that sleeps, you have slow upload, or you want 24/7 uptime without your PC running all the time.

Option B — Windows VPS

Most VPS hosts offer Windows Server licenses for a small extra fee on top of the Linux price (typically €5–10/month more). Here’s what we recommend — note that for the same performance, a Linux VPS with Pterodactyl or AMP will be cheaper and run more players. Only pick Windows VPS if you specifically want WindowsGSM:

Recommended — Linux VPS instead

Hostinger KVM 4 — 16 GB RAM, 4 vCPU

If you’re renting a VPS anyway, switch to Linux and use Pterodactyl or AMP. You’ll get noticeably better performance per euro than any Windows VPS, and both panels have beginner-friendly guides right here. €12.99/month on annual billing, no Windows license fee.

Get KVM 4 →
Zero-setup alternative

Nitrado — Managed, no panel needed

If setting up WindowsGSM feels like too much, Nitrado rents you a pre-configured game server ready in 2 minutes. No Windows, no Linux, no panel — just a web control panel they run for you. Great for beginners.

Get Nitrado →

Per-game hardware sizing with WindowsGSM

WindowsGSM adds roughly 50–100 MB overhead on top of Windows itself. Your real sizing is the game:

Game & scaleMinimum RAMRecommended CPU
Minecraft Java, <10 players, vanilla4 GB2 cores, 3+ GHz
Minecraft Java, 10–30 players, Paper8 GB4 cores, 3.5+ GHz (single-core speed matters most)
Minecraft Bedrock, small2 GB2 cores
Rust, friends only, map <35008 GB4 cores, 3.5+ GHz
Rust, community 50 players16 GB6+ cores, 4+ GHz
ARK, single map16 GB6 cores
CS2 / TF2, competitive4 GB4 cores, 4+ GHz
Valheim, <10 players4 GB2 cores, 3.5+ GHz
7 Days to Die, 4–8 players8 GB4 cores

14 // Next steps