-
레프트4데드2 데디케이트 서버 생성 일대기Soliloquy 2018. 2. 9. 16:47
레프트 4 데드 로고
게임에서 서버는 플레이어의 위치, 공격, NPC의 행동, 게임의 속성등 많은 부분을 담당한다. 벨브에서 만든 게임은 이러한 서버를 개인이 열 수 있게 만들어져 있어서 기존 게임에서 볼 수 없었던 데미지 표시, 음악 재생같은 간단한 기능을 시작해서, 좀비 모드, 술래잡기 모드등 새로운 방식의 게임들을 만들기도 한다.
친구랑 무슨 게임 할 지 생각하다 레프트 4 데드2를 생각해보게 되었다. 레프트 4 데드2에서 뭘 할지 생각해 보다가 과거 NPC 설정 변경으로 메테오 탱크, 중력 탱크, 개인 상점 같은 플러그인을 가진 커뮤니티 서버가 있다는 말을 들었다. 그래서 나도 그런 특이한 요소가 많은 서버를 한 번 만들고 싶어서 서버를 만들게 되었다.
서버 설치와 기본 설정
안내 찾기
인터넷을 찾아보니 플러그인을 사용하기 위해서는 서버 종류 중 데디케이트 서버라는 종류로 만들어야 플러그인 사용이 가능하다고 한다. 스팀의 도구탭에 Left 4 Dead 2 Dedicated Server 다운로드 항목을 찾았긴 했는데, 설명 없이 서버 설정이 힘들것 같아서 구글로 레프트 4 데드2 서버 설정에 필요한 안내를 찾아서 진행했다. 스팀 커뮤니티에 있는 글이었는데, 이미지가 많아서 이해하기 좋았다.
서버 파일 다운로드
그 글에는 데디케이트 서버를 다운로드 하는 방법으로 스팀의 도구 항목을 사용하지 않고 스팀CMD를 이용하였다. 스팀이 아닌 스팀CMD를 사용한 방식은 DOS 같은 커맨드 입력방식, 설치와 스팀 계정이 불필요 해서 선호되는 듯 하였다. 나는 안내에서 설명하는 것 처럼 스팀CMD에서 받을까, 스팀 도구 항목에서 받을까 고민하다, 스팀CMD가 더 가벼울 것 같아서 스팀CMD를 선택했다. 그런데 사용해보니 스팀과 동일한 설치 방식으로 동일하게 무거웠다. 다음엔 스팀으로 설치해야 겠다.
기본 설정
서버의 다운로드가 끝나면 서버를 효과적으로 운영하기 위한 작업이 필요했다. 그 중에 하나가 Server.cfg, motd.txt 파일등을 만들고 수정하여 서버 이름, 인원 수 제한, 비밀번호 설정, 메세지 설정 등과 같은 설정을 입력시키는 작업이었다. 이 때가 가장 재미있었던 것 같다. 내가 만든 서버에 이름 붙이고, 메세지 넣고.
필수 모드와 플러그인 설치
내가 그토록 원하던 플러그인을 설치하기 위해서는 서버에 메타모드와 소스모드라는 모드들을 설치해야 했다. 처음에는 소스모드만 설치해도 플러그인이 작동되는 줄 착각해서, 소스모드만 설치했다가 실행이 안되서 찾아보니, 메타모드도 같이 설치해야 하는 구조였다. 메타모드 설치와 어드민 설정까지 완료하였고 플러그인 설치를 위해 설명서를 찾아보았다. 플러그인은 Plugins 폴더에 플러그인 파일을 붙여넣으면 자동적으로 플러그인이 적용되는 간단한 구조였다. 2단 점프 플러그인을 추가한 후 만들어진 서버의 모습이 어떤지 궁금했던 나는 시험 삼아 내 서버에 한 번 들어가보기로 했다. 1
서버 접속의 난관
서버에 접속하려고 게임 콘솔에 connect 127.0.0.1 이라고 쳐봤다. 기대되는 로딩스크린이 나왔다. 하지만 1분을 기다려도 로딩스크린은 바뀌지 않았고, 에러 메세지가 나왔다. 내가 만든 서버에 내가 접속하는게 뭐가 잘못된건지 도통 이유를 알 수 없었다. 그래서 아래와 같은 일들을 해봤다. 2
- Server.cfg 파일을 살펴보기 - rcon_password 수정
rcon_password가 서버 패스워드 설정인 줄 알고 해당 내용을 지워도 보고, 특수문자를 없애보기도 했다. 3 - connect 명령어 수정하기. 비밀번호 붙여서 접속해보기, 포트번호 붙여보기
- 서버 파일 파라메터 수정. 서버를 콘솔로 열지 말고 GUI로 열기, 설정 IP 수정, 포트 수정
물론 달라지는 것은 없었다. 그러던 도중, 외부 IP주소와 포트번호를 붙여 접속을 해보니, 이게 웬걸, 접속이 잘 된다. 그리고 소스모드 관리자 명령어(!admin)을 난생 처음 사용해 보았다. 한글화가 되어있고, 플레이어 비콘 설정, 불태우기, 중력 설정 등 나름 재미있는 기능도 있었다. 관리 기능 중에는 추방 기능이 있었는데, 신기하게 봇도 추방이 되었다. 2단 점프 플러그인을 사용하기 위해 점프 버튼을 두 번 눌려봤다. 2단 점프가 당연한듯이 되었다. 이제 플러그인만 얹으면 완벽한 것 같다. 4
플러그인 수집과 포기
플러그인은 alliedmods.net 과 네이버 레프트 4 데드 카페를 통해 찾을 수 있었다. 킬 카운트, 탱크 체력 표시, 무기 추가/변경등 다양한 플러그인이 있었다.
하지만, 내가 원하는 플러그인은 RPG모드 같은 플러그인들 이었는데, 이런 플러그인들은 배포가 되지 않았다. 하긴. 그렇게 잘 만들면 공유보다는 판매를 하지 않을까. 게다가 플러그인 파일을 배포하면 GPL때문에 그 플러그인의 소스코드까지 배포해야 하니 서버의 독창성을 살릴려고 배포를 잘 안할 것 같다. 그리고 5명 켐페인 방을 만들고 싶어서 인원 수 조절 플러그인을 설치해 봣는데, 무슨 문제인지 인원수가 8로 고정되어 항상 봇이 자리잡고, 해당 플러그인의 설명서 대로 인원 수 조절 명령어가 먹히지 않았는 문제가 발생했다. 이렇게 된다면 플러그인을 직접 만드는게 답인 것 같다. 하지만 만들기 위해 프로그래밍 언어부터 시작해서, 각종 명령어들 까지 배워야 할게 많았다.
결국 그냥 데디케이트 서버 만들기를 그만두기로 했다.
여담
서버를 만드는 데는 수 많은 노력이 필요한 것 같다. 플러그인을 공부하지 않고서는, 제대로된 서버를 운영할 수 없을 것 같다.
서버 설치 파일
서버 설치 파일에는 몇 가지 신기했던 점이 있었다.
첫 번째로 서버 파일 크기가 생각보다 컸다. 다운로드 용량만 7기가. 처음 봤을때는 게임 한개 용량처럼 여겨졌다. 실제 게임 용량은 11기가쯤 되니 통 게임 용량 파일은 아니긴 하다. 서버가 그만큼 하는 역할이 커서 그러리라 생각된다.
두 번째로 서버 파일 폴더를 열어봤는데, 실제 게임 폴더와 유사한 점이 많았다. 게임 실행 파일이 있었고, 맵 폴더 위치도 모두 똑같았다. 이러면 개발하기가 더 편해서 그런가 싶다. 5
세 번째로 서버 파일 폴더를 실제 게임 폴더 이름으로 바꾼 뒤 스팀으로 무결성 검사를 해 봤더니, 2.9 기가바이트 가량 빼고 서버에 필요한 파일들을 제거 했다는 점이다. 검사 후 서버 파일을 실행 해 보니, 중요한 파일이 없다며 실행이 안된다. 서버에 필요한 파일이랑 게임 실행에 필요한 파일들은 차이가 많나보다. 그래서 스팀에서 데디케이트 서버를 설치하면 게임 폴더에 추가 하여 받는것이 아닌, 별개의 폴더에다 파일을 받는 것 같다. 6
출처
레프트 4 데드 로고 그린이: Zeptozephyr
[본문에 사용된 SVG 파일]
- 알고보니, 소스모드는 메타모드의 플러그인이라고 한다. [본문으로]
- connect IP주소 : 해당 IP주소 서버에 접속하기 위한 게임 콘솔 명령어 [본문으로]
- rcon은 원격 접속시에 사용하는 콘솔. rcon_password는 이를 위한 비밀번호 설정 즉 접속과는 관련이 없는 설정이었다. [본문으로]
- 에: connect 123.123.123.123:27015 [본문으로]
- .EXE 파일, 실행하면 로딩창 까지는 나오지만, 게임을 진행 할 수 없다. [본문으로]
- Left 4 Dead 2 Dedicated Server 폴더를 Left 4 Dead 2로 변경 [본문으로]
- Server.cfg 파일을 살펴보기 - rcon_password 수정