본문 바로가기
IT/NAS

Synology NAS에서 마인크래프트 서버(페이퍼) 여는 방법

by ITeaStory 2024. 5. 31.

마인크래프트 팬이라면, 자신만의 서버를 운영해보고 싶다는 생각을 한 번쯤 해보셨을 겁니다.
특히, Synology NAS를 사용하고 있다면, 이를 활용해 마인크래프트 서버를 열고 운영할 수도 있습니다.
이 포스팅에서는 Synology NAS에서 마인크래프트 페이퍼 서버를 여는 방법을 단계별로 안내하겠습니다.
Synology NAS에서는 Docker나 Container Manager를 사용하여 Docker 컨테이너를 손쉽게 관리할 수 있습니다.
이 포스팅에서는 Synology NAS와 ContainerDocker Hub에 올라와있는 마인크래프트 Docker 이미지를 사용하여 마인크래프트 페이퍼 서버를 여는 방법을 안내해 드리겠습니다.

1. 준비물

  • Synology NAS (DSM 버전 7 이상)
  • Container Manager 패키지
  • 마인크래프트 페이퍼 서버 설정을 위한 YAML 파일

여기서는 Synology NAS의 Container Manager를 사용해서 서버를 열어볼 예정이라 NAS가 기본적으로 필요합니다.
Synology NAS가 없다면 인터페이스가 달라 별도로 알아봐야 하지만 PC에서 Docker-compose를 설치해서 사용해도 됩니다.
저는 지금 사용하고 있는 Synology DS718+에 램을 추가해 10GB 구성으로 진행하겠습니다.
램 추가는 아래 글을 참고해주세요.
시놀로지 NAS DS718+ 램 업그레이드 마인크래프트 서버를 위해!

시놀로지 NAS DS718+ 램  업그레이드 마인크래프트 서버를 위해!

제가 사용하고 있는 NAS는 시놀로지 DS718+이에요. 얼마 전 이 NAS에서 Docker로 마인크래프트 서버를 열었더니 서버가 올라오는 데까지 한참 걸리고 램 사용률이 어마어마하게 올라가더라고요. 마인

iteastory.com

 

2. Container Manager 설치

먼저 Container Manager를 설치해야 합니다.
검색창에서 Docker나 Container Manager를 검색하면 쉽게 찾을 수 있습니다.

Container Manager

3. 프로젝트 생성

Container Manager의 프로젝트 메뉴에서 하나 이상의 컨테이너로 구성된 프로젝트를 생성하고 관리할 수 있습니다.
여기서 YAML 파일로 Docker 컨테이너들을 생성할 수 있습니다.

3-1. 프로젝트의 이름과 경로 설정

Container Manager를 실행하면 좌측에 개요, 프로젝트, 컨테이너, 이미지, 레지스트리, 네트워크, 로그 메뉴들이 보입니다.
이 중에서 프로젝트 메뉴를 선택해 주면 프로젝트를 생성하고 관리할 수 있는 화면이 아래와 같이 나타납니다.
미리 생성해둔 minecraft_server라는 프로젝트가 실행되어 있습니다.
작업을 완료하시면 아래와 같이 서버가 떠 있는 모습을 보실 수 있습니다.

Synology NAS의 Container Manager

상단의 생성 메뉴를 클릭하면 프로젝트를 생성하기 위한 창이 아래와 같이 나타납니다.

프로젝트 생성

프로젝트 이름, 경로, 원본, 파일 항목이 보입니다.
각각의 항목은 아래와 같습니다.

  • 프로젝트 이름 : 본인이 생성할 프로젝트의 이름
  • 경로 : 프로젝트의 작업 경로
  • 원본 : docker compose yaml 파일을 업로드 또는 신규 생성
  • 파일 : yaml 파일 업로드 시 파일 경로

프로젝트 이름은 본인이 생성할 프로젝트의 이름을 입력하면 됩니다.
저는 minecraft_server를 입력했습니다.
경로는 프로젝트의 작업 경로가 될 디렉토리입니다.
다음에 설정할 원본 부분의 YAML 파일이 생성될 위치이기도 합니다.
저는 docker 공유폴더를 생성하고 그 아래에 minecraft라는 디렉토리를 만들어서 선택해 줬습니다.

3-2. YAML 파일 생성

원본 항목은 docker-compose.yml 업로드가 기본으로 선택되어 있습니다.
저희는 새로 생성할 것이기 때문에 docker-compose.yml 만들기를 선택해 줍니다.
그럼 아랫부분에 yml 파일을 작성할 수 있는 필드가 나타납니다.
여기에 아래 내용을 복사해서 붙여 넣어 줍시다.

version: "3.8"
services:
  minecraft:
    image: itzg/minecraft-server
    tty: true
    stdin_open: true
    ports:
      - "25565:25565"
    container_name: minecraft
    environment:
      - UID=1026
      - GID=100
      - TYPE=PAPER
      - SERVER_NAME=ITeaStoryPaperServer
      - JVM_XX_OPTS=-XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:+PerfDisableSharedMem -XX:+UseG1GC -XX:G1MixedGCCountTarget=4 -XX:G1HeapWastePercent=5 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=200 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:InitiatingHeapOccupancyPercent=15
      - MAX_MEMORY=6G
      - EULA=TRUE
    volumes:
      - /volume1/docker/minecraft/data:/data:rw
    network_mode: host
    restart: always
UID와 GID는 본인의 것으로 수정 필요

여기서 UID와 GID 부분이 있는데 이건 본인의 계정 정보를 입력해야 합니다.
실제로 Docker의 data 디렉토리와 아까 지정한 프로젝트 경로의 NAS 디렉토리가 연결되기 때문에 실제로 내가 NAS의 디렉토리에서 파일을 수정하고 관리하려면 NAS의 계정 UID와 GID가 들어가야 하기 때문입니다.
찾는 방법은 아래 글을 참고해 주세요.
Synology NAS UID GID 찾는 방법(리눅스 명령어 실행)

Synology NAS UID GID 찾는 방법(리눅스 명령어 실행)

UID(User ID)와 GID(Group ID)는 리눅스에서 사용하는 사용자와 그룹의 ID를 의미합니다. 우리가 흔히 알고 있는 ID는 root와 같이 문자열로 된 ID입니다. 하지만 리눅스 시스템에서 사용하는 별도의 ID가

iteastory.com

완료했다면 다음 버튼을 눌러줍니다.

3-3. 프로젝트 생성 완료

웹 포털 설정이 나타나는데 다음 버튼을 눌러주시고 넘어가줍니다.
그럼 요약 화면이 나옵니다.
내용이 맞다면 완료 버튼을 클릭해 줍니다.

웹 포털 설정과 요약

4. 컨테이너 생성

프로젝트 생성을 완료하면 프로젝트 생성 창이 닫히면서 터미널이 나타납니다.
이 터미널에서 현재 프로젝트의 Docker 이미를 다운로드하고 컨테이너를 생성하는 작업의 진행상황을 표시해줍니다.
아래와 같이 컨테이너가 시작되고 생성이 완료되면 자동으로 마인크래프트 서버가 실행되어 있을 것입니다.

마인크래프트 서버 생성 완료

종료 버튼을 클릭해보면 아까 처음 보셨던 화면에서 처럼 서버가 생성되어 있는 것을 확인 할 수 있습니다.
Synology NAS 교체 DS718+ #1 고려사항

Synology NAS 교체 DS718+ #1 고려사항

바꾸려고 생각한 계기는? 저는 기존에 DS215j를 사용하고 있었습니다. 사용상에 문제도 없었고 큰 불편함도 없었죠. 하지만 사람 욕심이란 게 끝이 없더군요. 좀 더 좋은 성능의 NAS를 사용하고 싶

iteastory.com