홍로그

극주관주의 포스팅

(NEW!!!)Zomboid 좀보이드 데디케이트 스팀서버 시놀로지 나스 도커에 설치하기

정보성 글을 적다보면 가끔 여기저기 링크되어 쏠쏠한 트래픽을 챙길 수 있는데

위 링크의 글 역시 많은 사람들이 검색해서 들어오기도 하고 여기 저기 공유된 링크를 통해 방문을 해주던 그런 글이었다.

가끔 커뮤니티들에서도 내 정보글들을 공유해주기도 하던데 내가 공유한 정보를 통해 문제가 해결되었다는 반응들을 가끔씩 염탐하는 재미가 있어서 한번씩 찾아보곤 했었는데 최근들어 염탐은 그만두고 신경끄고 있다가 문뜩 생각이 나서 한번 찾아보니 이젠 이 방법이 제대로 작동하지 않는다는 댓글이 작년 초? 중순 쯤의 날짜로 작성되어 있더라

그래서 다시한번 직접 이 방법을 통해 좀보이드 서버를 구축하려해보니 음.. 불행히도 막힌방법이 되어있었다.

위 게시글에서 사용한 zomboid dedicated 서버 도커 이미지 뿐만 아니라 대부분의 이미지들에서도 마찬가지로 steamcmd 관련 오류가 발생했고 해당 이미지들의 업데이트 날짜가 대부분 몇달전에서 몇년전으로 업데이트가 이뤄지지 않고 있던 이미지들이라 문제가 발생한듯 보였다.

더이상 작동하지 않는 방법을 소개한글을 방치하기도 그렇고 그렇다고 트래픽 쏠쏠한 키워드를 포기하기도 아까워서 이참에 제대로 작동하는 방법으로 다시금 정보를 제공하고자 한다.

설명은 시놀로지(헤놀로지) 나스 7.X 버전을 기준으로 하겠다.

버전이 다르면 도커의 설정 페이지 순서가 좀 달라질 수 있긴 하지만 내용이 달라지는건 아니기 때문에 다른 버전의 시놀로지를 사용하는 사람들은 알아서 잘 딱 깔끔하게 따라오길 바란다.

지역차단 때문에 세팅과정에서 문제가 발생할 수 있어서 우선 방화벽을 끄고

ssh 포트를 열어준다. (나스가 외부망에 있는 사용자는 뭐 포트포워딩 이런건 당연히 알아서 할줄 아시겠죠?)

다음은 공유기에서 나스로 포트포워딩을 해줘야한다.

포트포워딩은 공유기 설정에서 하는건데 어떻게 하는건지 아에 방법을 모른다면 알아서 구글에 검색을 해서 알아보도록하고 여튼 내가 사용할 라이브러리에 기본적으로 설정되어있는 포트들은 위와 같다.

udp와 tcp를 구분해서 설정해주면 되고 16262:16272 이렇게 되어있는건 16262~16272포트를 연다는 이야기로 대충 본인의 공유기 설정에 맞게 기입해주면 된다.

그럴리는 없지만 저렇게 한번에 입력이 안된다면 16262 16263 16264.. 이렇게 하나하나 입력해주던지 하면 된다.

그리고 나스의 방화벽에서도 해당 포트들을 허용해주도록한다.

다음은 서버 컨테이너에 연동시킬 폴더를 나스에 만들어줘야 하는데 아무곳에나 만들어도 상관은 없지만 그래도 경로를 보기 좋게 만들어주는게 좋으니 난 우선 위 이미지처럼 나스에서 경로를 만들어줬고 이 경로 안에 폴더를 만들어줬다.

위 이미지 까지의 경로는 그냥 나스의 gui에서 생성해도 되지만 컨테이너와 연동될 폴더는 권한작업이 필요하니 최종 폴더 생성과 권한작업은 ssh로 한번에 작업하겠다.

우선 ssh 접속은 맥의 터미널 또는 윈도우의 cmd로 쉽게 접속할 수 있다.

시놀로지의 제어판에서 ssh 서비스를 활성화 시켜준 후

cmd든 터미널이든 일단 열고

1
ssh 아이디@나스주소 또는 아이피 –p 포트번호
cs

이 명령어의 한글부분을 본인에게 맞게 고쳐서 입력해주면 패스워드를 입력하라고 뜨는데 패스워드는 원래 타이핑해도 화면에 나타나지 않기때문에 그냥 본인의 나스계정 패스워드를 그대로 입력해주고 엔터를 쳐주면 나스의 ssh에 접속하게 된다.

접속을 하고 폴더를 생성할 경로를 찾아들어가 폴더를 생성하고 권한을 설정해주면 되는데 필요한 명령어에 대해 간단히 설명하자면

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cd / (최상위 라이브러리로 이동)
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 권한 설정)
cd server–files/
mkdir mods steam workshop (mods, steam, workshop, 명의 폴더 생성)
sudo chown 1000:1000 mods 
sudo chown 1000:1000 steam
sudo chown 1000:1000 workshop
 
cs

위와 같다. (여기서 mods, steam, workshop 폴더는 server-files 폴더 내부에 생성해야함)

굳이 상위 라이브러리로 이동 이런걸 하지않고 그냥 바로 폴더를 생성하고 권한을 설정해주면 home 공유폴더 아래에 폴더가 생길 것이고 아님 나와 동일하게 나스에 우선적으로 경로를 만들고 해당 경로에 작업할 사람들은

대충 최상위 라이브러리로 이동한다음 ls와 cd를 사용해서 자신이 docker 폴더를 생성한 볼륨(보통 volume1일거임) 으로 찾아 들어가서 폴더들을 생성할 위치들까지 제대로 찾아들어간 다음 mkdir server–files server–data 부터 괄호 부분들만 제외하고 순서대로 입력해주면

이렇게 필요한 폴더들이 경로 내에 모두 생성이 될것이다.

다음은 시놀로지의 도커앱을 열어서 레지스트리 탭에서 danixu를 검색해주고 “danixu86/project-zomboid-dedicated-server” 이미지를 다운로드해준다.

다운로드가 완료되었으면 이미지 탭으로 넘어와서 다운로드한 이미지를 실행해주고

네트워크는 뭐 굳이 브릿지를 사용할 필요가 없고(사용한다면 위에서 포트포워딩해줬던 포트들을 진행과정중에 다시한번 링크해줘야함)

컨테이너 이름을 설정해주고 왼쪽아래 고급설정 버튼을 누르고 (구버전의 시놀로지의 경우는 이렇게 고급설정 버튼으로 설정페이지가 연결되는게 아니라 그냥 다음을 누르면 될거임)

환경변수에 ADMINPASSWORD와 SERVERNAME을 추가해서 원하는 값을 넣어주면 된다.

이때 PASSWORD 환경변수의 경우는 분명히 이미지 제작자의 설명에선 작동을 하는 환경변수라고 설명해놨던데 작동이 안되니 추가할 필요는 없다.

서버 비밀번호 설정은 조금 있다가 뒤에서 설명하겠다.

그리고 비스팀 서버를 열 사람이라면 NOSTEAM 환경변수를 추가해서 True로 값을 넣어주면 되는데 이건 내가 확인을 안해봐서 이 환경변수도 작동을 제대로 하는지 않하는지는 모르겠다. (일단 적용해보고 안되면 뭐 굳이 지우고 이부분을 다시 수정하고 새로 컨테이너를 설치할 필요없이 그냥 그대로 스팀 서버로 운영하면된다.)

기타 등등의 환경변수는 https://github.com/Danixu/project-zomboid-server-docker 링크를 참조하면 되긴 하는데 환경변수로 모드같은것도 설정할 수 있어보이지만 모드나 워크샵은 그냥 인게임에서 서버를 연 후 해당 서버파일을 데디케이트 서버에 덮어쓰는게 훨씬 편하기 때문에 굳이 다른건 추가할 필요는 없어보인다.

그리고 모드 추가의 경우는 나중에 시간나면 또 포스팅하긴 할거지만 급한사람들은 대충 “좀보이드 나스 데디케이트 서버 모드 적용” 키워드로 검색해서 알아서들 찾아보시길

그리고 앞에서 굳이 브릿지 설정을 추가한 사람들은 링크 탭에서 포트들을 다시한번 적어줘야한다. (구버전 시놀로지는 이 설정이 다른페이지에 있을듯함)

저장을 누르고 다음으로 넘어와서 폴더추가를 눌러주고

생성한 폴더들을 모두 각각

server-data는 /home/steam/Zomboid 경로와

server-files/mods는 /home/steam/pz-dedicated/steamapps/mods 경로와

server-files/steam은 /home/steam/pz-dedicated/steamapps/steam 경로와

server-files/workshop은 /home/steam/pz-dedicated/steamapps/workshop 경로와 연결해주면 된다.

요렇게 해주고 다음을 누르고 설정을 완료해주면 된다.

그렇게 생성 완료된 컨테이너는 컨테이너 탭에서 확인할 수 있고

더블 클릭해서 이렇게 터미널에 마지막에 Zomboid Server is Vac Secure 문장이 나올때까지 참을성있게 잘 기다려준 후 (잠깐 멈추거나 터미널이 비어있어도 일단 컨테이너가 오류때문에 종료될때까지 기대를 저버리지말고 기다려주자)

Vac Secure 문장을 확인하고 컨테이너를 우선 종료해주자
(모드들을 추가해주고 난 경우는 “LOG : Multiplayer , 1705921375198> 47,245,645> [MPStatistics] mem usage notification threshold=8,160,437,760” 이런식의 로그가 마지막으로 나오는걸 기다리면 된다.)

그리고 파일 스테이션을 열어서 /server-data/Server로 들어가서 서버명.ini 파일을 다운받아서

“Password=” 을 검색해서 RconPassword 말고 Password= 뒤에 서버 비밀번호를 입력해주고

공개서버명을 설정하고 싶으면 “PublicName=”을 검색해서 값을 넣어주면 되고 공개서버로 운영하고 싶으면 “Public=”을 검색해서 값을 true로 바꿔주면 된다.

값을 모두 원하는 값으로 수정완료했으면 저장을하고 다시 경로로 덮어쓰기 해주면 된다. (해당파일을 수정했을경우는 반드시 컨테이너를 재시작해야 반영됨)

참고로 저 서버파일들의 서버명에 해당하는 부분들은 항상 환경변수에서 설정한 서버명이랑 일치해야한다

저 파일들을 덮어쓰는 방법으로 나중에 모드도 적용하고 그럴건데 주의하는게 좋다.

경로 덮어쓰기까지 완료했으면 방화벽도 다시 켜고 ssh 포트도 닫아준 다음 컨테이너를 다시 실행하고 게임에 접속해서

여러명이서 하기 메뉴로 들어가서

서버목록 탭에서 자신의 나스가 연결되어있는 네트워크의 외부아이피를 입력해주고 (같은 네트워크의 컴퓨터나 폰에서 네이버에 ‘내아이피’를 검색하면 바로 나옴)

포트는 16261, 서버암호는 위에서 설정한 서버암호로 입력해주고 어드민으로 로그인하려면 유저이름은 admin으로 그리고 비밀번호에는 아까 환경변수로 설정해준 어드민 비밀번호를 입력하면된다.

모두 입력후 저장을 눌러주고 공개서버 목록탭을 잠깐 눌렀다가 다시 서버목록으로 돌아와주면 위 이미지처럼 서버가 제대로 열렸다면 서버에 대한 정보를 확인할 수 있을것이다.

그럼 여기까지 잘 따라오신 분들은 이제 좀보이드 즐겜을 하러가시고 잘 안되신분들은 처음부터 차근차근 다시한번 따라해보시고..

이전 게시물에 실망하고 나갔다가 이 새로운 게시물을 다시 방문한 사람들은 성공적으로 서버를 구축하고 이 NEW 정보글을 다시금 이곳저곳에 링크를 뿌려 업데이트해주시면 감사하겠슴돠.