마인크래프트

마인크래프트 Fabric 모드 서버 제작 완벽 가이드 (2024년 최신판) - 초보자도 쉽게 따라하는 상세 설명서

수다 SUDA 2024. 12. 22. 19:51
728x90
반응형
SMALL

마인크래프트 Fabric 모드 서버 제작 완벽 가이드 (2024년 최신판) - 초보자도 쉽게 따라하는 상세 설명서

안녕하세요! 오늘은 마인크래프트에서 가장 주목받고 있는 모드 로더인 Fabric(패브릭)을 사용하여 나만의 모드 서버를 구축하는 방법에 대해 상세히 알아보도록 하겠습니다. 이 가이드는 초보자부터 중급자까지 모두가 쉽게 따라할 수 있도록 작성되었으며, 서버 구축에 필요한 모든 내용을 담고 있습니다.

목차

  1. Fabric 모드 서버란?
  2. 준비사항
  3. 서버 환경 구축하기
  4. Fabric 설치 및 설정
  5. 필수 모드 설치하기
  6. 서버 최적화 및 성능 향상
  7. 문제 해결 가이드
  8. 심화 설정 및 팁

1. Fabric 모드 서버란?

Fabric은 마인크래프트의 새로운 모드 로더로, 기존의 Forge와는 다른 접근 방식을 취하고 있습니다. 가볍고 빠른 성능, 현대적인 개발 방식, 그리고 빠른 업데이트 지원이 특징입니다. Fabric 모드 서버는 이러한 Fabric의 장점을 살려 커스텀 게임 경험을 제공할 수 있는 서버를 의미합니다.

Fabric의 장점

  • 빠른 구동 속도와 적은 메모리 사용량
  • 신규 마인크래프트 버전에 대한 빠른 지원
  • 모던한 개발 환경과 API
  • 다양한 최적화 모드 지원
  • 안정적인 성능

Forge와의 차이점

Forge가 오랫동안 마인크래프트 모딩의 표준이었다면, Fabric은 새로운 패러다임을 제시합니다. Forge가 무거운 프레임워크를 제공하는 반면, Fabric은 필요한 기능만을 가볍게 구현할 수 있도록 설계되었습니다. 이는 서버 운영에 있어서 다음과 같은 이점을 제공합니다:

  • 더 빠른 서버 시작 시간
  • 향상된 TPS (Ticks Per Second)
  • 적은 메모리 사용량
  • 모드 간의 충돌 가능성 감소

2. 준비사항

성공적인 Fabric 모드 서버 구축을 위해 다음과 같은 준비물이 필요합니다:

하드웨어 요구사항

기본적인 Fabric 서버 운영을 위한 최소 사양은 다음과 같습니다:

  • CPU: 최소 2코어 이상 (권장: 4코어 이상)
  • RAM: 최소 4GB (권장: 8GB 이상)
  • 저장공간: 최소 10GB (권장: 20GB 이상)
  • 네트워크: 안정적인 인터넷 연결

소프트웨어 요구사항

  • Java 17 이상 (최신 버전 권장)
  • 운영체제: Windows 10/11, Linux (Ubuntu 20.04 LTS 이상 권장), macOS
  • 텍스트 에디터 (Visual Studio Code 권장)
  • FTP 클라이언트 (FileZilla 등)

필수 파일 다운로드

  1. Fabric Server Installer
  2. Java Development Kit (JDK)

3. 서버 환경 구축하기

서버 환경 구축은 성공적인 Fabric 서버 운영의 기초가 됩니다. 다음은 상세한 구축 과정입니다.

기본 디렉토리 구조 설정

minecraft-server/
├── mods/
├── config/
├── world/
├── logs/
├── fabric-server-launch.jar
└── server.properties

이러한 구조를 만들기 위한 상세 과정:

  1. 새로운 폴더 생성
  2. mkdir minecraft-server cd minecraft-server mkdir mods config logs
  3. 서버 설치 파일 준비
  • Fabric Installer JAR 파일을 다운로드한 폴더로 이동
  • 다음 명령어로 서버 설치 실행:
java -jar fabric-installer-0.11.1.jar server -downloadMinecraft

서버 속성 설정

server.properties 파일은 서버의 기본적인 동작을 정의합니다. 주요 설정값들을 살펴보겠습니다:

# 기본 서버 설정
server-port=25565
max-players=20
difficulty=normal
gamemode=survival
enable-command-block=true
allow-flight=false
spawn-protection=16

# 성능 관련 설정
view-distance=10
simulation-distance=10
max-world-size=29999984
network-compression-threshold=256

# 게임플레이 설정
pvp=true
spawn-monsters=true
spawn-animals=true
hardcore=false

각 설정값에 대한 상세 설명:

server-port: 서버가 사용할 포트 번호입니다. 기본값은 25565이며, 포트포워딩이 필요한 경우 이 포트를 사용합니다.

max-players: 동시 접속 가능한 최대 플레이어 수입니다. 서버 성능을 고려하여 설정하세요.

difficulty: 게임의 난이도를 설정합니다. peaceful, easy, normal, hard 중 선택할 수 있습니다.

view-distance: 플레이어가 볼 수 있는 청크의 거리입니다. 서버 성능에 큰 영향을 미치므로 신중하게 설정하세요.

4. Fabric 설치 및 설정

Fabric을 설치하고 기본 설정을 진행하는 과정입니다.

Fabric 설치하기

  1. Fabric Installer 실행
  2. java -jar fabric-installer.jar server -mcversion 1.20.1 -downloadMinecraft
  3. 서버 시작 스크립트 생성

Windows (start.bat):

@echo off
java -Xmx4G -Xms4G -jar fabric-server-launch.jar nogui
pause

Linux/macOS (start.sh):

#!/bin/bash
java -Xmx4G -Xms4G -jar fabric-server-launch.jar nogui

JVM 최적화 설정

서버 성능 향상을 위한 JVM 인자 설정:

java -Xmx8G -Xms8G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -jar fabric-server-launch.jar nogui

이러한 JVM 인자들의 역할:

  • -Xmx8G: 최대 힙 메모리 설정
  • -Xms8G: 초기 힙 메모리 설정
  • -XX:+UseG1GC: G1 가비지 컬렉터 사용
  • -XX:MaxGCPauseMillis=200: 최대 GC 일시 중지 시간
  • 기타 최적화 설정들

5. 필수 모드 설치하기

Fabric 서버 운영에 필수적인 모드들을 소개하고 설치하는 방법을 알아보겠습니다.

기본 필수 모드

  1. Fabric API
  2. Lithium
  3. Phosphor
  4. Carpet

추가 추천 모드

  1. ServerCore
    • 서버 성능 최적화
    • 메모리 사용량 감소
  2. Starlight
    • 조명 엔진 완전 재작성
    • 성능 대폭 향상
  3. FerriteCore
    • 메모리 사용량 최적화
    • 모드 호환성 우수

모드 설치 방법

  1. 모드 파일(.jar) 다운로드
  2. mods 폴더에 파일 복사
  3. 서버 재시작

모드 호환성 확인:

java -jar fabric-server-launch.jar nogui

로그를 확인하여 모드 로딩 상태와 충돌 여부를 체크합니다.

6. 서버 최적화 및 성능 향상

서버의 성능을 최대한 끌어올리기 위한 다양한 최적화 방법을 알아보겠습니다.

월드 최적화

  1. 청크 로딩 설정
  2. view-distance=8 simulation-distance=6 entity-broadcast-range-percentage=100
  3. 엔티티 제한
  4. spawn-protection=16 max-entity-cramming=24
  5. 레드스톤 최적화
  • Carpet 모드의 optimizedTNT 규칙 활성화
  • 불필요한 레드스톤 회로 제거

메모리 관리

  1. 힙 메모리 설정
  • 서버 RAM의 70-80% 할당 권장
  • 최소/최대 힙 크기를 동일하게 설정
  1. 가비지 컬렉션 최적화
-XX:+UseG1GC
-XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40
-XX:G1HeapRegionSize=8M
  1. 메모리 누수 방지
  • 정기적인 서버 재시작
  • StackTrace 모니터링

네트워크 최적화

  1. 네트워크 압축 설정
  2. network-compression-threshold=256
  3. 패킷 최적화
  • 불필요한 청크 로딩 제한
  • 엔티티 업데이트 범위 조정

7. 문제 해결 가이드

서버 운영 중 발생할 수 있는 다양한 문제들과 해결 방법을 알아보겠습니다.

일반적인 문제들

  1. 서버가 시작되지 않는 경우
  • 로그 파일 확인
  • Java 버전 체크
  • 모드 호환성 검사
  1. 낮은 TPS (Ticks Per Second)
  • 성능 모니터링
  • 청크 생성 제한
  • 엔티티 수 제한
  1. 메모리 부족 문제
  • 힙 크기 조정
  • 불필요한 모드 제거
  • 월드 크기 제한

로그 분석

주요 로그 파일들:

  • latest.log
  • debug.log
  • crash-reports/

로그 분석 도구:

  • mclo.gs
  • Minecraft Server Log Analyzer

백업 시스템 구축

  1. 자동 백업 스크립트
    #!/bin/bash
    DATE=$(date +%Y%m%d_%H%M%S)
    BACKUP_DIR="/path/to/backup"
    WORLD_DIR="/path/to/minecraft/world"
    

백업 디렉토리 생성

mkdir -p "$BACKUP_DIR"

월드 파일 압축

tar -czf "$BACKUP_DIR/world_$DATE.tar.gz" "$WORLD_DIR"

30일 이상 된 백업 삭제

find "$BACKUP_DIR" -name "world_*.tar.gz" -mtime +30 -delete

복구 절차

  1. 서버 중지
  2. 기존 월드 폴더 백업
  3. 백업 파일 압축 해제
  4. 권한 설정 확인
  5. 서버 재시작

8. 심화 설정 및 팁

서버 운영을 더욱 전문적으로 하기 위한 심화 설정과 유용한 팁들을 소개합니다.

고급 서버 관리

  1. 스크립트를 통한 자동화
  2. #!/bin/bash # 서버 자동 재시작 스크립트 while true; do java -Xms4G -Xmx4G -jar fabric-server-launch.jar nogui echo "서버가 종료되었습니다. 10초 후 재시작합니다..." sleep 10 done
  3. 모니터링 시스템 구축
  • Grafana + Prometheus 설정
  • 커스텀 메트릭 수집
  • 알림 시스템 구성

보안 설정

  1. 방화벽 구성
  2. # Ubuntu 기준 sudo ufw allow 25565/tcp sudo ufw enable
  3. RCON 설정
  4. # server.properties rcon.port=25575 rcon.password=your_secure_password enable-rcon=true
  5. 화이트리스트 활성화
  6. white-list=true enforce-whitelist=true

플러그인 개발 기초

Fabric 모드 개발을 위한 기본 환경 설정:

  1. 개발 환경 구축
  2. # gradle 프로젝트 설정 ./gradlew eclipse ./gradlew genSources
  3. 기본 모드 구조
  4. public class ExampleMod implements ModInitializer { @Override public void onInitialize() { // 모드 초기화 코드 } }

성능 모니터링 및 분석

  1. 프로파일링 도구 설정
  • JProfiler
  • VisualVM
  • Spark
  1. 성능 메트릭 수집
  2. # spigot.yml metrics: enabled: true host: localhost port: 9225
  3. 리소스 사용량 모니터링
  • CPU 사용률
  • 메모리 사용량
  • 디스크 I/O
  • 네트워크 대역폭

커스텀 설정 최적화

  1. 엔티티 처리 최적화
  2. # bukkit.yml chunk-gc: period-in-ticks: 600 spawn-limits: monsters: 70 animals: 15 water-animals: 5 ambient: 15
  3. 청크 관리 최적화
  4. # paper.yml max-auto-save-chunks-per-tick: 6 prevent-moving-into-unloaded-chunks: true

고급 트러블슈팅

  1. 힙 덤프 분석
  2. # 힙 덤프 생성 jmap -dump:format=b,file=heap.bin <pid>
  3. 스레드 덤프 분석
  4. # 스레드 덤프 생성 jstack -l <pid> > thread_dump.txt
  5. 성능 병목 분석
  • 청크 생성/로딩
  • 엔티티 처리
  • 플러그인 지연
  • GC 지연

커뮤니티 운영 팁

  1. 서버 규칙 설정
  • 명확한 가이드라인
  • 처벌 기준
  • 분쟁 해결 절차
  1. 관리자 도구 설정
  • 권한 시스템 구성
  • 로깅 시스템
  • 신고 처리 시스템
  1. 이벤트 및 컨텐츠 관리
  • 정기 이벤트 계획
  • 시즌제 운영
  • 커뮤니티 참여 유도

결론

Fabric 모드 서버 구축은 처음에는 복잡해 보일 수 있지만, 단계별로 차근차근 진행한다면 충분히 관리 가능한 작업입니다. 이 가이드에서 다룬 내용들을 기반으로 하되, 여러분의 서버 특성에 맞게 조정하고 발전시켜 나가시기 바랍니다.

유용한 참고 링크

  1. Fabric 공식 위키
  2. 모드 리소스
  3. 커뮤니티 포럼
  4. 성능 최적화 가이드

마지막으로, 서버 운영은 지속적인 학습과 개선이 필요한 작업입니다. 새로운 버전이 출시되고 새로운 모드들이 개발됨에 따라, 이 가이드의 내용도 계속해서 업데이트될 것입니다. 여러분의 서버 운영 경험을 통해 얻은 노하우를 커뮤니티와 공유하며 함께 성장해 나가시기 바랍니다.

 

 

[요약]
마인크래프트의 현대적인 모드 로더인 Fabric을 사용하여 가볍고 안정적인 모드 서버를 구축하는 방법을 설명하는 가이드로, Java 설치부터 서버 환경 구성, 필수 모드 설치, 성능 최적화, 백업 시스템 구축, 문제 해결, 보안 설정까지 서버 운영에 필요한 모든 과정을 상세히 다루고 있습니다.

 

728x90
반응형
LIST