Difference between revisions of "Dedicated Server Setup 2"
m |
|||
Line 5: | Line 5: | ||
==Prerequisites== | ==Prerequisites== | ||
− | * A basic understanding of filesystem paths, and the different path representations between Windows and *nix (i.e. <tt>\</tt> in Windows is the same as <tt>/</tt> in UNIX[-like] operating systems). | + | * A basic understanding of filesystem paths (i.e. <tt>orangebox/hl2</tt> refers to the folder <tt>hl2</tt> ''inside'' <tt>orangebox</tt>, not both the folders), and the different path representations between Windows and *nix (i.e. <tt>\</tt> in Windows is the same as <tt>/</tt> in UNIX[-like] operating systems). |
* A basic understanding of the operating system's command-line interface (i.e. [[Wikipedia:Command Prompt|Command Prompt]] for Windows and Terminals for [[Wikipedia:GNOME Terminal|Linux]] and [[Wikipedia::Apple Terminal|Mac OS]]). | * A basic understanding of the operating system's command-line interface (i.e. [[Wikipedia:Command Prompt|Command Prompt]] for Windows and Terminals for [[Wikipedia:GNOME Terminal|Linux]] and [[Wikipedia::Apple Terminal|Mac OS]]). | ||
* A fast broadband connection (preferably one without a data transfer limit) to prevent premature aging waiting for the uploads to complete. | * A fast broadband connection (preferably one without a data transfer limit) to prevent premature aging waiting for the uploads to complete. | ||
Line 131: | Line 131: | ||
Campaign content is stored only in GCFs downloadable only via the Steam client, so be prepared to upload the extracted files to your server. You will need [http://nemesis.thewavelength.net/index.php?p=25 this application] in order to proceed. | Campaign content is stored only in GCFs downloadable only via the Steam client, so be prepared to upload the extracted files to your server. You will need [http://nemesis.thewavelength.net/index.php?p=25 this application] in order to proceed. | ||
− | Things are a little easier for Windows server operators since they can simply install Steam on | + | Things are a little easier for Windows server operators with Remote Desktop access to their servers since they can simply install Steam on their servers and do everything directly there. |
'''Note:''' The Obsidian Team might offer to copy the extracted GCF content onto servers via their Windows server to save upload time in future, in which case you can safely ignore this section. | '''Note:''' The Obsidian Team might offer to copy the extracted GCF content onto servers via their Windows server to save upload time in future, in which case you can safely ignore this section. | ||
Line 143: | Line 143: | ||
− | ===Half Life Deathmatch: Source=== | + | ===Half-Life Deathmatch: Source=== |
<div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | <div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | ||
− | '' | + | ''Incompatible at the time of writing.'' |
</div> | </div> | ||
Line 196: | Line 196: | ||
− | ===Portal=== | + | ==Additional Game Content== |
+ | '''Note:''' If you download any of the following (sans ''Portal'') using the ''HLDS Update Tool'' after downloading <tt>orangebox</tt>, <span style="color:red;">you will be forced to download a new set of engine binaries incompatible with the current release of Obsidian Conflict</span>. A telltale sign that this has occurred is when you see an engine error along the lines of ''SetupArrayProps_R: array prop '(null)' is at index zero'' or ''Host_Error: IDLLFunctions::DLLInit returned false'' when you try to start the server. To workaround that, simply rename the <tt>bin</tt> folder (inside <tt>orangebox</tt>) to something else (e.g. <tt>bin_se2007</tt>) '''before''' downloading the game's files. On completion, delete the newly created <tt>bin</tt> folder and rename the old one back to <tt>bin</tt>. | ||
+ | ===Counter-Strike: Source=== | ||
<div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | <div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | ||
− | + | {{Todo|Downloadable with the HLDS Update Tool, elaboration needed.}} | |
</div> | </div> | ||
− | == | + | ===Day of Defeat: Source=== |
− | |||
− | |||
<div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | <div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | ||
{{Todo|Downloadable with the HLDS Update Tool, elaboration needed.}} | {{Todo|Downloadable with the HLDS Update Tool, elaboration needed.}} | ||
Line 210: | Line 210: | ||
− | === | + | ===Portal=== |
<div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | <div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | ||
− | + | ''Incompatible at the time of writing.'' | |
</div> | </div> | ||
Line 218: | Line 218: | ||
===Team Fortress 2=== | ===Team Fortress 2=== | ||
<div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | <div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | ||
− | '' | + | ''Incompatible at the time of writing.'' |
</div> | </div> | ||
Line 224: | Line 224: | ||
==Downloading And Installing Obsidian== | ==Downloading And Installing Obsidian== | ||
<div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | <div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | ||
− | + | Copy the <tt>obsidian</tt> folder from a fresh install of Obsidian Conflict into your dedicated server's <tt>orangebox</tt> folder. | |
+ | {{Todo|Further elaboration needed.}} | ||
+ | </div> | ||
+ | |||
+ | |||
+ | ==Mounting Content== | ||
+ | Content mounts are controlled by a set of files in the <tt>obsidian/mount</tt> folder. Each file determines whether or not the respective game's content is mounted. These files are merely blank files without any extensions - their contents do not matter since the mod merely checks if the file is there, mounting the content if the file is present. | ||
+ | Valid file names are: | ||
+ | <div style="padding: 0.5em 1em 0.5em 1em; border: 1px dashed #2f6fab; color: black; background-color: #f9f9f9; line-height: 1.1em;"> | ||
+ | <tt>css</tt> | ||
+ | |||
+ | <tt>dod</tt> | ||
+ | |||
+ | <tt>ep2</tt> | ||
+ | |||
+ | <tt>episodic</tt> | ||
+ | |||
+ | <tt>hls</tt> | ||
+ | |||
+ | <tt>lostcoast</tt> | ||
</div> | </div> | ||
+ | {{Todo|Further elaboration needed.}} | ||
<pre style="color:grey">Still in progress, give me more time, will ya?</pre> | <pre style="color:grey">Still in progress, give me more time, will ya?</pre> |
Revision as of 15:46, 7 April 2011
This page was created since I can't update the one here. I'm still working on it (but don't have enough time to do it all at once), so it may seem incomplete. - TESLA-X4 12:01, 3 April 2011 (CEST)
Contents
- 1 Prerequisites
- 2 Base Server Install
- 3 Campaign Content
- 4 Additional Game Content
- 5 Downloading And Installing Obsidian
- 6 Mounting Content
Prerequisites
- A basic understanding of filesystem paths (i.e. orangebox/hl2 refers to the folder hl2 inside orangebox, not both the folders), and the different path representations between Windows and *nix (i.e. \ in Windows is the same as / in UNIX[-like] operating systems).
- A basic understanding of the operating system's command-line interface (i.e. Command Prompt for Windows and Terminals for Linux and Mac OS).
- A fast broadband connection (preferably one without a data transfer limit) to prevent premature aging waiting for the uploads to complete.
Note: At the time of writing, no binaries are publicly available for Linux and Mac OS.
Base Server Install
Step 1: Download The HLDS Update Tool
Download this file to a temporary location: http://www.steampowered.com/download/hldsupdatetool.exe
Adapted from http://www.srcds.com/db/engine.php?subaction=showfull&id=1098643920
In a Terminal (On Ubuntu: Applications → Accessories → Terminal) window, execute the following commands:
mkdir srcds_l
cd srcds_l
wget http://www.steampowered.com/download/hldsupdatetool.bin
Unavailable at time of writing.
Step 2: Install The HLDS Update Tool
Adapted from http://www.srcds.com/db/engine.php?subaction=showfull&id=1097362093
Double-click on hldsupdatetool.exe and follow the instructions given by the wizard.
For the purpose of this tutorial, we will assume that you have installed the server to c:\srcds.
Open a Command Prompt (Start → Accessories → Command Prompt) window and execute the following commands:
c:
cd srcds
hldsupdatetool
An updated version of hldsupdatetool will now be downloaded to replace the one installed by the wizard.
Adapted from http://www.srcds.com/db/engine.php?subaction=showfull&id=1098643920
In the same Terminal window as Step 1, execute the following commands:
chmod +x hldsupdatetool.bin
./hldsupdatetool.bin
./steam
An updated version of steam (the executable) will now be downloaded to replace the one extracted when you ran ./hldsupdatetool.bin.
Unavailable at time of writing.
Step 3: Download The Base Server Files
Adapted from http://www.srcds.com/db/engine.php?subaction=showfull&id=1097362093
In the same Command Prompt window as Step 2, execute the following command:
hldsupdatetool.exe -command update -game "orangebox" -dir .
A breakdown of the command:
hldsupdatetool.exe: The executable to run.
-command update: Omnipresent, never omit this.
-game "<game>": The set of files to download, specify list instead to see what can be downloaded.
-dir <directory|.>: The directory to install the files in, specify '.' to automatically use the directory hldsupdatetool is located in.
The base server files will now be downloaded. It will take a while, so don't go staring at the window waiting for it to complete. ;)
Adapted from http://www.srcds.com/db/engine.php?subaction=showfull&id=1098643920
In the existing Terminal window from Steps 1 and 2, execute the following command:
./steam -command update -game "orangebox" -dir .
A breakdown of the command:
./steam: The executable to run.
-command update: Omnipresent, never omit this.
-game "<game>": The set of files to download, specify list instead to see what can be downloaded.
-dir <directory|.>: The directory to install the files in, specify '.' to automatically use the directory steam is located in.
The base server files will now be downloaded. It will take a while, so don't go staring at the window waiting for it to complete. ;)
Unavailable at time of writing.
Step 4: Setting Up The Folder Structure
After Step 3 completes, you should end up with something like this:
hl2\
orangebox\
orangebox\bin\
orangebox\hl2\
orangebox\platform\
orangebox\reslists\
orangebox\hlds_steamgames.vdf
orangebox\srcds.exe
orangebox\steam_appid.txt
ClientRegistry.blob
HldsUpdateTool.exe
HldsUpdateTool_<tool version>.mst
InstallRecord.blob
.steam\
.steam\clientregistry.blob
hl2\
orangebox\
orangebox\bin\
orangebox\hl2\
orangebox\platform\
orangebox\reslists\
orangebox\hlds_steamgames.vdf
orangebox\srcds_linux
orangebox\srcds_run
orangebox\steam_appid.txt
hldsupdatetool.bin
InstallRecord.blob
steam
test1.so
test2.so
test3.so
Unavailable at time of writing.
Now, because Valve didn't set up the files properly on their server, you'll need to fix it yourself.
GUI Approach:
Delete the orangebox/hl2 folder and copy the hl2 folder (the one outside) in its place.
Command-Line Approach:
In the existing Command Prompt window from the earlier steps, execute the following commands:
rmdir /s orangebox\hl2
xcopy /s /e hl2 orangebox
In the existing Terminal window from the earlier steps, execute the following commands:
rm -R orangebox/hl2
cp -R hl2 orangebox
Unavailable at time of writing.
Campaign Content
Campaign content is stored only in GCFs downloadable only via the Steam client, so be prepared to upload the extracted files to your server. You will need this application in order to proceed.
Things are a little easier for Windows server operators with Remote Desktop access to their servers since they can simply install Steam on their servers and do everything directly there.
Note: The Obsidian Team might offer to copy the extracted GCF content onto servers via their Windows server to save upload time in future, in which case you can safely ignore this section.
Half-Life: Source
half-life source.gcf
Extract everything from the hl1 folder (in the GCF) to your dedicated server's orangebox/hl1 folder, creating the folder if it doesn't exist.
Half-Life Deathmatch: Source
Incompatible at the time of writing.
Half-Life 2
half-life 2 content.gcf
Extract the maps folder from the hl2 folder (in the GCF) into your dedicated server's orangebox/hl2 folder.
source 2007 binaries.gcf
half-life 2 2007 base content.gcf
For all of the above GCFs (in given order, with source 2007 binaries.gcf being extracted first and half-life 2 2007 base content.gcf being last), extract the hl2 folder (in the GCFs) into your dedicated server's orangebox/hl2 folder, overwriting if prompted to do so.
Half-Life 2: Lost Coast
Huh? :V
Half-Life 2: Episode One
Extract everything from the episodic folder (in the GCF) into your dedicated server's orangebox/episodic folder, creating the folder if it doesn't exist.
half-life 2 episode one.gcf
Extract the maps folder from the episodic folder (in the GCF) into your dedicated server's orangebox/episodic folder.
Extract everything from the episodic folder (in the GCF) into your dedicated server's orangebox/episodic folder, overwriting if prompted to do so.
episode one 2007 content.gcf
Extract everything from the episodic folder (in the GCF) into your dedicated server's orangebox/episodic folder, and everything from the hl2 folder (in the GCF) into your dedicated server's orangebox/hl2 folder, overwriting if prompted to do so.
Half-Life 2: Episode Two
episode two content.gcf
episode two maps.gcf
episode two materials.gcf
For all of the above GCFs (in given order), extract everything from the ep2 folder (in the GCF) into your dedicated server's orangebox/ep2 folder, creating the folder if it doesn't exist and overwriting if prompted to do so.
Half-Life 2: Episode Three
You must be living in the future.
Additional Game Content
Note: If you download any of the following (sans Portal) using the HLDS Update Tool after downloading orangebox, you will be forced to download a new set of engine binaries incompatible with the current release of Obsidian Conflict. A telltale sign that this has occurred is when you see an engine error along the lines of SetupArrayProps_R: array prop '(null)' is at index zero or Host_Error: IDLLFunctions::DLLInit returned false when you try to start the server. To workaround that, simply rename the bin folder (inside orangebox) to something else (e.g. bin_se2007) before downloading the game's files. On completion, delete the newly created bin folder and rename the old one back to bin.
Counter-Strike: Source
Day of Defeat: Source
Portal
Incompatible at the time of writing.
Team Fortress 2
Incompatible at the time of writing.
Downloading And Installing Obsidian
Copy the obsidian folder from a fresh install of Obsidian Conflict into your dedicated server's orangebox folder. Template:Todo
Mounting Content
Content mounts are controlled by a set of files in the obsidian/mount folder. Each file determines whether or not the respective game's content is mounted. These files are merely blank files without any extensions - their contents do not matter since the mod merely checks if the file is there, mounting the content if the file is present. Valid file names are:
css
dod
ep2
episodic
hls
lostcoast
Still in progress, give me more time, will ya?