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
idmust 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, notIsEnabledorenabled. Builds from 2025 usedenabledandclientRequired, 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.
Popular kinds of server mods
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.
Then $2.99/mo. Just trying it? $0.75 for 3 days