Obsidian Conflict

Obsidian Conflict

Not enough ratings
Official Obsidian Conflict Listen- and Dedicated Server guide
By Obsidian Conflict and 1 collaborators
How to set up a local or dedicated server, for Obsidian Conflict.
   
Award
Favorite
Favorited
Unfavorite
Pre-requisites
You need to port forward the following ports on your Router / Firewall[portforward.com] in order to host a server:

  • TCP: 27015 ( RCON, not needed for Listen Server )
  • UDP: 27015, 27020 ( The latter used for SourceTV )

Note: those are the default ports for the SRCDS and SourceTV. If you changed these ports, you should open them instead.

If by any chance you still have trouble with opening ports, follow this guide: https://help.steampowered.com/en/faqs/view/2EA8-4D75-DA21-31EB

The recommended maximum number of players in OC is 8. Server admins might choose to run higher numbers, at risk of causing an ed_allocs crash on some official mod maps.
Listen server
You need to install HL2, EP1, EP2, LC, HLS and CSS, in order for OC to mount their content.
Of course, one can install more games, if their content is going to be mounted on custom maps.

Find your public IP[whatismyipaddress.com]. You can also use the command status in the console for it.

Launch the mod, and click “Create a Server”. Proceed to configure the fields as you wish, then click “Create”.

Once the map finishes loading, type on the console the following:

  • sv_lan 0 ( you can add it to autoexec.cfg if desired as well, to skip this step )
  • ip YourPublicIPHere ( you can also use -ip at the launch parameter, to skip this step )
  • changelevel oc_lobby

The listen server needs a change level / map reload, in order to apply the settings.

The heartbeat command is no longer needed, as OC runs on the latest Steamworks API version, which deprecated it.

If, by any chance, you need to use a different port than the default 27015, you need to change it by typing port NewPortHere. Source will pick automatically the next port available if 27015 is already in use, by the way.

Your friends can connect to your listen server now, by either:
  • Server Browser -> Internet tab
  • Typing on the console connect YourPublicIPHere ( if you changed the port, it must be YourPublicIPHere:NewPortHere )
  • Steam or Discord invites
Dedicated server
Create a folder for SteamCMD, for example in C:\Program Files (x86)\SteamCMD

Download SteamCMD for Windows
or
Download SteamCMD for Linux ( Linux native currently not supported )

and extract the contents into the created folder

Download this batch file[obsidianconflict.net], edit “UpdateToolPath” to the path where you placed SteamCMD, and make it run.
You will be prompted to insert your Steam login and pass when using this.
This will automatically download and set up all needed games ( HL2, LC, EP1, EP2, HLS, CSS ). Server admins might edit this, in order to download other games, if they desire to mount them as well.

Now, download this other batch file[obsidianconflict.net], place it where srcds.exe is present, edit “UpdateToolPath” as well, and run it.
This one will finish the setup by downloading OC, and making the final adjustments. This batch will also be used to start the server later, as well as keeping it updated.

Check and configure the <install path>/cfg/server.cfg file as you need ( you can get either the _default version inside oc_misc_dir.vpk, or wait for the server to auto generate one on the first run ).

Finally, you need to get a Game Server Login Token ( GSLT ) for your server. GLST’s allows you to favourite the server when their IP changes ( if OC enforces the option ):
  • Open the Steam Game Server Account Management page
  • For each server that you are running ( one GSLT per server ):
    1: Enter game ID 17750
    2: Enter a memo ( a note for your reference, for example “OC Server” )
    3: Click create
  • Copy the generated token, and apply it to the launch parameters of your server, like this: +sv_steamaccount 1234567890FAKELOGINTOKEN
Now, you can launch your server by simply running steam-run-server.bat every time. This batch file will also auto launch your server in the case of a crash, by the way.
FastDL config
Setting up FastDL for your server will allow clients to quickly download any custom files, as the default method used by Source is very slow ( approximately 20 kB/s ) and cannot be compressed. By contrast, FastDL will use an external web server that allows far greater download speed, and additionally allows the use of BZip2 compression.

In order to use this method, you will need to either run a web server or have third-party web hosting available to use.


First, use 7-Zip[www.7-zip.org] to compress the individual files you want clients to download, into the BZ2 format. This should be done to all files sent by the server to players - maps, materials, sounds, etc. You only need to include these .bz2 files in your download server, but it does not hurt if you include the original file too. The game client will attempt to download a .bz2 version of the file, followed by the original if unavailable.


Head over to your webspace. You need to create a root folder, where the structure of your files will be downloaded from. Go to your root ( sometimes called “wwwroot” or “public_html” ), and create a new folder called “oc”.
Make sure the folder has correct permissions, so clients can access and download them.

Upload the files into your webspace.
These have to be in a similar structure as in the mod ( for example “yourHostname/wwwroot/oc/maps/” or “yourHostname/wwwroot/oc/sound/misc/” )

Note: There are scripts / plugins to automate the above.

Go to your cfg/server.cfg, and add the following:
  • sv_downloadurl "http://yourWebhosthere/oc/"
  • net_maxfilesize 100 (you can raise this if needed, but 100mb is enough for most downloaded files)
  • sv_allowdownload 1

Restart the server or change the map to apply the server.cfg.

If you have correctly set up FastDL then your players should be able to download the files much faster now, as this approach offloads the download to the webserver and allows compression (via BZIP2).
Workshop addon / collection configuration (WIP)
TODO: Add specific OC info
Recommended server tools / scripts / Sourcemod plugins