스팀CMD

From Valve Developer Community
Jump to: navigation, search
English Español Français Nederlands Polski Русский 简体中文

스팀 콘솔 클라이언트 또는 스팀CMD 는 스팀 클라이언트의 콘솔 버전입니다. 이 프로그램의 주된 용도는 콘솔 인터페이스를 사용하여 스팀에서 사용할 수 있는 다양한 게임 전용 서버를 설치하고 업데이트하는 것입니다. SteamPipe 콘텐츠 시스템을 사용하는 게임에서 작동합니다. 모든 게임 서버가 더 이상 사용하지 않는 HLDSUpdateTool 에서 스팀CMD로 이전되었습니다.

스팀CMD 다운로드

윈도우

1. 스팀CMD를 위한 폴더를 생성합니다.

예시

C:\steamcmd

2. Windows 용 SteamCMD 다운로드: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip

3. 생성한 폴더에 압축을 풀으세요.

리눅스

스팀CMD를 안전하게 실행하기 위해 steam 이라는 사용자 계정을 생성해서, 나머지 운영체제와 분리하십시오. root 사용자로 스팀CMD를 실행하지 마십시오 - 그렇게 하는 것은 보안 상의 위험이 있습니다.

1. root 사용자로 steam 사용자를 생성하세요:

useradd -m steam

2. 그 다음 홈 폴더로 이동하세요:

cd /home/steam

배포 저장소에서 설치하기

1. 가능하다면, 배포 저장소에서 스팀CMD 패키지를 설치하는 것이 좋습니다:

우분투/데비안

sudo apt-get install steamcmd

RedHat/CentOS

yum install steamcmd

아치 리눅스: AUR에서 스팀CMD 설치.

2. Link the steamcmd executable:

ln -s /usr/games/steamcmd steamcmd

수동으로 설치하기

1. 시작하기 전에 먼저 스팀CMD 실행에 필요한 종속성 패키지를 설치해야 합니다:

우분투/데비안 64 비트

sudo apt-get install lib32gcc1

RedHat/CentOS

yum install glibc libstdc++

RedHat/CentOS 64 비트

yum install glibc.i686 libstdc++.i686

2. root 권한을 이용하여, steam 사용자에게 전달합니다:

su - steam

root 사용자로 로그인하지 않고 진행하기 위해서는 sudo를 사용해서, steam 사용자에게 전달하세요:

sudo -iu steam

3. 스팀CMD를 위한 디렉토리를 생성하고 디렉토리로 이동하세요.

mkdir ~/Steam && cd ~/Steam

4. Linux 용 스팀CMD를 다운로드하고 추출하세요.

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

OS X

1. Terminal.app (터미널)을 열고 스팀CMD를 위한 디렉토리를 생성합니다.

mkdir ~/Steam && cd ~/Steam

2. OS X 용 스팀CMD를 다운로드하고 추출하세요.

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_osx.tar.gz" | tar zxvf -

스팀CMD 실행

처음 실행할 경우, 스팀CMD가 자동으로 업데이트되면서 Steam> 프롬프트로 들어갑니다. 자세한 내용은 help 를 입력하세요.

윈도우

명령 프롬프트를 열고 스팀CMD를 시작하세요.

cd C:\steamcmd
steamcmd

리눅스/OS X

터미널을 열고 스팀CMD를 시작하세요.

배포 저장소의 패키지를 사용하여 설치한 경우:

cd ~
steamcmd

수동으로 설치한 경우:

cd ~/Steam
./steamcmd.sh

스팀CMD 로그인

익명

대부분의 게임 서버를 다운로드하는 건 익명 계정으로 다운로드할 수 있습니다.

login anonymous

스팀 계정으로

일부 서버는 스팀 계정으로 로그인해야 합니다.

Note:보안 상의 이유로 서버 다운로드용 스팀 계정을 새로 만드는 것이 좋습니다.
Note:사용자는 한개의 클라이언트에만 로그인할 수 있습니다 (그래픽 클라이언트와 스팀CMD 포함).
login <사용자 이름>

그런 다음 암호를 입력하세요.

사용자 계정에 Steam Guard가 활성화 된 경우, 메일함에서 Steam Guard 액세스 코드를 확인하고 입력하세요. 이것은 처음 로그인할 때만 필요합니다 (스팀CMD가 로그인 정보를 저장하는 파일을 삭제할 때).

계정에 성공적으로 로그인했다는 메세지가 나타납니다.

서버 다운로드

1. 스팀CMD를 시작하고 로그인하세요.

2. 서버 설치 디렉토리를 설정하세요. (참고: 리눅스/OS X에서는 슬래시를 사용하고 윈도우에서는 백 슬래시를 사용하세요.)

force_install_dir <경로>

예. 현재 디렉토리 안에 cs_go 라는 디렉토리가 있는 경우:

force_install_dir ./cs_go/

윈도우: force_install_dir c:\cs_go\

3. app_update 명령어를 사용하여 서버를 설치하거나 업데이트하세요 (스팀 애플리케이션 ID 보기). 전용 서버 목록을 보려면 여기를 확인하세요: 전용 서버 목록. 서버 유효성을 검사하려면, 명령 줄에 validate 를 추가하세요. 베타 분기를 다운로드하려면, -beta <베타 이름> 옵션을 사용하세요 – 예를 들어, HLDS 베타 분기의 이름은 beta 이고 SrcDS 베타 분기의 이름은 prerelease 입니다. 일부 베타 분기는 비밀번호로 보호되어 있을 수 있습니다; 다운로드 하려면, 명령 줄에 -betapassword <비밀번호> 옵션도 추가하세요.

app_update <app_id> [-beta <베타이름>] [-betapassword <비밀번호>] [validate]

HLDS 는 특별한 경우 입니다: 앱 ID는 항상 90이며 먼저 mod를 선택해야 합니다. 이것은 서버 콘픽 옵션 mod 를 요청된 값으로 설정하여 수행됩니다.

app_set_config <app_id> <option_name> <option_value>
예: Counter Strike: Global Offensive 전용 서버 설치와 유효성 검사를 하려면:
app_update 740 validate
예: HLDS로 Team Fortress Classic 설치와 유효성 검사:
app_set_config 90 mod tfc
app_update 90 validate
Bug: HLDS (appid 90) 는 현재 필요한 모든 파일이 성공적으로 설치되기 전에 app_update 명령어를 여러 번 실행해야 합니다. 더 이상의 업데이트가 없을 때 까지 app_update 90 validate 를 여러 번 실행하기만 하면 됩니다.
예: Install and validate beta version of HLDS (Half-Life):
app_update 90 -beta beta validate
예: Counter Strike: Source 전용 서버 베타 버전의 설치 및 유효성 검사를 하려면:
app_update 232330 -beta prerelease validate
예: install and validate a private beta version of the Natural Selection 2 dedicated server (이름 alpha, 비밀번호 natsel):
[베타 이름] 는 비공개 베타 분기의 이름 입니다.
[베타 코드] 는 비공개 베타 분기의 비밀번호 입니다.
app_update 4940 -beta alpha -betapassword natsel validate

3. 완료되면, quit 를 입력하여 로그오프 합니다.

quit

유효성 검사

validate

유효성 검사는 모든 서버 파일이 스팀CMD 파일과 일치하는지 확인하는 명령입니다. 이 명령어는 파일이 누락되었거나 손상되었다고 생각할 때 유용합니다.

Note:유효성 검사는 변경된 파일을 덮어 씁니다. 이로 인해 사용자 정의 된 서버에 문제가 발생할 수 있습니다. 예를 들어, 만약 mapcycle.txt, 파일을 수정해놨다면 이 파일은 서버 기본값으로 덮어 씌워집니다. 기본 설치의 일부가 아닌 파일은 영향을받지 않습니다.

초기 설치 및 서버 문제가있는 경우에만이 명령을 사용하는 것이 좋습니다.

지원되는 서버

스팀CMD를 사용하여 설치할 수 있는 서버 목록은 Dedicated Servers List에서 확인할 수 있습니다. 나열된 추가 명령은 app_update 행 전에 실행해야합니다.

Automating SteamCMD

There are two ways to automate SteamCMD. (Replace steamcmd with ./steamcmd.sh on Linux/OS X.)

Command line

Note:When using the -beta option on the command line, it must be quoted in a special way, such as +app_update "90 -beta beta".
Note:If this does not work, try putting it like "+app_update 90 -beta beta" instead.

Append the commands to the command line prefixed with plus characters, e.g.:

steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 +quit

To install a specific game mod for HL1, such as Counter-Strike: Condition Zero:

steamcmd +login anonymous +force_install_dir ../czero +app_set_config 90 mod czero +app_update 90 +quit

For a game that requires logins, like Killing Floor:

steamcmd +login <username> <password> +force_install_dir c:\KFServer\ +app_update 215350 +quit

Creating a script

1. Put your SteamCMD commands in a text file. (You may add comments which start with //.) Example:

// update_csgo_ds.txt
//
@ShutdownOnFailedCommand 1 //set to 0 if updating multiple servers at once
@NoPromptForPassword 1
login <username> <password>
//for servers which don't need a login
//login anonymous 
force_install_dir ../csgo_ds
app_update 740 validate
quit

2. Run SteamCMD with the +runscript option, referring to the file you created previously. Example:

steamcmd +runscript csgo_ds.txt

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:

./steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit

or use the following script:

@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
@sSteamCmdForcePlatformType windows
login anonymous
force_install_dir ../csgo_ds
app_update 740 validate
quit

The supported values are windows, macos and linux.

윈도우 소프트웨어/스크립트

condenser

condenser 는 스팀 전용 서버 응용 프로그램을 설치, 구성 및 시작하기 위한 부트 스트 래퍼입니다.

SteamCMD AutoUpdater

게임 서버를 설치해주고 자동으로 업데이트 해줍니다

GitHub 저장소: https://github.com/C0nw0nk/SteamCMD-AutoUpdate-Any-Gameserver

SteamCMD GUI

이 도구는 명령 줄이나 배치 파일없이 윈도우에서 스팀CMD를 사용할 수 있도록합니다.

GitHub 저장소: https://github.com/DioJoestar/SteamCMD-GUI

SteamCMD Guardian 1.2

여기에서 보고 다운로드하십시오.: http://pastebin.com/BRUbsGQh

리눅스 스크립트

Linux Game Server Managers

Linux Game Server Managers

LinuxGSM은 스팀CMD를 사용하여 전용 게임 서버를 빠르고 간단하게 배치하고 관리 할 수있는 명령 줄 도구입니다.

기능

  • 백업
  • 콘솔
  • 세부 사항
  • 인스톨러 (SteamCMD)
  • 모니터
  • 알림 (이메일, Pushbullet)
  • 업데이트 (SteamCMD)
  • 서버 시작/중지/재시작

지원되는 서버

현재 70 개 이상의 다른 게임 서버가 지원되고 있습니다. 전체 목록을 보려면 웹 사이트를 방문하십시오.

링크

웹 사이트: https://gameservermanagers.com

GitHub 저장소: https://github.com/GameServerManagers/LinuxGSM

SteamCMD Guardian 1.2

다음 스크립트는 Debian Wheezy가 테스트하였습니다.

여기에서 보고 다운로드하십시오: http://pastebin.com/hcpMpmaZ


설치

이 스크립트를 작동 시키려면 위치가 필요합니다. 가급적 자신의 홈 디렉토리 (/ home / steam)로 사용자 (예 : steam)를 생성하고 SSH, tty 또는 su를 사용하여 로그인 한 상태 여야합니다.

  1. Make the file.
    nano updateserver.sh
  2. Paste in the code
  3. Modify the code, add at least 1 game to the DL_SV*= rows.
  4. Close the file with Ctrl+O, followed by Enter and concluding with Ctrl+X.
  5. Give the file execute rights for the user
    chmod u+x ./updateserver.sh
  6. Run the file
    ./updateserver.sh

The file will auto-download SteamCMD, update it and install all chosen games (up to 4). Run the file again to update the games.

알려진 문제

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.

Note:For security reasons it is recommended that you create a new Steam account just for your dedicated servers.

For example

steamcmd +login <username> <password>

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:

steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

The resolution depends on your distro:

Debian based distributions (Ubuntu, Mint, etc.)

sudo apt-get install lib32stdc++6
Note:ia32-libs are not required to install SteamCMD; lib32gcc1 is enough.

With Debian 7 "Wheezy" you may encounter this error:

The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch but it is not installable
E: Unable to correct problems, you have held broken packages.

To fix this, do the following:

 dpkg --add-architecture i386
 apt-get update
 apt-get install lib32gcc1

Red Hat based distributions (RHEL, Fedora, CentOS, etc.)

yum install glibc.i686 libstdc++.i686

Arch Linux

Don't forget to first enable the multilib repository.

pacman -S lib32-gcc-libs

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:

iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT

The port list is found here: https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711&l=english

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.

  1. Open Internet Explorer (IE).
  2. Click on ToolsInternet Options
  3. Click on the Connections tab
  4. At the bottom, you should see Local Area Network (LAN) Settings.
  5. Check the first box (Automatically detect settings)
  6. Hit OK, and Apply. Try running the SteamCMD again; if it still doesn't work. try lowering your Internet Security level zone to medium or lower. You can find that in the Security tab in Internet Options.

SteamCMD startup errors

Unable to locate a running instance of Steam

You may get the following error when starting a server with Linux:

[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

Resolve the issue by linking steamclient.so to the ~/.steam/sdk32/steamclient.so directory:

ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so

ulimit Linux startup error

Some users may get a ulimit error (no permission/cannot open file) while script is starting up. This error caused by a low setting of the -n parameter (number of file descriptors) of ulimit. SteamCMD uses standard commands inside of the initialization shell script to change the ulimit automatically, but some servers may forbid increasing ulimit values after startup (or beyond a limit set by root).

This can be fixed by changing the file descriptor number ulimit:

ulimit -n 2048

If an error appears (no permission), you will have to log in as root to change the parameter. To check the current setting, type ulimit -a; the system will reply with many rows, you need to find one:

open files                      (-n) 1024

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.

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.

Work-around for this issue here: http://danielgibbs.co.uk/2017/10/hlds-steamcmd-workaround-appid-90-part-ii/

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.

See Also