개발새발 박스

GCP를 이용 데드케이트 서버, 변질되어버린 Night of the Dead 서버 생성 기록기 2화

업폰 2023. 1. 11. 14:41
반응형

자, 이전 게시물을 통해 구글 클라우드를 이용해 VM 인스턴스 생성하여 서버 환경은 구성한 상태입니다.

 

물론 잘 따라오셨다면 말이죠.

 

자넨 잘 따라오고 있는가?

 

자, 이제 서버환경에 접속해 서버를 열어야할 시간이네요.

 

이전에 설명했다시피 Night of the Dead 서버는 윈도우로만 동작합니다.
때문에 실제 해당 서버를 열지 못했습니다.

다만 그 과정은 여느 스팀 데데케이트 서버를 여는 것과 다르지 않다는 점에 이런 기록기를 남기게 되었다는 점 다시한번 안내 드리며...

 

시작해보겠습니다.

 


 

먼저 ssh로 접근이 필요합니다.

아래 화면은 VM 인스턴스 페이지입니다. 이전 글에서 인스턴스 생성하시면 최초로 보실 수 있는 그 페이지죠.

 

이 페이지에서 본인이 생성한 인스턴스의 연결에 있는 SSH를 눌러주세요.

 

아니 그렇다고...

 

참고로 위 방법이 아니라 key-pair 방식을 통해 putty 접근이 가능합니다.

관련 내용은 제 티스토리 게시글을 확인해주시고, 동일하게 진행하시면 됩니다.

 

 

클라우드 서비스에서 Key 그리고 비밀번호 입력하여 접속하는 방법

요근래 서버 관리가 보다 쉬워지고, 개인이 서버를 갖는 것이 매우 친숙해지는 과도기 같습니다. 이제 곧 너도 나도 서로의 서버를 가지는 것이 기본이고, 일상이 되겠죠. 전부 AWS로 인해 시작된

up4n.tistory.com

 

아무튼 저는 이런 귀찮은 짓 없이도 가능한 방법으로 그냥 여러분들이 진행할 방법인 SSH 버튼 클릭을 통해 웹상에서 진행하도록 하겠습니다.

 

세상 참 좋아졌다잉...

 

아무튼 이렇게 검정화면이 확인되실 겁니다.

여러분이 영화같은데서 본 그 검은 화면이죠.

이제 이 지독한 흑백화면에서 UI도 없이 코드사용을 통해 서버를 생성하셔야 하는 상황이죠.

 

먼저 서버가 완전히 초기 상태이기 때문에 구성에 필요한 기본 라이브러리들의 설치가 진행되어야 합니다.

 

이 부분은 각 서버 환경에 따라 코드가 다를 수 있습니다.

32bit / 64bit 의 라이브러리 명이 다르기 때문인데요.

 

때문에 여러분께는 둘다 안내를 드리도록 할 겁니다.

 

32bit

$ sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get autoremove --purge -y && sudo apt-get autoclean
$ sudo apt-get install libgcc1 -y
$ sudo apt-get install libcurl4-gnutls-dev:i386 -y
$ sudo apt-get install wget screen tar -y
$ sudo reboot

 

64bit

$ sudo dpkg --add-architecture i386
$ sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get autoremove --purge -y && sudo apt-get autoclean
$ sudo apt-get install lib32gcc1 -y
$ sudo apt-get install lib32stdc++6 -y
$ sudo apt-get install libcurl4-gnutls-dev:i386 -y
$ sudo apt-get install wget screen tar -y
$ sudo reboot

 

위 내용이 진행되지 않는다면, sudo 명령어 (관리자권한 실행) 이 불가능한 계정으로 로그인하신 것인데 root로 로그인하시어 진행하시길 권장드립니다.

 

현재 GCP를 이용해 SSH 접근하시면 당연히 되겠지만 만약 안된다면 아래의 코드로 계정을 root로 전환 후 위 코드를 진행하시기 바랍니다.

 

$ sudo su

 

아무튼 어찌저찌 잘 진행되셨고...

마지막의 reboot을 하시면, 아마 SSH가 접속이 끊기실 겁니다.

 


 

다시 켜시고 이제부터 스팀을 설치할 겁니다.

스팀은 이런 화면에도 있어? 라고 생각하실 수도 있는데, 그 스팀 맞구요.

 

실제로 DOS같은 게임 등을 리눅스에서 즐기시는 분들도 있다고 합니다.
믿기지 않는 건 저도 마찬가지입니다.

 

대체 어떻게...? 아니 대체 왜?

 

아무튼 레딧 등 해외 커뮤니티 보시면 가끔 어떤 게임은 리눅스에 안되더라 라는 내용들이 있는 걸 보면...

적지는 않는 마이너한 OS 유저들이 있는 것 같습니다.

 

아무튼 다시 본론으로 돌아와 스팀을 설치해야겠죠?

 

먼저 여러분의 homedir를 확인해보아야 합니다.

 

우리가 설치할 steamcmd는 homedir 에서는 설치가 안됩니다!

 

위 내용은 많이 알려져 있지 않은 것으로 생각되는데, 구글링 하여 확인되는 "오류가 나요" 하는 대부분의 이유는 homedir에서 설치해서 그렇습니다.

 

이 homedir가 무엇이냐!?

여러분이 ssh 로그인 하고 처음 접하는 폴더입니다.

 

$ cd ~

 

위 명령어를 통해 ~ 로 이동하시면, 그 폴더가 homedir입니다.

때문에 해당 폴더에서 새로운 폴더를 만들어, 그 폴더에 설치를 진행해야 합니다.

 

여러분의 계정 뒤쪽에 : (따옴표) ~ 라면 현재 위치가 homedir 인 것

 

그래서 우선 디렉토리를 생성해주어야 하는데, 디렉토리 명은 각자 하고 싶은 것으로 하시기 바라며 저는 tistory 라고 지정할 예정입니다.

 

$ mkdir tstory

 

계속해서 보여드리는 ls -al은 현재 폴더의 내용을 보여주는 ssh 명령어

 

이제 만든 폴더로 이동해서 스팀을 설치해보자.

 

$ cd ./tstory
$ wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
$ tar -xvzf steamcmd_linux.tar.gz

타라~

이제 이 설치된 녀석에서 특정 게임 서버(데디케이트 서버)를 설치해야하는데 먼저 steamcmd.sh를 실행시켜보자.

 

$ ./steamcmd.sh

Steam> force_install_dir ./steamapp/NOD
Steam> login anonymous
Steam> app_update 1420710 validate
Steam> quit

 

중요한 부분이 login 전에 force_install_dir를 하지 않으면, 오류가 발생한다.

 

때문에 외부 다른 구글링 시 보이는 글들은 오류가 발생할텐데, 놀라지말고 순서를 변경하여 진행하도록 하자!

 

사진을 드리고 싶은데 너무 길어서... PASS

 

아무튼 이렇게 설치하고, 이제 서버환경의 방화벽도 설정을 해줘야하는데...

 

$ sudo ufw allow 27015/udp
$ sudo ufw allow 7777/udp

 

위 명령어로 처리할 수 있다.

 

만약 ufw 가 없다면 위 내용 없이 잘 진행될 것이고, 만약 안된다면 직접 설정해줘야 한다.

또는...? ufw 를 설치해서 설정을 진행해도 된다. 
관련된 내용은 별도로 작성하도록 할 예정이다.

 

아무튼 세팅, 설치를 다 하고 실행하면!?

 

오류가 나며 안된다.

 

1화에서 안내 드렸던 것처럼 Night of the Dead 데디케이트 서버는 윈도우에서'만' 돌아가는 상황입니다.

 

그런데 이 글을 이렇게나 길게 왜 올렸냐?

 

현재 다른 구글링 내용이 현재 상태와 다른 경우가 아주 많습니다.

그래서 정정할 부분을 안내 드려야 할 것 같고, 고생하지 않도록 도움을 드리고자...?

 

Steam> force_install_dir <install_dir>
Steam> login anonymous
Steam> app_update <app_code> validate
Steam> quit

 

위에 내용을 다시 가져오자면 이와 같은 상황인데, 일부러 공란으로 코드를 수정한 상황입니다.

이 app_update 명령어 내에 데디케이트 서버를 제공하는 게임의 code만 알면, 서버를 만들 수 있답니다.

 

단! 요구사항이 허락하는 한 말이죠.

 


 

그럼 이제 이 긴 내용의 마지막

결국 이 3개월짜리 서버가 어떻게 되었는지 다음 글에서 설명드리겠습니다.

하하...

반응형