반응형

시놀로지 나스 + 도커 컴포즈를 활용한 서버 구축하기

 

시작하며

서문 
  • 본 가이드는 YouTube 채널 “테크팀” 에서 제작 되었으며, 테크팀 채널의 영상내용에 최적화 되어있습니다.
  • 본가이드의 오류발견시 아래 주소로 제보 부탁 드립니다.
  • 공식 유튜브채널 [ https://www.youtube.com/@kortechtim ]
  • 공식 디스코드 [ https://discord.gg/ZQ6DzC58rZ ] 
참고자료 (URL)
서버 요구사항 
  • 테스트 결과 CPU 4 Threads, Mem 16GB는 있어야 원활히 동작합니다. 
  • 테스트 결과 멀티 쓰레드를 원활히 지원합니다 (8Core-16Threads 원활히 지원)
방화벽 포트 
  • UDP 24642  :  스타듀벨리 기본 포트 
  • TCP 5801 : 도커 이미지에서 원격 관리용으로 사용하는 포트 

 


유튜브 공식 강의 영상

 


사전 작업

아래와 같은 사전 작업이 완료 되어 있어야 합니다.
Steam 회원 가입 및 SteamGuard 등록

스팀가드 가입이 필수 입니다.

 


스탭1 : 포트포워딩 

공유기 접근 
  • 포트포워딩 메뉴로 진입 : IP타임 기준 'NAT/라우터 관리' → '포트포워드 설정'

TCP5801, UDP24642 번을 포트포워딩 진행함

 

"혹시 다른 공유기 브랜드를 사용하시나요 ?? "
"아래 영상 링크를 참조하세요"

 

IP Time 이외 포트포워딩은 ?  (아래 링크 참조)

 


스탭2 : Container Manager 설치 

만약 설치 되어 있다면 다음 스탭으로 건너 뛰세요 

패키지 센터 → 'container' 검색 → '설치' 클릭
컨테이너 메니져 설치중
설치 완료 확인

 


스탭3 : 설치 폴더 만들기

파일 스테이션에서 Stardew Valley 도커 이미지 설치를 위한 폴더를 만듭니다.

파일 스테이션 도커 디렉토리 → 'stardewvalley' 폴더를 새로 생성함
폴더 생성 확인

 

도커 이미지를 위한 하위 폴더 생성 → valley_saves

stardewvalley 폴더 하위에 'valley_saves' 라는 폴더 생성
하위 폴더 생성 확인

 


스탭4 : 소스코드 다운 및 업로드하기 

Git Code를 다운로드 받습니다. 
 

GitHub - norimicry/stardew-multiplayer-docker: Run a Stardew Valley Multiplayer Server with docker-compose

Run a Stardew Valley Multiplayer Server with docker-compose - norimicry/stardew-multiplayer-docker

github.com

홈페이지에 접속하여, 코드를 ZIP파일로 다운로드 합니다
압축을 해제한 파일 전체를 'stardewvalley' 폴더에 모두 업로드 함
중복 되는 것이 있으면 '덮어쓰기' 클릭
파일 업로드 확인

 


스탭5 : 서버 (도커이미지) 빌드업

컨테이너 매니저 실행 → '프로젝트' → '생성' 클릭
프로젝트 이름은 stardewvalley 로 정하고 '경로설정' 클릭
앞선 스텝에서 만들었던 'stardewvalley' 디렉토리를 선택하고, 하단 '선택' 클릭
파일에서 'docker-compose.yml 만들기' 를 선택함

 

다음 주소에 나와 있는 소스코드를 모두 복사하여, 붙여넣기 함 

https://github.com/norimicry/stardew-multiplayer-docker/blob/master/docker-compose-steam.yml

 

stardew-multiplayer-docker/docker-compose-steam.yml at master · norimicry/stardew-multiplayer-docker

Run a Stardew Valley Multiplayer Server with docker-compose - norimicry/stardew-multiplayer-docker

github.com

소스코드를 전체 다 선택하여 복사 후 → yml 만들기에 붙여넣기 함

 

소스코드 수정 : STEAM_USER, STEAM_PASS, STEAM_GUARD 부분을 
자신의 환경 값으로 수정함 

자신의 SteamID, 패스워드, 스팀가드 값을 넣는다 → '다음' 클릭
웹포털설정은 무시하고 '다음' 클릭
요약을 한번 눈으로 확인 후 '완료' 클릭
서버가 설치됨, 약 5분정도 소요됨
중간에 핸드폰에서 이런 메시지가 뜨면, '승인' 클릭
Exit Code : 0 가 나오면 정상 빌드업 완료 → '종료' 클릭

 

도커 운영상태 확인

컨테이너 → 도커 이미지가 정상 운영되는 것을 확인함

 


스탭6 : 관리자 모드 접속 및 방파기 

웹브라우저에서 NAS 장비의 IP를 넣고 관리자 모드 진입

NAS IP를 이용하여 접근함

기본 관리자 패스워드 insecure 

 

'Co-Op'으로 진입
Host → 'Host New Farm' 클릭
Starting Cabins, Layout, Name등을 설정하고 OK를 눌러 방을 개설

 

방생성이 끝나면, 게임 및 시놀로지 나스와 관련된 모든 웹브라우저는 종료 합니다. 

 


스탭7 : 최종 접속 테스트

스타듀밸리 클라이언트 실행 --> 협동플레이 클릭
참가하기 -> LAN 게임 참가하기를 클릭
공유 받은 공인 IP를 넣습니다
Cabin 을 선택합니다
게임 접속 확인 : 방장캐릭터가 서있습니다, 더미 캐릭터입니다. 무시하세요

 


이상 스타듀밸리 서버(NAS) 구축 가이드 였습니다. 
추가로 궁금하신 사항은 테크팀 공식 디스코드 채널로 방문해주세요 

 

테크팀's server Discord 서버에 가입하세요!

나만의 게임서버를 구축하고, 지인들과 함께 즐기기 위한 기술 가이드 | 멤버 2990명

discord.com

 

 

 

반응형
반응형

 

 

 

시작하며

서문 
  • 본 가이드는 YouTube 채널 “테크팀” 에서 제작 되었으며, 테크팀 채널의 영상내용에 최적화 되어있습니다.
  • 본가이드의 오류발견시 아래 주소로 제보 부탁 드립니다.

 

참고자료 (URL)

 

서버 요구사항 
  • 테스트 결과 CPU 4 Threads, Mem 16GB는 있어야 원활히 동작합니다. 
  • 테스트 결과 멀티 쓰레드를 원활히 지원합니다 (8Core-16Threads 원활히 지원)

 

방화벽 포트 
  • UDP 24642  :  스타듀벨리 기본 포트 
  • TCP 5801 : 도커 이미지에서 원격 관리용으로 사용하는 포트 

 

유튜브 공식 영상 (테크팀채널)

 


사전 작업

아래와 같은 사전 작업이 완료 되어 있어야 합니다.
1. 구글 클라우드 회원 가입 (링크이동)
2. Steam 회원 가입SteamGuard 등록 

 


구글 클라우드 작업 

아래 영상을 참조하여 구글 클라우드에서 다음과 같은 작업을 진행합니다.
1. GCP 방화벽 개방  
2. GCP VM 생성 

 


리눅스 OS 작업

Step01 : APT Update
sudo apt update

 

Step02 : 리눅스 방화벽 개방 
  • 개방된 방화벽은 VM 리부팅 후 초기화 됩니다. 
  • VM을 리부팅 했다면 아래 명령어를 통해, 방화벽 개방을 다시 수행해주셔야 합니다. 
## 방화벽 개방 ##
sudo iptables -I INPUT -p udp --dport 24642 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 5801 -j ACCEPT

## 방화벽 개방 확인 ##
sudo iptables -nL

 

Step03 : Docker Compose 설치
sudo apt install docker-compose

 

Step04 : Git Clone
  • 홈디렉 토리로 이동
cd ~
  • Git Code 복제
git clone https://github.com/pinduzera/stardew-multiplayer-docker.git

 

Step05 : 도커 이미지 설치 위치로 이동
cd ~/stardew-multiplayer-docker

 

Step06 : 변수 값 설정 
  • nano 프로그램으로 'docker-compose-steam.yml' 파일의  주요 항목 3가지를 변경합니다. 
nano docker-compose-steam.yml
  • 아래 3가지 항목을 각자의 환경으로 변경 합니다. 
      args:
        ## Recommended: set as env_variable during build
        STEAM_USER: ${STEAM_USER}  <-----------------------[변경]
        ## Recommended: set as env_variable during build
        STEAM_PASS: ${STEAM_PASS}  <-----------------------[변경]
        ## Recommended: set as env_variable during build
        STEAM_GUARD: ${STEAM_GUARD} <----------------------[변경]

 

Step07 : Docker Inital Setup and Run
  • 아래 명령어로 도커를 빌드업 합니다.
sudo docker-compose -f docker-compose-steam.yml up
  • 설치 중간 휴대폰(스팀가드)에서 승인 메시지가 출력됩니다. 잊지말고 꼭 승인 버튼을 클릭합니다. 

 

Step08 : 스크린 실행을 위해, 게임엔진 임시 종료 
  • 최초 설치가 끝났다면, 잠시 프로그램을 종료 합니다.
ctrl + c

 

Step09 : Screen 유틸리티 수행 
screen

 

Step10 : 게임엔진 실행 
  • 게임설치 디렉토리로 이동
cd ~/stardew-multiplayer-docker
  • 게임 엔진 기동
sudo docker-compose -f docker-compose-steam.yml up

 

Step11 : screen 유틸리티 백그라운로 빼기
ctrl + a + d

 

참고(옵션) : screen 유틸리티 심화 과정 

 


스타듀벨리 설정 & 방 생성

Step01 : 서버 GUI 접속 
  • 웹브라우저 실행 (크롬 추천) 
  • 주소 표시줄에 VM의 공인IP를 복사하여 붙여 넣는다. 
  • 기본 패스워드 : insecure

<공인IP>:5801

 

Step02 : 멀티플레이를 위한 방(Farm) 생성

Co-Op을 눌러 멀티 플레이로 진입

 

Host -> New Farm을 눌러 방을 생성

 

Starting Cabins, Layout, Name등을 설정하고 OK를 눌러 방을 개설

 

Step03 : 방생성 끝
  • 모든 작업이 완료되었습니다
  • 게임 GUI창 을 포함한 GCP Consoel 까지 모두 닫으셔도 됩니다. 

 


최종 접속 테스트

클라이언트 실행 & 멀티방 접속

스타듀밸리 클라이언트 실행 --> 협동플레이 클릭

 

참가하기 -> LAN 게임 참가하기를 클릭
공유 받은 공인 IP를 넣습니다
Cabin을 선택합니다
플레이할 캐릭터 설정
게임 접속 확인 : 방장캐릭터가 서있습니다, 더미 캐릭터입니다. 무시하세요

 

 

 

반응형
반응형

시작하며

서문 
  • 본 가이드는 YouTube 채널 “테크팀” 에서 제작 되었으며, 테크팀 채널의 영상내용에 최적화 되어있습니다.
  • 본가이드의 오류발견시 아래 주소로 제보 부탁 드립니다.

 

참고자료 (URL)
  • 도커데스크탑 공식 사이트 : 링크이동
  • 본 가이드에서 참고하는 도커 이미지 사이트 : 링크이동

 

서버 요구사항 
  • 테스트 결과 CPU 4 Threads, Mem 16GB는 있어야 원활히 동작합니다. 
  • 테스트 결과 멀티 쓰레드를 원활히 지원합니다 (8Core-16Threads 원활히 지원)

 

사용할 방화벽 포트 
  • UDP 60002  :  스타듀벨리 기본 포트 
  • TCP 60001 : 도커 이미지에서 원격 관리용으로 사용하는 포트 

 

공식 가이드 [유튜브 영상 가이드]

 


사전 작업(1) : 스팀 계정 만들기 + 스팀가드 설정

아래와 같은 사전 작업이 완료 되어 있어야 합니다.
1. 구글 클라우드 회원 가입 (링크이동)
2. Steam 회원 가입  SteamGuard 등록 

 


사전 작업(2) : GIT, GITLFS 설치

GIT 설치 

설치는 Next만 클릭

 

GITLFS 설치 

 


사전 작업(3) : 도커 데스크탑 설치

Step01 : 도커 데스크탑 다운로드
  • 도커 데스크탑 사이트로 이동하여 프로그램을 설치 합니다 : 링크이동

 

Step02 : 도커 데스크탑 설치 
  • 아래 2개의 항목 모두를 체크하고 Next

설치 진행 중

 


사전 작업(4) : 포트포워딩 구성

공유기 접근 
  • 포트포워딩 메뉴로 진입 : IP타임 기준 'NAT/라우터 관리' → '포트포워드 설정'

포트포워딩 메뉴로 진입 완료

 

포워딩 진행완료 

포트포워딩 완료

 

IP Time 이외 포트포워딩은 ?  (아래 링크 참조)

 


사전작업(5) : 윈도우 방화벽 개방

파워쉘 실행 : 관리자 권한으로 실행

 

방화벽 개방 명령어 수행
New-NetFirewallRule -DisplayName "StardewValley" -Direction Inbound -LocalPort 60002 -Protocol UDP -Action Allow
New-NetFirewallRule -DisplayName "StardewValley" -Direction Inbound -LocalPort 60001 -Protocol TCP -Action Allow

 


게임엔진 설치 (도커 구성)

터미널 실행 
  • 서버 설정 파일을 저장할 위치로 이동 
  • C: or D: 를 추천 합니다. (Path 중간 or 디렉토리에 한글 이름이 있을 경우 오류가 발생 됩니다) 주소 표시줄에 'cmd'를 입력하여 터미널을 실행 합니다. 

터미널 실행 확인

 

Git Cloning 
  • 아래 명령어를 수행하여 Git 소스코드를 Cloning 합니다.
git clone https://github.com/pinduzera/stardew-multiplayer-docker.git

파일이 Cloning된 것을 확인할 수 있다

 

도커 이미지 사용 포트변경 
  • Cloning 디렉토리 안 'docker-compose-steam.yml' 파일을 메모장으로 열어 편집함 
  • 제일 아래 2가지 항목을 수정함 
  • (아래) 변경전 기본 값
    ports:
      # VNC
      - 5902:5900
      # NOVNC WEB
      - 5801:5800
      # Game  
      - 24642:24642/udp

 

  • (아래) 변경후 기본 값
    ports:
      # VNC
      - 5902:5900
      # NOVNC WEB
      - 60001:5800  <-------------------[변경]
      # Game  
      - 60002:24642/udp  <--------------[변경]

 

환경 변수 변경 
  • 마찬가지로 'docker-compose-steam.yml' 파일의 상단 환경변수를 수정함
STEAM_USER={당신의SteamID}
STEAM_PASS={당신의SteamID비번}
STEAM_GUARD={당신의SteamGuard값}

 

도커 빌드 (Docker Build) 
  • 스팀(도커) 이미지가 있는 폴더를 열어 'CMD'를 올바른 위치로 실행함
  • 아래와 같은 명령어를 사용하여 Docker를 Build 함 
docker compose -f docker-compose-steam.yml up

도커가 빌드된다, 시간은 대략 3~4분 소요됨

  • 중간에 로그인 승인하라는 메시지가 휴대폰 (스팀가드)를 통해 전송된다, 반드시 승인을 클릭 

 

구동 완료 
  • 아래와 같은 메시지가 출력된다면 모든 작업이 완료 됨 
  • 서버를 동작시키는 동안에는 아래 터미널 창을 종료해서는 안됩니다. 

 


게임 방 생성 

서버 GUI 접속 
  • 웹브라우저 실행 : 크롬 추천
  • http://{자신의IP}:60001 로 접속함 (공인IP / 127.0.0.1 / localhost 모두 입력 가능)
  • 기본 패스워드 : insecure

https 가 아닌, http를 사용해야 함

 

멀티플레이를 위한 방(Farm) 생성

Co-Op을 눌러 멀티 플레이로 진입

 

Host -> New Farm을 눌러 방을 생성

 

Starting Cabins, Layout, Name등을 설정하고 OK를 눌러 방을 개설

 

방생성 끝
  • 모든 작업이 완료되었습니다

 


서버 접속 테스트

클라이언트 실행 & 멀티방 접속

스타듀밸리 클라이언트 실행 --> 협동플레이 클릭

 

참가하기 -> LAN 게임 참가하기를 클릭
공유 받은 공인 IP를 넣습니다
Cabin을 선택합니다
플레이할 캐릭터 설정
게임 접속 확인 : 방장캐릭터가 서있습니다, 더미 캐릭터입니다. 무시하세요

 

반응형

+ Recent posts