반응형

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

 

시작하며

서문 
  • 본 가이드는 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을 선택합니다
플레이할 캐릭터 설정
게임 접속 확인 : 방장캐릭터가 서있습니다, 더미 캐릭터입니다. 무시하세요

 

 

 

반응형

+ Recent posts