ΡΡΠΈΠΌ ΠΊΠΌΠ΄ Π³Π°ΡΡΠΈΡ ΠΌΠΎΠ΄
Π‘ΡΠΈΠΌ ΠΊΠΌΠ΄ Π³Π°ΡΡΠΈΡ ΠΌΠΎΠ΄
A tutorial on how to host a Garry’s Mod Server using SteamCMD, completely written from scratch. It will include: How to install the server, how to forward the port for it, and how to add workshop addons to it (and a bit more).
(Due to the amount of content in this guide, you might think that this is complicated, but trust me, it’s not. Once you have some good understanding, it’s very easy and you can run and manage a server flawlessly.)
First, you need to download SteamCMD, of course. This program is used to install the actual files for your server, and to install the Garry’s Mod files.
You can download SteamCMD here.
(Direct download link http ://media.steampowered(.)com/installer/steamcmd.zip)
Now, that SteamCMD is ready, we will begin installing the server.
First, you start off by logging in. Type this command in the command prompt that is currently open:
The command prompt should return this information:
After logging in, you have to determine the path where the server will be installed.
To do this, use this command:
If you want to set the path to something further than just the C:\ drive, then type out the path carefully, and make sure it contains no spaces, otherwise it will make seperate folders.
To install the Garry’s Mod files, type the following command in the prompt:
If you have quite slow internet, then this process could take about half an hour. Fast internet however can do this quickly in just a few minutes.
4020 is the ID of «Garry’s Mod Dedicated Server», not to be confused with 4000, which is the AppID of the game Garry’s Mod itself. http://steamdb.info/app/4020/
To add other game content to your server(e.g:TF2, DoD:S etc.), you have to use the app_update command again. You just have to change the ID 4020 to the ID of the game you want to mount, and change the force_install_dir as well (I recommend making a folder inside the server folder which you install it into). However, it is very likely that these install possibilities do not allow anonymous login. In this case, you have to login with your steam username and password.
Mostly copied from the valve developer wiki, only because it’s fairly useful material.
Only useful for updating your server.
You can also automate this process. There are 2 ways to do that:
Run the commands all at once:
+app_update 4020 validate +quit
If you are logging in with an account, use username password instead of «anonymous» at the +login command.
Then run this script with the +runscript command in SteamCMD:
Okay, our server is now installed. Now, we have to configure it, to make it fully work, and to keep things organized.
First thing you should do, is to configure the server.cfg file. This file is used to set the Sandbox limits, and to set all console commands that are getting automatically executed when the server is booting up.
This file is located here: drive name:/Program Files(x86)/yourfilepath/blah/steamcmd/garrysmod/cfg
An example of a server.cfg file would look like this:
//The lines are used to make big spaces, since using blank spaces does not work in Steam. Replace the lines with blank spaces, or press «TAB» around 6 times to make a big space.
«hostname»———————————————«My Garry’s Mod Sandbox Server»
«rcon_password»————————————-«serveradmin»
«sbox_noclip»——————————————«1» //Enables noclip
«sbox_maxprops»————————————«500»
«sbox_maxeffects»————————————«15»
«sbox_maxemitters»———————————«13»
«sbox_maxthrusters»———————————«30»
«sbox_maxsents»————————————«35»
//etc.
«sbox_playershurtplayers»————————-«1» //Enables PVP Damage
//And you can put in some different console commands which you want to be «autoexecuted»
(guys, just a note, you don’t have to necessarily use this one, it’s just an example :p
the minuses are there because you can’t have more than one space in a row in Steam, afaik. The spaces will work fine in any text editing program.)
Formated in a table:
An unconfigurated server.cfg file only contains 3 blank lines.
For better security, I recommend to put the RCON password into the parameter line of your srcds.exe shortcut with +rcon_password password.
To run your server, you must exit the «garrysmod» folder,and make a shortcut of the srcds.exe file.
Then, right click on the srcds.exe shortcut, click on «Properties», and enter this command line in the parameter line:
And then add the commands after it.
(Unfortunately I couldn’t change the language of Windows to English, becuase I don’t have the appropriate Windows 7 edition for that.)
Double-click the shortcut, and the server should run smoothly.
Simply doing these steps is not enough. The server seems to run, and you are able to join, but something else is missing. The server will not respond to your friends. When they try to join by joining your game, it will kick them because they «failed after 4 retries». This is because nobody but you, at the moment, has the permission to connect to your host. Port forwarding will not make your router settings accessible from anywhere, it will only make it possible for everyone to join your server, which is hidden behind a router wall.
What you have to do in steps:
1. Go to your desktop and open up your start menu.
2. Search for «cmd» in the search bar. A command prompt should open.
3. In the command prompt, type «ipconfig» and press ENTER.
4. A list of IPs, IDs and whatnot should appear. Search the «Ethernet Adaptor LAN» section.
5. When you found it, look up the Standard Gateway of that section, and remember it in any way.
6. Open up your web browser, type in the default gateway into the URL bar, and press enter. A login screen should appear, either a windows screen or a website login page.
7. Enter the login information for your router. If you don’t know the information, ask anyone who knows it or might know it, or look it up on your router box. If possible, use the default login «admin», for username and password.
8. Set up the port forward. For this, find a section for forwarding ports (it’s different on all router pages), and fill in all required values and information. You can set the Service Port as 27015-27016(Use 27015 only if only one port is required), the IP Address your IPv4 Address, and the Protocol «Any» or «All» or «TCP/UDP» (Again, depending on your router page).
9. Start up the port forward, and you’re done.
This step is entirely optional, it is not crucial for making anything work about your server. Setting up a static IP address is explained below.
Open up your command prompt, and run the command «ipconfig /all» without the quotes. Then, search the IPv4 Address of the Ethernet-Adaptor LAN Area or something like that, the Subnet Mask, and the Default Gateway. We will use this information later.
Next, open your start menu, and click on «Control Panel». Then, search the «Network and Internet» entry, and click on the button which should say something like «Show Network status».
After this, right click on «LAN-Connection», and then click on «Properties».
You should see a list of which Elements your connection uses. Double-click «Internet Protocol Version 4», and you should enter the IP Settings of it. After you have done this all, tick «Use the following IP-Address». Doing this should automaticly tick «Use the following DNS-Serveraddress:»
The IP-Address you insert is the static one. It should be very similiar to your actual IP address. Let’s say, your actual IP address is 192.168.2.255 (see what I did there?). In the box, you type in 192.168.2.248.
The Subnet Mask is the one you got from your ipconfig. Same with the Standard Gateway.
Now, you have to fill out the DNS Server addresses. To get the ones you need, you can log into your Router’s Webpage, and then view the Stats of your router. There should be an entry somewhere for DNS Servers.
To make it simple and clear, I listed up the steps you have to do to add workshop addons for your server:
An authkey is required to make +host_workshop_collection work. You can get one here.
You can use anything as the domain name.
You need to add the authkey to the parameter line as well. To do this, use this parameter:
Well, the addons might be on your server now, but all addons that have their own content will show error signs and checkerboard textures, and missing sounds, if the player doesn’t have the addon installed on their client. So we need to force a download of their content, in a way which will be explained below.
This is a list of the most commonly used and useful console commands which can be used to manage and configure your server to your likings.
That was all (or well, most) stuff I know about hosting a Garry’s Mod Server. If something went wrong during installing the server, then you can ask in the comments, and I, or someone else, can maybe help you solve the problem.
Italic = Question
Bold = Answer
What is the Parameter Line?
The Parameter Line is the «Target» line you have to type the parameters in.
IT IS NOT WORKING
That isn’t even a question, but well. If it doesn’t work, then point out WHAT doesn’t work, and I, or maybe someone can help you.
When I run app_update 4020 validate, it says «no subscription» and refuses to install the app. How do I fix that?
You have to log in anonymously by running the command «login anonymous» to make it work. You seem to have forgot to do this.
When I try to install the app, I get error «Error! App ‘4020’ is x after update job.» What does that mean?
That means, that the directory you determined with force_install_dir seems to be invalid. It may not be your client GMod directory, use a completely different one, and make sure it contains no spaces(this shouldn’t actually cause this error, but just to be safe, do not put any spaces into your directory). I recommend to use a completely new directory just for your server, to keep everything clean.
I get this error: [ERROR] lua/autorun/addons.lua:1: attempt to call field ‘AddWorkshop’ (a nil val
ue) when I make my lua file for downloading workshop content. What can I do about that?
Make sure the lua file is located in lua/autorun/server of your server files, and that you use «resource.AddWorkshop( «id» )» for marking all the workshop addons you want to be downloaded by the players.
My server is running, and I forwarded the port, but my friends still cannot join!
Seems like you port forwarded incorrectly. You can «experiment» with the values, try changing them a little, and it might work. I had this problem too, and I fixed it by doing this. Also, make sure that your Firewall is disabled. This isn’t required for everyone, but you should try disabling it.
SteamCMD
Contents
ΠΠ°Π³ΡΡΠ·ΠΊΠ° SteamCMD
Windows
1. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Π΄Π»Ρ SteamCMD.
3. ΠΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ zip-Π°ΡΡ ΠΈΠ²Π° Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ.
Linux
1. Π‘Π½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° SteamCMD.
2. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ SteamCMD. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ ΠΈΠ· ΠΏΠΎΠ΄ root ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ root-ΠΏΡΠ°Π²Π°ΠΌΠΈ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ steam ΠΈ Π²ΠΎΠΉΡΠΈ ΠΏΠΎΠ΄ Π½ΠΈΠΌ:
3. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ SteamCMD ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π½Π΅Ρ.
3. ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ SteamCMD Π΄Π»Ρ Linux.
4. ΠΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
1. ΠΡΠΊΡΠΎΠΉΡΠ΅ Terminal.app ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ SteamCMD.
2. ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ SteamCMD Π΄Π»Ρ OS X.
3. ΠΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΠ°ΠΏΡΡΠΊ SteamCMD
Windows
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ SteamCMD.
Linux/OS X
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ SteamCMD.
ΠΡ ΠΎΠ΄ Π² SteamCMD
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΠΎ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎ.
Π‘ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠΌ Steam
ΠΠ΄Π½Π°ΠΊΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΡΠ΅Π±ΡΡΡ Π²Ρ ΠΎΠ΄Π° Π² Π°ΠΊΠΊΠ°ΡΠ½Ρ Steam.
ΠΠ°ΡΠ΅ΠΌ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ.
ΠΡΠ»ΠΈ Steam Guard Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½, ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π°ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΡΡΡ ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° Steam Guard ΠΈ Π²Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ. ΠΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Ρ ΠΎΠ΄Π΅ (Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π³Π΄Π΅ SteamCMD Ρ ΡΠ°Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ).
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΠΎΡΠ»ΠΈ Π² ΡΠ²ΠΎΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ.
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
1. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ SteamCMD ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅.
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ cs_go Π²Π½ΡΡΡΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ: Ρ.Π΅. Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΈ cs_go ΠΠ½ΡΡΡΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
HLDS ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ: App ID Π²ΡΠ΅Π³Π΄Π° 90 ΠΈ ΠΌΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΏΠ΅ΡΠ²ΡΠΌ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΡΡΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ mod ΠΊ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Counter-Strike: Global Offensive: ΠΡΠΈΠΌΠ΅Ρ: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ HLDS Ρ Team Fortress Classic:
3. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ quit ΡΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ΅ΡΡΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Steam.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Ρ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ SteamCMD.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ SteamCMD
ΠΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ SteamCMD.
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°
ΠΠ²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΠΏΠ»ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΌΠΎΠ΄ Π΄Π»Ρ HL1, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Counter-Strike: Condition Zero:
ΠΠ»Ρ ΠΈΠ³ΡΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ΅Π±ΡΠ΅Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Killing Floor:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π²
ΠΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ:
Windows ΠΠ/Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ
SteamCMD AutoUpdater
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°
condenser
condenser ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΈ Π·Π°ΠΏΡΡΠΊΠ° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Steam.
SteamCMD GUI
ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SteamCMD Π½Π° Windows, Π±Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
SteamCMD Guardian 1.2
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ: http://pastebin.com/BRUbsGQh
Linux Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ
Linux Game Server Managers
Linux Game Server Managers ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ, ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ SteamCMD.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ: http://danielgibbs.co.uk/lgsm
SteamCMD Guardian 1.2
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π±ΡΠ» ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° Debian Wheezy.
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ: http://pastebin.com/hcpMpmaZ
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°. ΠΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ steam) Ρ Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ (/home/steam). ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΠΉΡΠΈ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ΅ΡΠ΅Π· SSH, tty ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ su.
Π€Π°ΠΉΠ» Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡ SteamCMD, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠ³ΡΡ (Π΄ΠΎ 4). ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ³Ρ.
ΠΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
Failed to install app ‘xxxxxx’ (No subscription)
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ ‘No subscription’, ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΠΉΡΠΈ ΠΏΠΎΠ΄ Steam Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠΌ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ° ΠΈΠ³ΡΠ° ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½Π°. Π‘ΠΌ. Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².
32-Π±ΠΈΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° 64-Π±ΠΈΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Linux
Π’Π°ΠΊ ΠΊΠ°ΠΊ SteamCMD ΡΡΠΎ 32-Π±ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ΅Π±ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ 32-Π±ΠΈΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ 64-Π±ΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ.
ΠΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°:
Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°:
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° Debian (Ubuntu, Mint, ΠΈ Ρ.Π΄.)
ΠΠ° Debian 7 «Wheezy» Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ:
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° Red Hat (RHEL, Fedora, CentOS, ΠΈ Ρ.Π΄.)
Arch Linux
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Multilib.
Login Failure: No Connection
ΠΠ° Linux Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ «Login Failure: No Connection». ΠΠ½Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ iptables. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Windows Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ «SteamUpdater: Error: Download failed: http error 0» ΠΈ «SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again.». ΠΡΠΎ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΈ «ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²» Π² IE (Internet Explorer) ΡΠ΅ΡΠ΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ Π² ΠΌΠ΅Π½Ρ Π‘Π²ΠΎΠΉΡΡΠ²Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ SteamCMD ΡΠ½ΠΎΠ²Π°. ΠΡΠ»ΠΈ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ Π£ΡΠΎΠ²Π΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΡΠΎΠΉ Π·ΠΎΠ½Ρ Π½Π° ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π² Π‘Π²ΠΎΠΉΡΡΠ²Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
ΠΡΠΈΠ±ΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ° SteamCMD
Unable to locate a running instance of Steam
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° Linux:
Π Π΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π² ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ»ΠΊΡ steamclient.so
ΠΡΠΈΠ±ΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ° ulimit Linux
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΏΡΡΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ulimit:
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ 1024 ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π·Π°ΠΏΡΡΠΊ SteamCMD.
ΠΠ°Π³ΡΡΠ·ΠΊΠ° HLDS
ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΌΠΎΠ΄ HL1, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ TFC, ΡΠ½Π°ΡΠ°Π»Π° Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ HLDS, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ΄. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΊ Ρ ΠΎΠ±ΡΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ°ΠΊ ΠΈ Ρ Π±Π΅ΡΠ°-Π²Π΅ΡΡΠΈΠ΅ΠΉ. ΠΠ°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΊΠ°ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΏΠΎΠΊΠ° Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ, Π½ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ, ΡΠ°ΠΉΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ΄ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·.
ΠΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΠ² ΡΠ°ΠΉΠ»Ρ appmanifest, Π±Π΅Π· Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΠΈΠ· ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈΠ·-Π·Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡΡ.
SteamCMD
The Steam Console Client or SteamCMD is a command-line version of the Steam client. Its primary use is to install and update various dedicated servers available on Steam using a command-line interface. It works with games that use the SteamPipe content system. All games have been migrated from the deprecated HLDSUpdateTool to SteamCMD.
Contents
Downloading SteamCMD
Windows
1. Create a folder for SteamCMD.
3. Extract the contents of the zip to the folder.
Linux
1. As the root user, create the steam user:
2. Go into its home folder:
Package from repositories
1. It’s recommended to install the SteamCMD package from your distribution repositories, if available:
2. Link the steamcmd executable:
Docker
If your server is running Docker, you can simply use:
steamcmd.sh location: /home/steam/steamcmd
This image can be used as a base image for Steam-based dedicated servers. Example: https://hub.docker.com/r/cm2network/csgo/
You can find the associated Docker Hub page here: https://hub.docker.com/r/cm2network/steamcmd/
Manually
1. Before you begin, you must first install the dependencies required to run SteamCMD:
2. As the root user, escalate to the steam user:
If you’re not logging in as root and you instead use sudo to perform administration, escalate to the steam user as follows:
3. Create a directory for SteamCMD and switch to it.
4. Download and extract SteamCMD for Linux.
5. Install tmux and/or screen for easy server management
macOS
1. Open Terminal.app and create a directory for SteamCMD.
2. Download and extract SteamCMD for macOS.
Running SteamCMD
On first run, SteamCMD will automatically update and enter you into a Steam> prompt. Type help for more information.
Windows
Open a Command Prompt and start SteamCMD.
Linux/macOS
Open a terminal and start SteamCMD.
If you installed it using the package from repositories:
If you installed it manually:
SteamCMD Login
Anonymous
To download most game servers, you can login anonymously.
With a Steam account
Some servers require you to login with a Steam Account.
Next enter your password.
If Steam Guard is activated on the user account, check your e-mail for a Steam Guard access code and enter it. This is only required the first time you log in (as well as when you delete the files where SteamCMD stores the login information).
You should see a message stating that you have successfully logged in with your account.
Downloading an app
1. Start SteamCMD and log in.
2. Set your app install directory. (Note: use forward slashes for Linux/macOS and backslashes for Windows.)
e.g. a directory named cs_go inside the current directory:
For Windows: force_install_dir c:\cs_go\
HLDS is a special case: the App ID is always 90 and a mod must be chosen first. This is done by setting the app config option mod to the requested value.
Example: Install and validate the Counter Strike: Global Offensive dedicated server: Example: Install and validate HLDS with Team Fortress Classic:
3. Once finished, type quit to properly log off of the Steam servers.
Validate
Validate is a command that will check all the server files to make sure they match the SteamCMD files. This command is useful if you think that files may be missing or corrupted.
It is recommended you use this command only on initial installation and if there are server issues.
Supported Servers
A list of known servers that use SteamCMD to install is available on the Dedicated Servers List page. Note that any extra commands listed need to be executed before the app_update line.
Automating SteamCMD
Command line
Append the commands to the command line prefixed with plus characters, e.g.:
To install a specific game mod for HL1, such as Counter-Strike: Condition Zero:
For a game that requires logins, like Killing Floor:
Creating a script
2. Run SteamCMD with the +runscript option, referring to the file you created previously. Example:
Cross-Platform Installation
It is possible to choose the platform for which SteamCMD should download files, even if it isn’t the platform it is currently running on. This is done using the @sSteamCmdForcePlatformType variable. (Yes, those are two «s»es at the beginning of the variable name.) For example, to download the Windows CSGO dedicated server on Linux, you can run the following command:
or use the following script:
Windows Software/Scripts
condenser
condenser is a bootstrapper for installing, configuring, & launching Steam dedicated server apps.
SteamCMD AutoUpdater
Install and automatically update any game server
SteamCMD GUI
This tool allows the user to use SteamCMD on Windows without command lines and/or batch files.
SteamCMD Guardian 1.2
SteamPS
SteamPS is a PowerShell module that can be used to update servers, fetch server information. It also presents a workflow to update game servers.
Linux Scripts
LinuxGSM
LinuxGSM is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.
Features
Supported Servers
There are now 100+ different game servers supported and rising. For a full list visit the website.
Links
SteamCMD Guardian 1.2
The following script was tested on Debian Wheezy.
To make this script work, we need a location. Preferably you created a user (e.g. steam) with it’s own home directory (/home/steam) and are logged in as it via SSH, tty or using su.
The file will auto-download SteamCMD, update it and install all chosen games (up to 4). Run the file again to update the games.
Known issues
ERROR! Failed to install app ‘xxxxxx’ (No subscription)
If you get the ‘No subscription’ error, the game/server you are trying to download either requires a login or that you have purchased the game. You will therefore have to log in with a Steam username and password β if that doesn’t help, you may need to purchase a copy of the game on Steam first. See Dedicated Servers List.
32-bit libraries on 64-bit Linux systems
Since SteamCMD is a 32-bit binary, 32-bit libraries are required.
The following error may occur:
The resolution depends on your distro:
Debian based distributions (Ubuntu, Mint, etc.)
With Debian 7 «Wheezy» you may encounter this error:
To fix this, do the following:
Red Hat based distributions (RHEL, Fedora, CentOS, etc.)
Arch Linux
Don’t forget to first enable the multilib repository.
Login Failure: No Connection
On linux servers, you may experience a «Login Failure: No Connection» error. This is related to missing iptables rules. You will want something along these lines:
On Windows servers, you may experience «SteamUpdater: Error: Download failed: http error 0» and «SteamUpdater: Error: Steam needs to be online to update. Please confirm your network connection and try again.». This is usually fixed by checking «Automatically detect settings» in IE (Internet Explorer) through the lan settings in the Internet option menu.
SteamCMD startup errors
Unable to locate a running instance of Steam
You may get the following error when starting a server with Linux:
Resolve the issue by linking steamclient.so to the
ulimit Linux startup error
This can be fixed by changing the file descriptor number ulimit:
In this case, 1024 is the current value.
root can also modify the limits in the /etc/security/limits.conf file.
In most instances you will simply get a warning message however it will not stop SteamCMD from running.
Getting a Linux 64-bit steamclient.so on a Windows Machine
WSL does not play nicely with 32-bit files. If you need the steamclient.so 64-bit file you can simply run the following command:
You will then find the file here:
Only the HLDS engine is downloaded
When trying to download a HL1 mod like TFC, initially it only downloads the engine files of the HLDS, but not the mod. This happens with both the regular version and the beta. You may have to try multiple times until all the required files are downloaded, but once this is done, the files should update correctly next time.
Just deleting the appmanifest files, without downloading replacements from a third party, may work as well! You will get an error at first though, complaining that something went wrong, which is due to the deleted files.
On a side note, for some reason CS is always installed as well.