How toPuck

How to Add Mods to a Puck Server (Steam Workshop, 2026)

Add Steam Workshop mods to a Puck dedicated server with the mods list in server_config.json: server side and client required mods, isEnabled, isClientRequired and fixes.

Updated Oct 1, 2026 · 4 min read

On this page

Puck has official mod support through the Steam Workshop, and a dedicated server can run mods in two ways: server side mods that change the server's behaviour, like a custom welcome message or extra commands, and client required mods that every player downloads automatically when they connect. Both are added by Workshop id to the mods list in server_config.json. This guide shows the format, where to find ids, and what to check when a mod does not load.

How Puck mods work

Since build 202, Puck mods are .NET assemblies loaded into the game, and the Steam Workshop handles distribution. On a server:

  • Server side mods run only on the server. They can change the game loop, physics, chat commands and more. Players do not need them.
  • Client required mods are mods the server tells every connecting player to install. Puck lists them in a popup, downloads and enables them without a restart, then connects the player. When the player leaves, the mods are disabled again but stay cached.

The server downloads its mods from the Workshop itself when it starts. It does not let players in until they are ready, and after a timeout it opens anyway and logs which mods were still pending.

Step 1: Find the Workshop id

Open the mod's page on the Steam Workshop (Puck's Workshop is under the game's Community Hub). The id is the number at the end of the page address:

https://steamcommunity.com/sharedfiles/filedetails/?id=3721801263

Here the id is 3721801263. Read the mod's description: authors usually say whether it is a server mod, a client mod or both.

Step 2: Add it to server_config.json

Stop the server, open server_config.json and fill in the mods list. Each mod is an object with three keys:

"mods": [
  { "id": "3721801263", "isEnabled": true, "isClientRequired": false },
  { "id": "3493628417", "isEnabled": true, "isClientRequired": true }
]
Key Meaning
id The Workshop id, as text in quotes
isEnabled true runs the mod on the server, false keeps it listed but off
isClientRequired true makes every player download and enable it when they join

So a server only mod is isEnabled: true, isClientRequired: false, and a mod everyone needs (for example one that adds visuals the server relies on) is isClientRequired: true. Save and start the server.

Watch out for the format. The server reads its config strictly:

  • The id must be in quotes. A bare number stops the server from starting.
  • No comma after the last mod in the list.
  • Keys are case sensitive: isEnabled, not IsEnabled or enabled. Builds from 2025 used enabled and clientRequired, which the current server ignores.

If the file is invalid, the server refuses to start and the log names the line.

Step 3: Check the log

On start the log shows the server waiting for its mods, with a counter like:

Server mods: 1/2 ready

followed by the ready line once everything has loaded. If the counter never completes, the id is probably wrong, the mod was removed from the Workshop, or it failed to download. After the timeout the server lets players in anyway and lists the pending ids in the log, so fix or remove that entry and restart.

Server plugins

Besides Workshop mods, Puck can load plugins, which are the same kind of .NET assembly but installed by hand instead of from the Workshop. They are aimed at mod developers and private server side tools. The game loads them from a Plugins folder. Only install plugins from people you trust, because a plugin has full access to the server process.

How players get the mods

Players do nothing special. When they connect to a modded server, Puck shows the list of required mods with their Workshop details, downloads them and joins. In the Server Browser, modded servers can be hidden with the Show modded filter, so tell your players to leave it on if they cannot find you. Players can also manage installed mods from the Mods menu on Puck's main menu.

Without naming specific versions that change often, the server side mods Puck communities use most are:

  • Welcome messages and custom MOTDs.
  • Extra chat commands and stat tracking for leagues.
  • Practice tools, like puck spawning and drills, for training servers.

A good habit is to run new mods on a quiet evening first, with a backup taken, before a league night depends on them. Keep a short list in your Discord of which mods the server runs and why, so other admins know what each entry in the mods list does.

Check each mod's Workshop page for the current build it supports, since Puck updates can break mods until their authors update them.

Updates and broken mods

After a Puck update, a mod built for the old version can fail to load or break the server. If the server misbehaves after a patch, set the newest mods to "isEnabled": false one at a time and restart to find the culprit, then check the mod's Workshop page for an update.

Mods on GamezServers

On a GamezServers Puck server, open Files, edit server_config.json and restart. Your mods list is kept when the server updates or reinstalls. Take a Backup before big changes so you can roll back in one click. Plans start at 2.99 USD a month, and the quick start guide shows the steps. For every other key in the file, see Puck server config explained.

Skip the setup. Your own Puck server.

$1.49USD first month

Then $2.99/mo. Just trying it? $0.75 for 3 days

Keep reading