인터넷의 거의 모든 CS2 서버 가이드는 사실 MatchZy 가이드입니다: 완전한 경쟁 매치 플러그인, 나이프 라운드, 그리고 산더미 같은 설정. 여기서는 그 반대입니다. 당신이 원하는 건 당신과 친구들을 위한 비공개 CS2 전용 서버, 순수 바닐라, 플러그인 없음입니다. 설정은 인터넷이 보이게 하는 것보다 훨씬 짧고, 모든 것은 대부분이 잊는 한 가지로 귀결됩니다: 이제 로그인 토큰은 필수입니다.
먼저: GSLT 토큰 (선택 사항이 아닙니다)
CS2는 Game Server Login Token(GSLT) 없이는 공용 IP에서의 접속을 받지 않습니다. 새 서버가 "잘 뜨는데 아무도 못 들어온다"가 되는 가장 흔한 원인이 이것입니다. 무료로 받으세요:
- Steam Game Server Account Management 페이지(steamcommunity.com/dev/managegameservers)로 가세요.
- app ID 730(Counter-Strike 2)용 토큰을 만드세요. 긴 문자열이 돌아옵니다.
- 그것은 당신의 Steam 계정에 연결됩니다. 서버당 토큰 하나. 공유하지 마세요; 유출된 토큰은 당신 계정의 서버들이 밴당하게 만들 수 있습니다.
서버 설치하기
CS2 전용 서버는 app 730(게임과 동일)입니다. SteamCMD로 설치하세요:
./steamcmd.sh +login anonymous \
+app_update 730 validate \
+quit익명 로그인이 작동합니다; 서버 계정에 게임을 보유할 필요가 없습니다. 설정은 다음 위치에 있습니다:
<install>/game/csgo/cfg/server.cfg바닐라 server.cfg
이것을 붙여넣고, CHANGE ME로 표시된 세 개의 값을 바꾸세요. 플러그인 없음, MatchZy 없음.
// --- Identity ---
hostname "My Private CS2 Server" // CHANGE ME
sv_setsteamaccount "YOUR_GSLT_TOKEN" // CHANGE ME - the token from above
// --- Lock it down ---
sv_password "friends-only" // CHANGE ME - join password
rcon_password "pick-a-long-secret" // admin console over RCON
// --- Vanilla behaviour ---
sv_cheats 0
sv_pure 1
sv_lan 0
mp_autoteambalance 1
mp_limitteams 2
// --- A sane private match ---
mp_maxrounds 24
mp_roundtime 1.92
mp_freezetime 15
mp_warmuptime 30
sv_alltalk 0
sv_deadtalk 1이것은 완전한 비공개 경쟁용 설정입니다. 게임 모드와 시작 맵은 여기 없습니다: CS2는 그것을 실행 라인에서 설정합니다. game_type과 game_mode는 맵이 로드되기 전에 알려져 있어야 하기 때문입니다.
실행 라인
설치 폴더에서 서버를 실행하세요. 이제 srcds_run이 아니라 -dedicated가 붙은 cs2 바이너리라는 점에 유의하세요:
./game/bin/linuxsteamrt64/cs2 -dedicated \
-ip 0.0.0.0 -port 27015 \
+game_type 0 +game_mode 1 \
+map de_dust2 \
-maxplayers 10 \
+exec server.cfg- game_type 0 + game_mode 1이 표준 Competitive 5v5입니다. 다른 모드는 아래 표를 참고하세요.
- map de_dust2가 시작 맵입니다. 어떤 공식 맵이든 작동합니다 (de_mirage, de_inferno, cs_office…).
- exec server.cfg는 플레이어가 접속하기 전에 sv_setsteamaccount를 포함한 당신의 cvar들을 실행합니다.
- 포트 27015는 게임과 A2S 쿼리의 포트입니다. 방화벽에서 열어주세요 (UDP + TCP).
game_type / game_mode 쌍
CS2에는 단일 "모드" cvar이 없습니다. 각 모드는 두 숫자의 쌍입니다:
game_type game_mode Mode
0 0 Casual
0 1 Competitive (5v5)
0 2 Wingman (2v2)
0 3 Hostage / Casual (cs_ maps)
1 0 Arms Race
1 1 Demolition
1 2 Deathmatch활성 서버에서 game_type을 바꾸는 것은 CS2에서 불안정하므로, 실행 라인에서 모드를 고르고 바꾸려면 프로세스를 재시작하세요. 같은 모드 안에서 맵만 바꾸는 것은(changelevel de_mirage) 문제없습니다.
워크샵 맵 로드하기
워크샵 맵은 실행 인자가 아닙니다. 실행 중에 host_workshop_map과 맵의 워크샵 ID로 로드하면 서버가 다운로드해서 호스팅합니다. 먼저 실행 라인에 -disable_workshop_command_filtering을 추가한 다음, 서버 콘솔(또는 RCON을 통해)에서:
host_workshop_map 3070315466그 숫자는 워크샵 페이지 URL의 ID입니다. 첫 로드는 Steam에서 맵을 가져오므로 시간을 좀 주세요. 이것이 CS2에서 모두가 걸려 넘어지는 함정입니다: 실행 라인의 +map 뒤에 워크샵 맵 이름을 넣어도 아무 일도 일어나지 않습니다; 반드시 host_workshop_map이어야 합니다.
비공개로 유지하기
sv_password를 설정하면 비밀번호를 입력한 사람만 접속할 수 있습니다. 서버의 IP와 비밀번호를 그룹과 공유하고 콘솔을 쓰라고 알려주세요: connect your.server.ip:27015; password friends-only. 비밀번호는 서버를 공개 퀵플레이 풀에서도 빼주는데, 비공개 매치에는 바로 그게 원하는 바입니다.