2016년 4월 18일 월요일

Xubutu(ubuntu) 에 Counter Strike 1.6 서버 설치

Hi,

꽤 오래전에 즐겼던 FPS 게임중 하나,
그때는 많은 서버들이 있었는데,
국내에는 개인 서버들이 거의 없는것 같다.

예전에 서버를 만들어 매치를 했었던 일도 있고 해서,
기억을 더듬으며, 재설치를 해봤다.

steamcmd 를 이용해 xubuntu 에서(ubuntu 도 마찬가지)  설치 하는 순서는
제일 먼저 console 을 열면 대부분 home/자신의 아이디/ 로 되어 있다.

1. 우선 dependancy 를 고려해 아래 작업을 먼저 한다.
sudo apt-get install lib32gcc1 lib32stdc++6
 - 32bit 라이브러리 모듈을 설치 한다.

2. screen 을 이용한다면 추가로 설치해준다.
sudo apt-get install screen 
여기서 잠깐만...~~

root 를 사용한다면, 별도 아이디를 만들어 사용하는것이 바람직하다.

adduser XXX
   - password 설정
su XXX 
  - password 확인
cd ~
  - XXX 홈으로 이동
3. steamcmd 폴더(디렉토리) 를 만들고 , 그 위치로 이동한다.
mkdir steamcmd ; cd steamcmd
4. 설치 파일을 다운로드 받고 압축및 파이프 해제.
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar xvzf steamcmd_linux.tar.gz
5. 압축을 해제 하면 몇몇 폴더와 파일들이 보이게 되는데. 아래 명령을 실행해 본격적으로
   설치를 한다.
./steamcmd.sh
 - 뭔가가 주루룩? 약간의 시간이 지나면 완료가 되며, 좌측 프롬프트가 Steam> 으로 바꼈다.

6. Steam 에 로그인 (anonymous)
login anonymous
7. 서버가 설치될 위치 설정
force_install_dir /cs16/
 - force_install_dir 뒤 /cs16/은 본인이 원하는대로

8. 서버 설치용 화일을 설치하자.
app_update 90 validate
 - 90 은 cs1.6 아이디, 중간에 에러가 난다. 에러나면 여러번 실행해 준다.
   90 fully installed 가 보이면 설치가 완료된것인데. 다운로딩이 100%가 되지 않는 상황에서
   끝난다. 만약 다 다운이 되었는지 확인을 하고 싶다면, 다음을 확인해 보면 된다.
   downloadind 대신에 validating 이라는 문자가 보인다면 완료

9. Steam 종료 quit

10. 설치한 폴더에 들어 가보면 hlds_run 파일이 보인다.

여기서 버그를 잡기 위해 한가지를 더하자.
steamcmd 폴더 내 linux32 폴더 에 가보면 steamclient.so 파일이 있는데,
이를 home/자신의아이디 폴더에서 .steam 폴더를 만들어서 복사해준다. (. 찍힌것에 주의)

cd ~
mkdir .steam
cd ./steam
mkdir sdk32
cp ~/steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so
 - 기본적인 설치는 마무리 되었다.

아까 CS16폴더로 다시 넘어 가면, (cd 로 이동)

hlds_run 파일이 있다.

한번 실행을 해보자.

./hlds_run

뭔가가 되는듯한데 잘 모르겠다.

다음 명령도 한번 해보자.

./hlds_run -game cstrike -autoupdate -pingboost 2 -port 27016 +maxplayers 20 +map de_dust2
여기서 에러가 걸려서 서버에 접속하지 못했다는 결과를 받았다면,
이유는 간단.
./hlds_run -game cstrike -autoupdate -pingboost 2 +ip 본인아이피 -port 27015 +maxplayers 20 +map de_dust2
처음 접속때 아마 127.0.0.1 로 개방을 하는 경우가 있던데,
이렇게 되면 steam 에 인증접속이 안되는것 같다.
또 -ip 가 먹히지 않았다.
그래서 +ip 로 하니 설정이 완료 되었다.
아이피 확인 방법은 알아서.......

이제 외부에서 접속이 가능한지 확인해 봐야 겠는데,

서버에 랜선이 직접 물려 있다면, 별것 아니지만, 만약 router 를 사용 한다면,

맘편하게 현재 내가 사용하고 있는 컴퓨터로 DMZ 설정만 해주면 됨...
(물론 좋은 방법은 아님)

그리고 다음 명령을 실행
./hlds_run -game cstrike -autoupdate -pingboost 2 -port 27016 +maxplayers 20 +map de_dust2

해서 외부에서 내  router 주소가 아닌 실제 접속 주소로 연결 하면 됨...

이제 서버를 만들었으니, 화장을 시켜 줘야 이뻐지겠네..

다음편으로.