Overview
A walkthrough for how to create a basic multiplayer mod for Source Engine 2013
Video Version of this Tutorial
Don’t feel like reading or need a visual aid? Here’s a video
Join us on Discord! [link]
Things You Will Need to Download
- The source code for 2013 off of GitHub. Link to Page[github.com] Direct Link to the Zip file[github.com]
- Notepad++[notepad-plus-plus.org] is great for looking at text files (.cfgs, .txt, etc)
NOTE: Default notepad has some issues when looking at files like gameinfo.txt the formatting is kind of off. It’s still usable but I highly recommended notepad++ so you dont have to deal with it.
- Multibyte MFC library[www.microsoft.com] (install this AFTER visual studio 2013)
- Source SDK base 2013 Multiplayer
- Visual Studio 2013 Community Edition
This will take a bit of work now that Microsoft has moved on to newer versions but not much. Go here: [link] and scroll down to 2013 and click download then sign in with a Micrsoft Account (it’s free). Here is a step by step image walk through
VISUAL STUDIO 2015, 2017, and 2019 DO NOT WORK DO NOT USE EITHER , but if you are experienced you know how to just use the 2013 compiler.
Once you have installed both Source SDK base 2013 Multiplayer and visual studio 2013 + MFC run both to make sure they launch before continuing.
Setting Up the Project Folder
Choose a location you want for your mod source files to be. This will serve as the location that you will keep all your files both WIP and final. This includes but isn’t limited to maps, models, sounds, textures, scripts, code, etc.
Once you’ve picked out a spot create a new folder and name it your mods name.
Open up the source-sdk-2013-master.zip and navigate to source-sdk-2013-mastermp and copy both “game” and “src” into your folder.
NOTE: There can’t be any spaces at all in the file path, I suggest putting it at the top of one of your drives
Example: C:/modname/src/
Compiling the Code
Inside of the src folder find and run “creategameproject.bat” this will then create the project file “games.sln”
Launch Visual Studio 2013 and open the games.sln project file.
Right click on “Solution ‘games'” and go to properties.
Choose Configuration Properties then click Configuration Manager
For the Active Solution configuration choose Release
Click Close, then OK.
Right click on the games solution again but this time choose “Rebuild Solution”. Wait for it to compile. If you did everything correctly you should get no errors. If you get an error debug it like you normally would, if you have never really coded before this means google the error and try and figure out why it broke on your own. Yes this might mean spending thirty minutes to an hour to figure out what broke. If you can’t figure it out and you have put a good amount of time into trying to do it on your own post on the forums as well as other places like stack overflow.
Setting Up the Mod Folder
Navigate to Steamsteamappssourcemods and create a folder for your mod.
Go to your project folder and navigate into the game/mod_hl2mp folder.
Copy the gameinfo.txt, maps folder, and scripts folder from the mod_hl2mp folder into your mod folder.
Navigate to SteamsteamappscommonSource SDK Base 2013 Multiplayerhl2mp and copy the cfg folder, custom folder, and resource folder into your mods folder.
In your mods folder create a bin folder, materials folder, models folder, and sound folder.
The gameinfo.txt [IMPORTANT]
The gameinfo.txt is a very important file for your mod. It’s what tells the engine what to call your mod in steam, the title to use on the main menu, what kind of mod it is, and most importantly what files to mount.
First thing you need to do upon opening it up is select everything and delete it. Then copy paste in the new text from either pastebin [pastebin.com]or ghostbin[ghostbin.com]
Now then if you want to mount additional content from a game like Counter-Strike: Source this is the file you do it in. Follow Valves example, in the case of CSS it would look like:
The bin Folder
The bin folder is where your client and server .dll files will go from your compiled code
Navigate to srcgameclientRelease_mod_hl2mp and copy the client.dll and paste it into the bin folder located in your steamappssourcemodesmodname
Same thing for server.dll
You’re Done!
Restart Steam and your mod should now show up in your Steam library.
If you want to compare here’s a finished version.[drive.google.com]
If you found this tutorial helpful and have $3 to spare I would love your support!
Support Me on Ko-fi[ko-fi.com]
Additional Notes
When people ask questions in the comments I’ll update with answers here as well so that others don’t run into similar issues 😃
This often means you have renamed the mod folder but haven’t yet restarted Steam. Steam is still looking for the original folder.
Additional Resources
Looking for some more resources regarding setting up your mod?
[link]Be sure to check out [link] for basically anything you need to know.
Keep in mind a lot of these haven’t been update in a log time so use common sense when reading.
- Adding more console commands and cvars
- How to make icons for your mod
- Soundcaches
- Adding a logo to the main menu
- Changing the game UI
- Changing game menu items
- Adding Fonts
- HUD Elements
- HudLayout
- Adding VGUI to an entity
- Adding a L4D like glow around entities
- Golden Eye Source GitHub[github.com]