Left 4 Dead 2

Left 4 Dead 2

Not enough ratings
Server addon vs client addon
By Nescius
Quick simplified explanation of addons on the workshop based on when they will work properly
   
Award
Favorite
Favorited
Unfavorite
Introduction
Purpose of this guide is a quick simplified explanation of addons on the workshop based on when they will work properly.
Terminology
Trying to keep it as simplified as possible

Server - server runs the logical part of the game i.e. how the objects in the game move, where zombies spawn, what they do when shot, damaged, what hud should be active and visible or what is the name of the sound file to play at a certain location etc. and relays this information to clients

Clients - Gets information from server, takes care of rendering of the objects, playing the sound file specified by the server, printing text or rendering the hud on the screen

local server - if somebody starts a game from their machine by choosing the "local server" option they are both server and clients, and the people connected to their game are just clients. (also called listen server)

dedicated server - In your library tool section you'll find "Left 4 Dead 2 dedicated server". This can be used to run purely the server and other people (including you) can connect to it
Server addon
If addon is a server addon it means it needs to be only on the server (so either local server or dedicated server) and clients connected to it don't need to have it.

For example any purely vscript addons or navmesh addons because clients don't do anything with that.
Client addon
Addon that replaces sounds, particles, models or hud only affect the client. The client plays the sound or renders the models or hud after all. Each player connected to a server can have their own stuff for these.
Server/Client addon
Certain addons are needed to be on both sides to work correctly.

Campaigns and mutations are most common server/client addons because every mutation must contain a mode definition file which is run by both server and clients and campaigns obviously have the whole map, models, sounds used in it etc.

A vscript addon can also behave this way if it's spawning a new model or trying to play new sound therefore the connected clients must have the model it tries to spawn or sound it wants to play to see or hear them.
Conclusion
So if you download a server addon and connect to some random game don't expect its effects to take place.

Similarly if you put client addon on your server don't expect other people to see what you see.

And if you use addons that are both and let people connect to you they will see errors or not hear sounds so you should probably play with sv_consisteny 1 in that case so that only people that have such addon can connect or the addon should have been a mutation in the first place.

If you read this far of this low effort guide consider donating your kidney so I can sell it on black market.
3 Comments
Nescius  [author] May 25 @ 7:43am 
If a vscript spawns new models on server that clients don't have then clients will see them as errors. Such mod needs to be on both sides for proper results
Jakiy May 24 @ 11:55pm 
How to know if the mod is truly client or server-sided? Some of the textures like skyline however uses scripts for no good reason so it's still considered server-sided right? And also some of the textures appear as ERROR red text for others despite were supposed to be cosmetic only.
Lancer May 23 @ 8:40am 
Eh, already got 1 kidney left sadly