[Docker] 헤놀로지로 마인크래프트 모드 서버 열기(FTB)


제 동생하고 둘이서 FTB를 플레이하는데 서버가 필요해졌습니다.

인터넷에 마인크래프트 서버 여는 방법은 많이 나와있는데 FTB서버 여는 방법은 안나와서 포스팅 합니다.

FTB서버가 아니여도 응용만 하면 모드팩, 일반 마크서버도 당연히 열 수 있습니다.

 

준비물

Docker가 돌아가는 시놀로지(헤놀로지) 서버

FTB 모드팩 서버(버킷)

 

서버사양

CPU : J4005

RAM : DDR4 4GB X 2

HDD : 3TB

 

제 NAS 서버사양은 다음과 같습니다

FTB 모드팩들이 모드들이 워낙 많아서 이 사양으론 힘들지 않을까 고민했는데

실제로 열어보니 2~3명정도 감당하는덴 무리가 없었습니다.

 

FTB 모드팩 버킷 받기

(다음은 일반적인 방법이며 여러 방법으로 모드팩 버킷을 받을 수 있습니다)

1. 인터넷에 자신이 플레이하는 모드이름 server 형식으로 검색합니다.

그 후 Curseforge 사이트에 들어갑니다.

 

2. Files 를 누른후 +1 Server Pack 표시된 부분을 클릭합니다.

버전은 필요한걸 선택합니다.

 

3. 아래 Additional Files 에서 FTB 서버 버킷을 받습니다.

그 후 서버파일을 압축해제해 줍니다.

 

 

모드서버 설정하기

 

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Thu Aug 20 17:19:14 KST 2020
eula=true

우선 eula.txt를 열어서 eula를 true로 수정합니다

 

###################################################
# Configuration for ServerStart.sh and FTBInstall.sh
#
# TODO:
# * updates for new mojang repositories
# * create settings-local.sh automatically if missing
# * document settings-local.sh creation and usage

###################################################
# Pack specific settings
# Only edit this section if you know what you are doing

export MCVER="1.12.2"
export JARFILE="minecraft_server.${MCVER}.jar"
export LAUNCHWRAPPERVERSION="1.12"
export LAUNCHWRAPPER="net/minecraft/launchwrapper/${LAUNCHWRAPPERVERSION}/launchwrapper-${LAUNCHWRAPPERVERSION}.jar"
export FORGEJAR="FTBserver-1.12.2-14.23.5.2846-universal.jar"

###################################################
# Default arguments for JVM

## Copy following lines into settings-local.sh to create local config file which overrides default settings given here
export JAVACMD="java"
export MAX_RAM="4096M"       # -Xmx
export JAVA_PARAMETERS="-XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=5 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10"

settings.sh를 열어서 서버에 할당할 MAX_RAM을 알맞게 수정합니다.

(2048M = 2GB, 4096M = 4GB)

 

설정이 끝났으면 서버파일을 NAS로 옮겨줍니다.

경로는 상관없으나 저는 home 파일에 뒀습니다.

 

Docker 설치하기

Docker 레지스트리에 가서 java를 검색하고 java를 설치합니다. 버전은 latest로 설치했으나

특정 java 버전이 필요하신 분들은 따로 설정하시길 바랍니다.

이미지에 가서 설치가 완료되었으면 java를 더블클릭 해줍니다.

 

컨테이너 이름은 원하는대로 입력하시고 고급 설정을 눌러주세요.

 

폴더 추가를 눌러서 아까 NAS에 넣어뒀던 서버팩 폴더를 선택하시고

마운트 경로는 /data로 입력합니다

 

포트는 로컬포트/컨테이너 포트 25565 로 

TCP, UDP 둘다 만들어주세요.

로컬포트 자동으로 두시면 외부에서 접속이 안됩니다.. 

꼭 사진과 똑같이 설정해주세요.

 

다 했으면 적용 누르고 컨테이너 만들어주세요.

 

컨테이너로 이동해서 방금전에 만들어준걸 찾습니다.

저는 이름을 FTBAcademy 라고 지었습니다.

 

서버 수동을 위해 더블클릭 해줍니다.

 

창이 떴으면 터미널 탭으로 이동합니다.

 

그리고 다음 명령어를 입력합니다

 

cd data
sh settings.sh
sh ServerStart.sh

 

이렇게되면 서버가 구동되게 됩니다. 참쉽죠?

sh settings.sh 는 세팅을 적용할때만 입력해주면 됩니다.

 

나중에 다시 서버 킬때는

cd data

sh ServerStart.sh 

두문장만 입력해주면 됩니다.

 

외부 접속이 필요하다면 NAS ip로 포트포워딩 / dmz 설정을 해주면 됩니다.

포트포워딩에 대해선 인터넷에 글이 많아서 따로다루지 않겠습니다.

 

혹시 JAVA오류가 뜨면서 서버구동이 안된다면?

패키지 센터에서 Java8을 받고 재부팅 해주면 됩니다.

(재부팅 꼭 하셔야 함.)

 

서버 세팅 완료

 

잘 됩니다~ 맨날 빡센 모드팩만 하다가 순한거 하니 힐링되네요

FTB Academy 는 참고로 모드팩 초심자를 위한 튜토리얼 형식의 모드팩입니다

저는 빅리엑터 메카니즘 Environmenta Tech 정도만 추가했는데 재밌네요 

COMMENT WRITE