Client mount fix:
Note: This only has to be done once, unless you have to reinstall all of your games, or there is a big update from Valve.
Go to the following paths, and extract the VPKs that has each folder to the same folder. You need GCFScape to open it. Open the ones that ends as _dir, since the other VPKs are just data (example: In Steamapps\Common\Half-Life 2\lostcoast, extract lostcoast_pak_dir contents in the same place, in the lostcoast folder):
Code: Select all
Steamapps\Common\Counter-Strike Source\cstrike
Steamapps\Common\Day Of Defeat Source\dod
Steamapps\Common\Half-Life 2\hl2
Steamapps\Common\Half-Life 2\hl1
Steamapps\Common\Half-Life 2\episodic
Steamapps\Common\Half-Life 2\ep2
Steamapps\Common\Half-Life 2\lostcoast
Now go to Steamapps\Common\Source SDK Base 2007 and delete the hl2 and episodic folders that are there, since they will get replaced.
Make the symlinks of the previous folders to this one, by running CMD with admin rights (The following paths are the common one for the default installation paths on a 64 bit machine. Change the paths if you installed Steam on another place):
Code: Select all
mklink /D "C:\Program Files (x86)\Steam\SteamApps\common\Source SDK Base 2007\hl2" "C:\Program Files (x86)\Steam\SteamApps\common\Half-Life 2\hl2"
mklink /D "C:\Program Files (x86)\Steam\SteamApps\common\Source SDK Base 2007\hl1" "C:\Program Files (x86)\Steam\SteamApps\common\Half-Life 2\hl1"
mklink /D "C:\Program Files (x86)\Steam\SteamApps\common\Source SDK Base 2007\episodic" "C:\Program Files (x86)\Steam\SteamApps\common\Half-Life 2\episodic"
mklink /D "C:\Program Files (x86)\Steam\SteamApps\common\Source SDK Base 2007\ep2" "C:\Program Files (x86)\Steam\SteamApps\common\Half-Life 2\ep2"
mklink /D "C:\Program Files (x86)\Steam\SteamApps\common\Source SDK Base 2007\lostcoast" "C:\Program Files (x86)\Steam\SteamApps\common\Half-Life 2\lostcoast"
mklink /D "C:\Program Files (x86)\Steam\SteamApps\common\Source SDK Base 2007\cstrike" "C:\Program Files (x86)\Steam\SteamApps\common\Counter-Strike Source\cstrike"
mklink /D "C:\Program Files (x86)\Steam\SteamApps\common\Source SDK Base 2007\dod" "C:\Program Files (x86)\Steam\SteamApps\common\Day of Defeat Source\dod"
After that, your OC should be able to mount again the content of the games. Don't forget to check the mounts at the mod!
Illustrated version of the above:
(We only show how to do it with one _dir file of the HL2 folder):





Don't forget to check the mounts at the mod!
How to make an OC server with SteamPipe:
First get SteamCMD from here.
Place SteamCMD on a different folder where you wanna put the server.
With CMD running on admin powers, run SteamCMD so it can update. Once updated, type quit.
Now is time to download the games to mount at the server. The games must to be downloaded ON THIS ORDER:
- 220 - Half-Life 2
- 380 - Episode 1
- 340 - Lost Coast
- 420 - Episode 2
- 280 - Half-life source
- 240 - Counter-strike source
- 300 - Day of defeat Source
- 310 - Source 2007 Dedicated Server
At the same CMD window, type the following commands following this structure:
SteamCMD +login steamusername steampassword +force_install_dir pathtotheocserverfolder +app_update appid validate +quit
Your commands must look like the following:
Code: Select all
SteamCMD +login yoursteamlogin yoursteampass +force_install_dir pathoftheserverfolder +app_update 220 validate +quit
SteamCMD +login yoursteamlogin yoursteampass +force_install_dir pathoftheserverfolder +app_update 380 validate +quit
SteamCMD +login yoursteamlogin yoursteampass +force_install_dir pathoftheserverfolder +app_update 340 validate +quit
SteamCMD +login yoursteamlogin yoursteampass +force_install_dir pathoftheserverfolder +app_update 420 validate +quit
SteamCMD +login yoursteamlogin yoursteampass +force_install_dir pathoftheserverfolder +app_update 280 validate +quit
SteamCMD +login yoursteamlogin yoursteampass +force_install_dir pathoftheserverfolder +app_update 240 validate +quit
SteamCMD +login yoursteamlogin yoursteampass +force_install_dir pathoftheserverfolder +app_update 300 validate +quit
SteamCMD +login yoursteamlogin yoursteampass +force_install_dir pathoftheserverfolder +app_update 310 validate +quit
After downloading the games, go to your server folder and delete the following on it:
drivers folder, hl1_hd folder, resources folder, sourcetest folder and hl2.exe
Now, go into each folder of the downloaded game, and extract the VPKs that has each folder to the same folder. You need GCFScape to open it. Open the ones that ends as _dir, since the other VPKs are just data (example: In Steamapps\Common\Half-Life 2\lostcoast, extract lostcoast_pak_dir contents in the same place, in the lostcoast folder). But don't extract the bin and platform folders. Also, do not extract the VPKs that are at the platform folder at the root server folder.
After that, go and delete the maps hl2/maps/d2_coast_02.bsp and hl1/maps/c4a1y.bsp, since they aren't used and give problems on server load.
Next step is installing OC. Run the installer, select the server option without checking the sourcemod option (since it's obsolete), and select to install at any folder different of the server folder. When it finished, grab the obsidian folder, and drop it at the root of the server folder (so is along with the hl2, episodic and the rest of folder games). After that, download and install the SERVER hotfix.
Go to the website of Metamod: Source and download the last version.
You will have to extract the files and put them at the obsidian/addons folder (don´t confuse with the add-ons folder, that is where the files of the mounted content are).
Now, go here and generate a .VDF file. It must look inside like this:
Code: Select all
"Plugin"
{
"file" "../obsidian/addons/metamod/bin/server"
}
Visit the Sourcemod homepage and download the last version.
Put the addons and cfg folders inside the obsidian folder.
Download the Sourcemod extension for Obsidian Conflict here.
Replace master.games.txt and make it read-only, or you will have crashes when the server gets loaded.
In case you installed the SM extension while installing OC, go to sourcemod/gamedata and do the following:
- In core.games, delete the custom folder.
- In sdktools.games, delete the custom folder.
Go to addons/metamod/metaplugins.ini and add at a new line the following command so it can load Sourcemod:
Code: Select all
sm addons/sourcemod/bin/sourcemod_mm
Since Metamod only needs to be put inside the addons folder and have their .VDF file to be loaded automatically by the server, you only need to configure Sourcemod.
To add admins, go to addons/sourcemod/config and open admins_simple.ini. Make yourself as admin of the server by adding a new line, and writing "your steam ID" "99:z".
In order to know your Steam ID, go into any Source game/mod, type at console STATUS (after loading a map), and copy it.
If you want enable rtv, nominations and more, go to addons/sourcemod/plugins/disabled, and move them outside of that folder (to /plugins).
To configure the different options that have Sourcemod, go to /cfg/sourcemod and open sourcemod.cfg.
NOTE: The options of the different plugins that have/will load Sourcemod like rtv, only will appear after start the server and load both Metamod and Sourcemod.
Move to obsidian/cfg, make a copy of server_default.cfg, and name it server.cfg.
Go to this page, copy and replace the server.cfg with it.
Edit the ip, port, rcon_password, sv_contact, sv_download url, sv_tags, motdfile and motdurl parts as your needs.
- IP obviously is the IP to host on.
- port is the port to host on (maybe is not needed to be modified).
- rcon_password is for admin security.
- sv_contact is to find out who to speak to if there's any problems.
- sv_downloadurl is used for the FastDL system hosted on a web server.
- sv_tags give allows you to specify what things the server has.
- motd file is the message of the day of course.
- motdurl links to a web based motd file.
There are three ways to start the server:
- With ServerDoc:
Get ServerDoc, it allows to automatically restart servers that crashed.
Place it on their own folder, preferably outside of your server folder, since it creates some files. Ignore an unsafe notice pop-up in case you get it.
Run the program. At the text input, write (example):Go to Menu->start.Code: Select all
c:\ocsteampipe\srcds.exe -console -condebug -game obsidian +maxplayers 8 +map oc_lobby +hostname "(SteamPipe) Test Server"
The SRCDS window should appear (not if you didn't put the -console command), showing all the information related with the server. From this moment, ServerDoc will take care of the server.
To stop the server, go to ServerDoc, menu->stop (if you close the SRCDS window instead, ServerDoc will think that it crashed, restarting the server).
Extra information about ServerDoc:
The only types of crashes that it can't reboot against is if the server console window has frozen.
Also the free version expires every month or 2 so you just need to download the new one and paste again your launch command line in. - CMD way:
Open a command window and run the following command (example):
The SRCDS command window should appear.Code: Select all
c:\ocsteampipe\srcds.exe -console -condebug -game obsidian +maxplayers 8 +map oc_lobby +hostname "(SteamPipe) Test Server"
To stop the server, just close the SRCDS window. - GUI way:
The least used since the GUI uses more resources. Run srcds.exe, and set it as you want. For more info look here.
Ignore the following messages that can appear at the server console while loading:
- Unknown command sv_rollangle
- MySQL server failed to connect message to the Master OC server
- Error warnings about gameserver.cpp (682)
- Messages about updated sdkhooks files
- Unknown command mat_bloom_scalefactor_scalar, cant use cvar snd_obscured_gain_db and the mat_dxlevel doesnt point into an exisiting convar?
- Messages about doesnt recognize from the cfg net_compresspacket_minsize, mp_respawnwavetime, sv_forcepreoloadall and mp_teams_unbalance_limit.
- Messages about func_door entity.
- Messages about soundscapes.
- Messages related to Steam just before the line "VAC is enabled".
Extra information about the command parameters used at the examples:
- -console: Makes appear the SRCDS command window.
- -condebug: Allows you to debug the server more effectively, since it logs all console output into the console.log text file.
- -game: Defines the game/mod loaded, on this case is OC.
- +maxplayers: Indicates the maximum number of players that can host the server.
- +map: Changes to the indicated map as soon as the server is loaded.
- +hostname: The name of the server that will be show at the server browser.
Also it could be useful this article about optimizing a dedicated server.