Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /hermes/bosnaweb03a/b2361/ipw.synergymod/public_html/synergymod/index.php on line 38

Deprecated: Function ereg() is deprecated in /hermes/bosnaweb03a/b2361/ipw.synergymod/public_html/synergymod/pages/Documents.php on line 13

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /hermes/bosnaweb03a/b2361/ipw.synergymod/public_html/synergymod/smarty/Smarty_Compiler.class.php on line 270
Synergy - Documentation: Dedicated Servers
Download via Steam for Free!

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /hermes/bosnaweb03a/b2361/ipw.synergymod/public_html/synergymod/smarty/Smarty_Compiler.class.php on line 270
Synergy Documentation

Documentation: Dedicated Servers

Server Installation

All you need to do is follow the instructions below, and you should have your server up and running in no time! (provided you have a decent downloadload rate). This documentation is targeted towards the Windows platform.

  1. Download SteamCMD for your platform: Windows | Linux (Not yet fully supported by Synergy)
    • Extract steamcmd.exe where you wish to run your servers (e.g. C:\SRCDS\steamcmd.exe or C:\SRCDS\SteamPipe\steamcmd.exe if you already have a hldsupdatetool servers set up, best to keep them separate.)
    • Run steamcmd.exe. This will download some files.
    • SteamCMD is now installed!
  2. Download Synergy and other games you wish to mount.
    With SteamCMD up and running, login with an account that owns Half-Life 2 by typing login USERNAME PASSWORD
    Now download all necessary games by typing app_update APPID
    Replace APPID with the games you wish to support. . .
    • 17520 Synergy (required)
    • 220 Half-Life 2 (required)
    • 380 Half-Life 2: Episode One
    • 420 Half-Life 2: Episode Two
    • 340 Half-Life 2: Lost Coast

    Note: Do not use force_install_dir unless you know what you're doing (see Serach Paths below)

    Review the SteamCMD documentation as needed.

    If you wish to download more games for your server, please refer to the Steam AppID List.

    Vist Synergy's Store page or Synergy's in-game GameList for a compressive list of officially supported games.

    By default: after the games finish downloading, they will reside within \steamapps\common\

  3. Example Server Install Commands

    login USERNAMEE PASSWORD app_update 17520 app_update 220
  4. Search Paths (For non-default install locations)
  5. It is strongly recommended to install Synergy in the default location to minimize potential errors and minimize setup time.

    Synergy Dedicated Servers assume both Steam and SourceMod games will be in Synergy's parent directory. If this is not the case, (e.g. overriding the install directory via force_install_dir) then -includepath must be added as a srcds launch paramater. Note that this is different from Synergy's pre-SteamPipe setup (mid 2013)

    -includepath ""

    Example default directory structure

    steammapps\common\Synergy (I am here!) steamapps\common\ (I'll look in here for mounted games!)

    Example overridden directory structure via -includepath "."

    steammapps\common\Synergy (I am here!) steamapps\common\Synergy (I'll instead look in here for mounted games!) Review SteamContent.manifest located in /synergy for details on folder and path names that Synergy uses to search for. Example, Synergy looks for ../Half-Life 2/hl2 for Half-Life 2 content.

    Synergy is not a stand-alone mod and is dependent on Half-Life 2 content to launch. If you have Synergy installed in a non-default location you must edit "Loose files" section in gameinfo.txt to the correct path to Half-Life 2/hl2

    Here is the default gameinto.txt section, edit these paths to reflect the proper location of these files. platform "|gameinfo_path|../../Half-Life 2/platform/platform_misc.vpk" platform "|gameinfo_path|../../Half-Life 2/platform" game "|gameinfo_path|../../Half-Life 2/hl2/hl2_misc.vpk" game "|gameinfo_path|../../Half-Life 2/hl2/hl2_pak.vpk" game "|gameinfo_path|../../Half-Life 2/hl2/hl2_sound_misc.vpk" game "|gameinfo_path|../../Half-Life 2/hl2/hl2_sound_vo_english.vpk" game "|gameinfo_path|../../Half-Life 2/hl2/hl2_textures.vpk" game "|gameinfo_path|../../Half-Life 2/hl2" Example: You may use absolute paths platform "D:/Steam/steamapps/common/Half-Life 2/platform/platform_misc.vpk" platform "D:/Steam/steamapps/common/Half-Life 2/platform" game "D:/Steam/steamapps/common/Half-Life 2/hl2/hl2_misc.vpk" game "D:/Steam/steamapps/common/Half-Life 2/hl2/hl2_pak.vpk" game "D:/Steam/steamapps/common/Half-Life 2/hl2/hl2_sound_misc.vpk" game "D:/Steam/steamapps/common/Half-Life 2/hl2/hl2_sound_vo_english.vpk" game "D:/Steam/steamapps/common/Half-Life 2/hl2/hl2_textures.vpk" game "D:/Steam/steamapps/common/Half-Life 2/hl2"

  6. Mount the games.
  7. Synergy must know what games need to be mounted, add the game tags to your "mount.cache" file (which exists in the "Synergy\synergy" directory, create it if it does not exist).

    Example "mount.cache" file: hl2 ep1 ep2
      Some of Synergy's game tags
    • hl2 - Half-Life 2
    • ep1 - Half-Life 2: Episode One
    • ep2 - Half-Life 2: Episode Two
    • lost - Half-Life 2: Lost Coast
    • hl1 - Half-Life: Source
    • meta - MINERVIA: Metastasis
  8. Launching your server.
  9. Example launch paramaters: srcds.exe -console -game synergy -port 27015 +map d1_trainstation_01 -nocrashdialog -insecure -nohltv +exec forked_1.cfg -console: Start the server in console mode, not GUI (recommended)
    -game synergy: Set the game to synergy.
    -port x: Set the port (forwarded) this server will use (default: 27015).
    +map: Map to start on (d1_trainstation_01 is the first level of Half-Life 2).
    -nocrashdialog: supress error dialogs.
    -insecure: is currently required during our trainsition to SteamPipe.
    -nohltv: disable SourceTV (disables SourceTV port).
    +exec: execute this custom cfg file (synergy/cfg)

    Third-Party Server Providers

    Depending on how providers set up their server environments, most of them may need to add -includepath as a srcds.exe launch parameter to correct the search path that Synergy uses to try to find games to mount.

    Your client's setup should look something like this // root directory for client ..\xxx.xxx.xxx.xxx_port_xxxxx\ // Synergy's files ..\xxx.xxx.xxx.xxx_port_xxxxx\bin ..\xxx.xxx.xxx.xxx_port_xxxxx\hl2 ..\xxx.xxx.xxx.xxx_port_xxxxx\platform ..\xxx.xxx.xxx.xxx_port_xxxxx\synergy ..\xxx.xxx.xxx.xxx_port_xxxxx\srcds.exe // Half-Life 2 install ..\xxx.xxx.xxx.xxx_port_xxxxx\Half-Life 2\

    This is fine however, by default Synergy searches for games in its parent directory. This is not viable due to it being outside of the client's root directory.

    To correct this we need to change where Synergy looks for games. . . -includepath "."

    This forces Synergy to search it's own root directory for mountable games (how it worked before SteamCMD)

    Now your client can mount any games within the Synergy root installation directory, and have access to the files they're mounting.

Forked Servers

Synergy has limited support for forked servers, all you must do is change sv_savedir to a unquie directory per server so the game save files do not overwrite one another.
Follow us on Twitter!