***************************************************************************
이 글은 더이상 작동하지 않는 고인이된 정보글입니다.
위 링크로 들어가시면 현재 제대로 작동하는 방법으로 다시 소개해놨으니 위 링크로 이동해주세요!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*********************************************************************************
종강을하고 맥북만 가지고 고향집에 내려오니 마땅히 할 게임이 없어서 이 게임 저 게임을 기웃거리던 중 친구가 좀보이드가 어떻냐고 추천해줬다.
그래서 유튜브로 멀티플레이를 하는 모습을 보니 조~금 재밌어 보였고 멀티플레이를 하기위해선 서버를 열어야 하는데 그냥 게임 자체의 호스트 서버 기능을 사용하면 호스트가 게임을 플레이 할 때만 접속을 할 수 있고 데디케이트(Dedicated)라는 서버를 설정해서 열면 서버를 오픈해 놓는 동안은 누구나 상시로 접속이 가능하게 설정할 수 있었다.
하지만 이 서버를 그냥 컴퓨터에 설치하면 또 컴퓨터를 켜놨을때만 접속이 가능하기 때문에 상시로 켜놓는 나스의 도커에 설치하기로 했다.
참고로 다 설치를 해놓고 자원을 사용하는 꼬라지를 보니까 나스의 램이 적어도 8기가는 되어야 서버로 굴릴듯하다.
이게 다른 개발자들이 작성해놓은 도커의 라이브러리들이 있긴했지만 나스의 도커에 설치해서 사용하는 방법이 인터넷에 자세하게 나와있진 않아서 처음에 좀 많이 헤맸는데 그래서 이렇게 블로그에 한번 정리해보기로 했다.
설명은 시놀로지(헤놀로지) 나스를 기준으로 하겠다.
우선 시놀로지의 방화벽을 꺼야한다.
나는 방화벽 설정을 미국과 대한민국 그리고 내부 아이피와 포트포워딩을 한 포트들만 오픈을 해놨는데 데디케이트 서버에 필요한 포트들을 오픈을 해놔도 도커 설치과정이 진행이 안되더라.
그래서 방화벽을 끄니까 설치가 진행이 됐다.
다음은 포트포워딩을 해줘야한다.
포트포워딩은 공유기 설정에서 하는건데 어떻게 하는건지 아에 방법을 모른다면 알아서 구글에 검색을 해서 알아보도록하고 여튼 내가 사용할 라이브러리에 기본적으로 설정되어있는 포트들은 위와 같다.
udp와 tcp를 구분해서 설정해주면 되고 16262:16272 이렇게 되어있는건 16262~16272포트를 연다는 이야기로 대충 본인의 공유기 설정에 맞게 기입해주면 된다.
그럴리는 없지만 저렇게 한번에 입력이 안된다면 16262 16263 16264.. 이렇게 하나하나 입력해주던지 한면 된다.
다음은 서버 컨테이너에 연동시킬 폴더를 나스에 만들어줘야하는데 폴더 생성자체는 ui에서 그냥 생성하면 되지만 어짜피 또 권한설정까지 해줘야하기 때문에 ssh로 접속을 해서 폴더생성부터 권한 설정까지 설명하겠다.
우선 ssh 접속은 맥의 터미널 또는 윈도우의 cmd로 쉽게 접속할 수 있다.
시놀로지의 제어판에서 ssh 서비스를 활성화 시켜준 후
cmd든 터미널이든 일단 열고
ssh 아이디@나스주소 또는 아이피 –p 포트번호 | cs |
이 명령어의 한글부분을 본인에게 맞게 고쳐서 입력해주면 패스워드를 입력하라고 뜨는데 패스워드는 원래 타이핑해도 화면에 나타나지 않기때문에 그냥 본인 패스워드를 그대로 입력해주고 엔터를 쳐주면 나스의 ssh에 접속하게 된다.
접속을 하고 폴더를 생성할 경로를 찾아들어가 폴더를 생성하고 권한을 설정해주면 되는데 필요한 명령어에 대해 간단히 설명하자면
cd .. (상위 라이브러리로 이동) cd 라이브러리명 (해당 라이브러리로 이동) ls (현재위치에서 폴더 및 파일 리스트 출력) mkdir server–files server–data (server–files, server–data 명의 폴더 생성) sudo chown 1000:1000 server–files (server–files 권한 설정) sudo chown 1000:1000 server–data (server–data 권한 설정) | cs |
위와 같다.
굳이 상위 라이브러리로 이동 이런걸 하지않고 그냥 바로 폴더를 생성하고 권한을 설정해주면 home 공유폴더 아래에 폴더가 생길 것이고 만약 본인이 다른 볼륨에 폴더를 생성하고 싶으면 우선 시놀로지에서 해당 볼륨에 공유폴더를 생성해준 후 ssh를 통해 해당 볼륨의 공유폴더까지 찾아들어간 후 폴더를 생성하고 권한 설정하는 위 명령어들을 각각 복사해서 실행시켜주면 된다.
다른 볼륨까지 찾아들어가는 과정에서 조금 헤맬수도 있기에 설명을 덧붙이자면 그냥 cd .. 명령어를 반복해 최상단 경로까지 가서 ls 명령어를 입력해보면 다른 볼륨들이 보일 것이다.
아 그리고 server-files, server-data 폴더명은 변경하지말고 그냥 위의 명령어 그대로 실행시키면 된다.
다음은 시놀로지의 도커를 실행시키고 레지스트리 메뉴로 들어가 zomboid라고 검색을 하면 위 이미지처럼 이미지들이 쭉 뜨는데 저 중에서 afey/zomboid를 설치해주면된다.
설치가 끝난 이미지는 이미지 메뉴에서 확인할 수 있다.
이미지 메뉴에서 설치가 완료된 afey/zomboid:latest를 실행시켜주고
컨테이너 이름은 본인이 하고싶은데로 설정을하고 고급설정을 눌러준 후
볼륨 메뉴로 들어가 폴더 추가 버튼으로 위에서 생성한 server-files 폴더와 server-data 폴더를 추가해주고 마운트 경로에 각각 /server-files, /server-data라고 입력해준 후
네트워크 메뉴에서 Docker 호스트와 동일한 네트워크 사용에 체크를 해준 후
환경메뉴로 들어가서 SERVER_NAME, SERVER_PASSWORD, SERVER_PUBLIC_NAME, ADMIN_PASSWORD의 값들을 본인이 원하는대로 수정, 입력해주고 적용을 눌러주고 다음 다음 적용을 눌러 컨테이너를 생성, 실행해주면 된다.
생성, 실행된 컨테이너는 컨테이너 메뉴에서 확인 할 수 있고 컨테이너를 더블클릭하거나 세부사항을 눌러주면
요렇게 세부내용을 확인할 수 있는데 로그 메뉴에서 폴더를 찾을 수 없다는 식의 내용이 뜬다면 방화벽을 풀지 않았거나 폴더권한을 적용시켜주지 않았을 가능성이 있기에 해당 부분을 체크한 후 컨테이너를 삭제하고 폴더들도 삭제해고 폴더생성부터 다시 진행해주면 되고 별 문제없이 진행이된다면 터미널에 Zomboid Server is VAC Secure이라는 구문이 뜰때가지 기다렸다가 확인이 되면 server-data 폴더 -> Server 폴더에 서버명.ini 파일이 생성되었는지 확인한 후 파일이 생성되었다면
좀보이드를 스팀에서 실행하고 (-nosteam 명령어를 사용하지 말것) 한글패치를 완료했다면 여러 명이서 하기 메뉴를 눌러 준 후 본인의 ip와 서버 암호를 적고 본인이 사용할 유저이름과 비밀번호를 눌러준 뒤 저장을 눌렀을때
좌측에 저장된 서버 목록에서 위 내용이 확인이 된다면 성공적으로 서버가 열린것이다.
서버구축 성공을 확인했다면 방화벽 설정에서 포트포워딩한 포트들만 추가로 본인이 접속할 범위에서 접속이 가능하게 설정을 해주고 다시 방화벽을 켜면 된다.
만약 위 내용이 확인이 안되고 서버에 접속이 안된다면 처음부터 다시 차근차근 빼먹은것이 없나 잘 확인을 하면서 해보도록..
그리고 서버의 세부적인 설정은 server-data 폴더 -> Server 폴더에 서버명.ini 파일을 수정해서 설정할 수 있고 이때 서버명은 수정하지 않도록한다.
그리고 항상 수정하기 전에 컨테이너를 종료를 하고 수정을하고 수정을 완료하고나면 컨테이너를 재시작해주면 된다.
여튼 내가 조리있게 잘 설명을 했는지는 모르겠지만 알잘딱깔센하게 알아들으시고 서버구축에 다들 성공하시길 기원한다.