From AlliedModders Wiki
Jump to: navigation, search

This section assumes that you're starting out with nothing besides a desktop computer, an internet connection, and a drive to program some SourceMod plugins. No programming experience; no problem.

This page will walk you through manually installing server software for a game of your choice, installing SourceMod, and selecting a text editor to use for development.

There are a number of other third-party tools that can automate most of these steps, but we'll take the long way here so you understand exactly what goes on. If you are using a third-party tool to manage your server installation, refer to the tool's documentation for their instructions, then skip to Installing SourceMod to download the scripting toolchain for your desktop operating system.

Installing the Server

Note:While officially unsupported, SourceMod may be loaded on a game client (the game you launch); the server a game client creates is known as a listen server. However, there are many behavioral quirks that can only be reproduced on a listen server. It's highly recommended to stick to installing SourceMod on dedicated game server instances to ensure that any plugins you write will have the correct behavior.

To install the server software for the game of your choice, we will use steamcmd. If a game server provider (GSP) is hosting the server for you, skip this step.

steamcmd is Valve's command-line Steam client. It is used to install and update dedicated game servers.

Refer to the SteamCMD section in the Valve Developer Wiki for download instructions. This varies on the operating system you're running the software on; you can either work on your own desktop or have a hosted (physical or virtual) machine off-premises.

Once steamcmd is extracted, you will need to install a game. Continue reading the above wiki page to run the application, sign in (anonymously), and download your game server.

For your convenience, the following dedicated Source servers use the given Steam AppIDs (note that they are different from the game client AppIDs):

  • Day of Defeat: Source: 232290
  • Team Fortress 2: 232250
  • Counter-Strike: Source: 232330
  • Counter-Strike: Global Offensive: 740
  • Left 4 Dead: 222840
  • Left 4 Dead 2: 222860
  • Half-Life 2: Deathmatch: 232370

For post-install server configuration, take a look at the Game Server Configuration page.

Installing Metamod:Source

Before you can install SourceMod on your server, you must first download and install Metamod:Source. Metamod:Source (MM:S) acts as a middleware for different Source Engine games, providing a unified interface for plugins to operate on the game.

SourceMod itself is an MM:S plugin.

  1. Download Metamod:Source. In most cases, you want a stable release. Use the download package according to your server's operating system.
    • If the latest download is unavailable, go down the "Latest 20 Builds" until you get to one that is.
    • Again, make sure you're downloading the correct package for your server; if you're using a hosted instance, it may not be using the same operating system as your personal desktop.
  2. Copy the contents of the archive into your game's mod directory (one level below srcds.exe or srcds_run; the mod directory should contain steam.inf). You may need to extract the archive and / or upload the contents to the remote server.
Note:On server startup, you may see an error message Unable to load plugin "addons/metamod/bin/${platform}64/server". This is normal behavior; the game server will always attempt to load both 32-bit and 64-bit binaries and fail on the one that doesn't match. If you're sure that you're not running a 64-bit game server instance, you can delete addons/metamod_x64.vdf to only load the 32-bit version, or the other way around.

Installing SourceMod

The following is mostly lifted from the Installing SourceMod page.

  1. Download SourceMod. Same as before; latest available stable release for your server's operating system.
  2. Copy the contents of the archive into your game's mod directory (one level below srcds.exe or srcds_run; the mod directory should contain steam.inf).

If you plan on creating new plugins, you will also want to download SourceMod for your desktop operating system and extract the addons/sourcemod/scripting/ folder to a location on your computer.

Picking an IDE

Now that you have the game server and SourceMod installed, you have most of the tools you need.

If you've never done any programming, you'll need a text editor. It's completely possible to write code in plain old Notepad and invoke the compiler directly, but having a proper development environment makes it much easier to work with code.

The following editors are known to have good support for SourceMod plugins:

  • Spider (highly recommended when starting out due to it being zero-install; once you have multiple projects, move on to one of the non-web text editors)
  • BasicPawn
  • Notepad++
  • SPEdit
  • Sublime Text 3
  • Visual Studio Code (VSCode)

For more details on each editor and, if necessary, how to set it up for writing SourceMod plugins, look at the Development Environments section of the guide.

Once you've settled on a development environment, you can start learning how to create plugins — head over to the Basics section of the guide to get started.