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

종강을하고 맥북만 가지고 고향집에 내려오니 마땅히 할 게임이 없어서 이 게임 저 게임을 기웃거리던 중 친구가 좀보이드가 어떻냐고 추천해줬다.

그래서 유튜브로 멀티플레이를 하는 모습을 보니 조~금 재밌어 보였고 멀티플레이를 하기위해선 서버를 열어야 하는데 그냥 게임 자체의 호스트 서버 기능을 사용하면 호스트가 게임을 플레이 할 때만 접속을 할 수 있고 데디케이트(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 serverfiles serverdata (serverfiles, serverdata 명의 폴더 생성)
sudo chown 1000:1000 serverfiles (serverfiles 권한 설정)
sudo chown 1000:1000 serverdata (serverdata 권한 설정)
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 파일을 수정해서 설정할 수 있고 이때 서버명은 수정하지 않도록한다.

그리고 항상 수정하기 전에 컨테이너를 종료를 하고 수정을하고 수정을 완료하고나면 컨테이너를 재시작해주면 된다.

여튼 내가 조리있게 잘 설명을 했는지는 모르겠지만 알잘딱깔센하게 알아들으시고 서버구축에 다들 성공하시길 기원한다.

시놀로지 (헤놀로지) Photo Station 포트 변경방법

한 2년정도 전에 만들어놨던 헤놀로지가 하나 있는데 그동안 쓸일이 없어서 구석에 박아놓고 잊고 지내다가 한 2주전부터 집에 있는 가족사진을 모두 디지털화해서 보관해 보고자 하고 다시 전원을 올리게 되었다

집에 있는 복합기가 여러장 겹쳐놓으면 한장씩 자동으로 스캔되는 그런 고오급 기능 그딴건 없고 걍 엎어놓고 스캔하고 다시 엎어놓고 스캔하고 해야하는 저렴이 녀석이라 2주동안 블로그 포스팅은 물론 다른건 하지도 못하고 스캔뜨고 자르고 스캔뜨고 자르고만 반복했다

그렇게 ‘아 이래서 돈을 주고 맡기는구나’를 하루에 한번씩 새삼스럽게 느끼며 무지성으로 반복작업을 하다보니 어느덧 끝이나게 되었다

그렇게 스캔을 끝내고 헤놀로지의 포토스테이션을 통해서 백업을 하고 보니 포토스테이션은 참 희한하게도 응용프로그램 설정에서 포트 설정을 할 수 없고 역방향 프록시 설정을 해줘야 했는데 어짜피 서브도메인을 활성화를 시켜줄 환경도 아니고 설정만 깔끔하지 못하게 되는 느낌이라 응용프로그램 설정에서 포트변경이 가능하게끔 해주기로 했다

원래는 위 사진과는 다르게 제어판의 응용 프로그램 포털에서 Photo Station 메뉴를 확인할 수 없을 것이다

그렇기에 포트 설정을 위해선 이 기능을 활성화 시켜줘야 하는데 우선 시놀(헤놀)의 터미널을 활성화 시켜주고

윈도우의 cmd나 맥의 터미널이나 여튼 터미널 접속이 가능한 툴을 통해서

1
2
ssh 사용자명@주소 -p 포트번호
비밀번호
cs

ssh 접속을 해주고

1
2
sudo -i
비밀번호
cs

루트 권한을 활성화 해주고

1
cd /usr/syno/etc/www/app.d
cs

위 디렉터리로 이동을 해준다

그리고 해당 디렉터리에 2가지 파일을 설정해줘야하는데

1
vi PhotoStation.json
cs

우선 PhotoStation.json 파일부터 생성을 해준다

i를 눌러 입력을 활성화 시켜주고

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
   “application”“Photo Station”,
   “id”“SYNO.SDS.PhotoStation.Instance”,
   “alias”“photo”,
   “fqdn”“photo.example.com”,
   “https”: {
       “hsts”false,
       “http2”false
   },
   “alternatePort”: {
     “http”9130,
     “https”9131
   },
   “injectable”false,
   “index”“index.php”,
   “root”“/var/packages/PhotoStation/target”,
   “version”2
}
 
cs

위 내용을 복사 붙여넣기 해주고 esc >> :wq! >> 엔터를 눌러서 저장을 해준다

1
vi PhotoStation.mustache
cs

다음은 PhotoStation.mustache 파일을 생성해주고 역시나 i를 눌러서 입력을 활성화 시켜준 다음

1
2
3
4
5
6
7
8
9
10
11
12
{{#server}}
   location = /index.php {
      return 302 /;
   }
   location / {
      rewrite ^//photo/index.php last;
      rewrite ^/~([^\/]+)$ /photo/index.php last;
      rewrite ^/blog/(.+)$ /blog/$1 last;
      rewrite ^/(.+)$ /photo/$1 last;
   }
   {{> /var/packages/PhotoStation/target/etc/SYNO.SDS.PhotoStation/www.PhotoStation.conf}}
{{/server}}
cs

이 내용을 복사 붙여넣기 해주고 역시나 esc >> :wq! >> 엔터를 통해서 저장을 해준다

여기까지 완료했으면 터미널에 exit을 입력해서 연결을 종료해주고 다시 시놀로지의 제어판에서 응용프로그램 포털로 들어가면

위와 같이 포토스테이션의 포트 설정이 가능하게 된다

헤놀로지 부트로더 ssd에 설치하기(usb없이 부팅)

Synology DSM on a Custom Built NAS – Xpenology Guide – NAS Compares

보통은 헤놀로지 부트로더를 usb에 설치한다

그런데 usb부트로더는 헤놀을 매번 부팅할때마다 꽂아서 부팅해야한다는 번거로움이 있다

그래서 나는 마침 타오나스 j1900 모델을 사용중이기도 하고 해당 모델이 메인보드에 msata 16기가 짜리 ssd가 딸려서 달려있기에 그곳에 부트로더를 직접 설치하여 굳이 제품에 usb를 꽂았다 뺐다할 번거러움을 줄였다

그리고 타오나스의 경우는 원래 ssd에 부트로더가 깔려서 오지만 아무래도 중국에서 들어오는거기에 싹 밀어버리고 새로 설치를 하고자 하거나 자작 나스의 부팅에 있어서 번거로움을 줄이고자 한다면 이 글을 참고하면 좋지 않을까 싶다

필요한 준비물

1. 내장 ssd(msata) 설치가 가능한 메인보드 (m.2 소켓만 있는경우는 어댑터를 사용)

sata ssd나 hdd하나를 부팅용으로 써도 되기야 하겠지만 쓸대없는 낭비를 하는꼴이기에 보드에 내장 ssd 설치가 불가능하다면 그냥 부팅 usb를 만들어 쓰도록 하는게 좋을 것이다

용량을 낭비하지 않고 ssd나 hdd를 쓰는 방법으론 파티션을 나눠서 그 파티션에 부트로더를 설치하는 방법이 있기야 하겠지만 해당 저장장치를 제거시 또 따로 부트로더를 설치를 해줘야 하는 번거로움이 있기에 이 글에선 msata ssd에 부트로더를 설치하는 방법만 소개하겠다

2. 저용량의 내장 ssd

m.2 ssd의 경우는 저용량 제품이 존재하질 않으니 굳이 부팅용 ssd에 파티션을 줘서 따로 설치하고 어우;;; 번거로워서 그냥 usb를 쓰겠다

msata ssd의 경우 가격도 저렴하고 용량도 작고 진짜 부팅용으로만 사용을 하는것이기에 수명이 크게 깎일 걱정도 할 필요가 없어서 설치만 해놓으면 신경 쓸 필요도 없이 그냥 껐다 켰다 마음껏 하면 된다

3. 적당한 용량의 usb

msata ssd에 부트로더를 설치해주기 위해선 winpe 부팅 usb를 만들어서 나스 본체를 winpe로 부팅을 해서 설치를 해줘야한다

부팅 usb라 하더라도 usb에 저장된 파일들은 부팅후 개별적으로 실행해 사용할 수 있으니 usb는 하나만 있으면 된다

4. 자신이 설치하고자 하는 dsm 버전과 그에 맞는 부트이미지

헤놀로지는 사용하고자 하는 dsm버전에 맞는 부트이미지를 꼭 사용해줘야 한다

나같은 경우는 dsm버전은 918+ 6.2.3, 부트이미지는 Jun’s mod 1.04 Jun’s mod 1.04b 6.2.3 추가 드라이버가 적용된 버전을 이용했다.

6.2.3버전을 사용하기 위해선 꼭 추가드라이버가 적용된 버전을 이용해야한다.

그렇지 않으면 dsm을 올리면 랜에 잡히질 않아서 개고생을 해야할 것이다.

본인도 몇일을 개고생을 했는지…ㅜㅜ

dsm버전은 https://www.synology.com/ko-kr/support/download 에 들어가서 부트이미지에 호환이 되고 사용하고자 하는 버전으로 다운받으면 된다

5. osfmount

https://www.osforensics.com/tools/mount-disk-images.html

부트이미지 수정에 필요한 프로그램이다

해당링크를 타고 다운을 받으면 된다

6. usb view

https://www.softpedia.com/get/System/System-Info/USBView.shtml

헤놀로지 부트로더를 만들기 위해선 부트디스크의 vid(idVendor)와 pid(idProduct)를 알아내어 부트이미지를 수정해줘야 하는데 이때 vid와 pid를 알아내기위한 프로그램이다

++ ssd 나 하드에 부트이미지를 설치시엔 vid와 pid릉 그냥 공란으로 세팅하면 된다

역시 위 링크를 타고 다운을 받으면 된다

7. roadkil’s disk image

https://www.roadkil.net/program.php?ProgramID=12

msata ssd에 부트이미지를 씌워주기위해 나스를 winpe로 부팅후 ssd에 이미지를 씌워줘야하는데 이때 ssd에 부트이미지를 씌워줄때 사용된다

링크타고 받도록

8. winpe 부트이미지

부트이미지는 대부분 개인 자작이기 때문에 링크를 하지 않겠다

이때 꼭 랜드라이버가 설치되어있는 버전을 사용해야한다

나는 홍차의 꿈이라는 분께서 제작하신 win10pe 부트이미지를 사용했다.

이건 알아서 찾도록

9.Rufus

https://rufus.ie/

winpe 부팅usb를 만들때 필요한 프로그램이다

그냥 포터블 버전으로 다운받아 쓰면 편하다

준비물이 모두 모였다면 아래 순서대로 따라하기만 하면된다

1. winpe 부팅 usb 만들어주기

usb를 선택해주고 winpe 부트이미지를 선택 후 구워주면 된다

2.부팅 usb에 Diskimage, usbview넣어주기

그냥 넣어주면된다

3.자작나스 winpe 부팅

  • 모니터, 키보드, 마우스 모두 끼워주고 부팅 usb를 꽂은 후 f11을 겁나 연타해서 winpe로 부팅한다
  • win+r키를 눌러 실행창을 열고 cmd를 실행하고 ipconfig /all을 입력하여 mac주소(물리적주소)를 메모한다
  • 부팅usb에 담았던 usbview를 실행하여 자작나스의 msata ssd의 vid와 pid를 메모해준다
    이때 무엇이 usb이고 무엇이 msata ssd인지 헷깔릴텐데 usb를 메이커를 사용한다면 해당 메이커이름이 vid에 같이 뜨기에 구별하기 쉬울것이다

4. 메모를 해줬으면 종료후 usb를 뽑고 다시 작업을 하던 컴퓨터에 꽂아준다

  • osfmount를 실행한다
  • mount new를 눌러 헤놀로지 이미지 파일(synoboot.img)을 선택하고 next를 누른다
  • 15mb짜리를 선택한 후 next를 누른다
  • read-only drive를 체크해제해준후 mount를 누른다
  • osfmount에 뜨는 항목을 더블클릭해준다
  • grub폴더에 들어가 grub.cfg파일을 메모장으로 열어준 후 메모해놨던 vid, pid, mac주소로 해당 부분을 수정해준 후 저장한다 (ssd 나 하드에 부트이미지를 설치시엔 vid와 pid를 공백으로 해도 된다)
  • osfmount로 돌아가 dismount all & exit로 종료해준다
  • 수정한 이미지 파일을 부팅 usb에 담아준다

5. 다시 winpe로 자작나스를 부팅해준다

  • 부팅후 cmd를 실행하여 명령어 diskpart실행 > 명령어 list disk 실행 후 부트로더를 설치하고자 하는 저장장치가 몇번인지 확인 > sel disk 번호 명령어 실행으로 저장장치 선택 > clean 명령어 실행 후 cmd창을 종료를 해준다 이때 저장장치 잘못선택하면 부팅 usb날려먹고 파일들을 새로 넣어야 하니 잘 보고 선택하도록
  • 부팅 usb에 담았던 roadkil’s disk imge를 실행해준다
  • msata를 선택하고 수정한 이미지를 선택하여 구워준다

6. usb를 뽑은 후 나스를 설치하고자 하는 곳에 나스를 세팅해준 후 부팅을 한다

7. 나스를 세팅한다

  • http://find.synology.com/ 링크를 이용하거나 Synology Assistant를 설치하여 나스 초기 세팅을 해준다
  • 이때 꼭 수동으로 dsm파일을 올려주어야 하고 관리자 계정을 설정 후 업데이트 설정은 설치여부 알림으로 선택하고 퀵커넥트설정은 건너뛰어 주어야 한다.

그럼 이제 헤놀로지 msata 부팅 설정과 설치과정은 끝이났다

msata에 부트디스크를 설치하였으므로 재부팅시 usb를 꽂았다 빼었다 할 필요없이 마음껏 껐다 켜도 무방하다

다음글은 헤놀로지의 기본적인 초기 세팅에 대해서 글을 쓰도록 하겠다.

타오나스 케이스 조립기

지금 이 블로그가 운영되고 있는 서버는 타오나스에서 적출된 j1900을 중고로 구매하여 집에 있던 삼성 데스크탑 케이스에 집어 넣어서 굴리고 있는 서버이다

그런데 아무래도 외적으로도 보기 안좋고 나스만의 특징인 하드 핫스왑이 너무나 탐이났기에 몇주동안 중고나라에 키워드를 걸어넣고 존버를 탔다

그러던중 키워드 그물에 매물이 딱 걸렸고 두말할것 없이 질렀다

도착한 케이스

크 4개의 핫스왑베이가 왜이렇게 이쁜지 모르겠다

뒤에 보이는 본체가 이전까지 서버로 쓰이던 녀석이다

크기도 아담한게 너무나 맘에든다

이전 케이스에 이식되어있던 j1900을 적출해주고

새로 구매한 케이스로 옮겨주었다

이 j1900이 원래 타오나스로 팔리던 제품에서 적출된 녀석을 구매한것이니 이녀석은 드디어 본래 자신의 몸을 되찾은셈이다

뚜껑 덮어주고

하드도 이전케이스에서 적출해주고

핫! 스왑 베이에 이식해주면 된다

그냥 저렇게 끼워서 쇽!하고 넣어주기만 하면 되니 얼마나 깔끔한지 모르겠다

이전의 케이스는 괜히 거추장스럽게 장식장 옆에 놔뒀었는데 이 케이스는 워낙 크기가 콤빽뜨하다보니 우퍼위에 올려놓으니 보기 싫지도 않고 딱 적당한것같다

한가지 단점이라면 딸려온 쿨러팬이 너무나 시끄럽다는것인데 당장에는 어짜피 하드도 하나밖에 없는지라 그냥 선을 뽑아놨다

하드도 시끄럽기도 하고 다음에 월급들어오면 나스용 ssd랑 함께 쿨러팬도 하나 같이사서 교체해줘야겠다

“위 배너를 통해 제품을 구매해주시면 제가 일정액의 수수료를 받을 수 있습니다. ㅎㅎ”