최적화

모드팩 성능 최적화 가이드

렉 없이 쾌적하게 모드팩을 플레이하기 위한 성능 최적화 팁 모음.

시작하기 전에 — 렉의 정체부터 파악하기

"렉"이라고 부르는 증상은 사실 두 가지가 섞여 있습니다. FPS가 낮은 것TPS(Tick Per Second)가 떨어진 것은 원인이 다르고, 잡는 방법도 다릅니다. F3 키를 누르면 좌측 상단에 두 수치가 모두 보이는데, 이걸 먼저 확인하지 않고 "렉"부터 잡으면 엉뚱한 데서 시간을 씁니다.

  • FPS 낮음 (보통 30 이하) — 그래픽 카드/CPU가 못 따라가는 상태. 인게임 비디오 설정 + 셰이더 끄기로 해결.
  • TPS 낮음 (20 미만) — 서버측 시뮬레이션이 밀리는 상태. 모드 충돌, 청크 누수, 자동화 라인 과부하가 원인. JVM 설정·청크 정리로 해결.
  • 둘 다 낮음 — RAM 부족 또는 Java 버전 미스매치가 가장 흔한 원인.
  • 첫 5분은 *F3 보고 어느 쪽 문제인지 확인*에 쓰세요. 다음 단계는 그 다음입니다.

    JVM 인수 설정 — 렉 잡기의 핵심

    모드팩 성능을 가장 크게 좌우하는 것은 JVM(Java Virtual Machine) 설정입니다. 인게임 설정만 만지고 JVM은 기본값 그대로 쓰는 분들이 많은데, 같은 모드팩이라도 JVM만 제대로 잡아도 TPS가 5~10 올라갑니다.

    RAM 할당 — 너무 많아도 문제

  • 경량 모드팩 (모드 50개 이하): 4GB
  • 중형 모드팩 (모드 100~200개): 6~8GB
  • 대형 모드팩 (모드 200개 이상): 8~12GB
  • ATM10·StoneBlock 후반부: 12GB 권장
  • ⚠️ RAM을 너무 많이 할당하면 역효과: GC(Garbage Collection) 사이클이 길어지면서 1~2초씩 게임이 멈춥니다. 16GB짜리 PC에 12GB 할당하는 건 OS까지 느려지는 함정. *PC 전체 RAM의 60%를 넘기지 마세요.*

    권장 JVM 인수 (G1GC 기반)

    -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200
    -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC
    -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
    -Dusing.aikars.flags=https://mcflags.emc.gs
    

    위 설정은 Aikar's Flags로 불리는 마인크래프트 서버용 검증된 G1GC 튜닝입니다. CurseForge 런처 인스턴스 설정 → "More Options" → JVM Arguments 칸에 위 내용을 그대로 붙여넣으면 됩니다 (-Xmx/-Xms 메모리 설정과 함께).

    Java 버전 매칭

  • 1.21+ NeoForge 모드팩 → Java 21 필수
  • 1.20.1 Forge → Java 17
  • 1.18~1.19 → Java 17
  • 1.16.5 이전 → Java 8 (또는 Java 17 호환)
  • *잘못된 Java 버전 = 100% 크래시*. CurseForge 런처는 자동으로 맞춰주지만, Prism Launcher 등에서는 인스턴스별로 직접 설정해야 합니다.

    인게임 설정 — FPS 끌어올리기

    비디오 설정 (최우선 4가지)

  • 렌더 거리: 8~12 청크. *16 이상은 후반에 무조건 렉.*
  • 시뮬레이션 거리: 6~8 청크. 이게 *렌더 거리보다 더 무거운 설정*입니다.
  • VSync: ON (불필요한 GPU 발열 감소, 화면 찢어짐 방지)
  • 파티클: 최소(Minimal). 자동화 라인이 늘어나면 파티클이 폭증해 FPS를 잡아먹습니다.
  • 추가 OFF 권장 항목

  • 구름(Clouds): OFF
  • 엔티티 그림자(Entity Shadows): OFF
  • 부드러운 조명(Smooth Lighting): Minimum (또는 OFF)
  • 생체 블렌드(Biome Blend): 0 (OFF)
  • 모드별 설정으로 더 짜내기

  • Dynamic Surroundings: 날씨/사운드 효과를 끄면 30~50 FPS 향상 가능
  • Better Foliage: 나뭇잎 디테일 OFF
  • Particle Man / Particle Culling: 파티클 거리 제한
  • Embeddium / Sodium: 이미 포함된 모드팩이면 *Performance* 카테고리 옵션을 모두 켜기
  • 청크 관리 — 후반부 TPS 잡기

    자동화 모드가 본격적으로 굴러가는 후반부에 *FPS는 멀쩡한데 게임이 끊기는* 경우가 많습니다. 이건 청크가 너무 많이 로드돼 있어서 발생하는 TPS 문제입니다.

    자주 발생하는 청크 누수 원인

  • Mekanism Digital Miner를 끄지 않고 멀리 떠난 경우: 청크 로더가 계속 활성 상태로 메모리 점유
  • Create 풍차/물레방아 다수 동작: CPU 점유율이 높음 (자동화 모드 중 가장 무거움)
  • AE2 ME 시스템 + 자동 제작 큐: 큐가 길어지면 매 틱마다 검증
  • Chunk Loader 모드 다수 사용: 의도와 달리 영구 로딩
  • 해결법

  • F3+T로 청크/리소스 즉시 리로드 (가벼운 응급 처방)
  • 사용 안 하는 자동화 라인은 Redstone으로 *비활성*시키기
  • Spark/Observable 같은 *프로파일러 모드*를 깔아 어느 모드/블록이 TPS를 먹는지 확인 (Server-side, 멀티에선 권장)
  • 후반엔 청크 로더 대신 *플레이어 옆 청크만 로드되는* 자연스러운 흐름이 가장 가볍습니다
  • 셰이더 — 켜고 싶다면 알아둘 것

    셰이더는 *순간적으로 사이트가 예뻐지는 만큼 FPS를 30~50 깎습니다.* 추천 흐름:

  • 첫 60시간은 셰이더 끄고 모드팩 자체에 익숙해지기
  • 이후 가벼운 셰이더부터 시도: *Complementary Reimagined* (Better MC에 기본 포함)
  • 더 화려한 셰이더(BSL, SEUS 등)는 후반에 GPU 여유 있을 때만
  • Iris(Fabric용) 또는 Oculus(Forge용)가 셰이더 로더
  • *Distant Horizons*는 셰이더와 함께 쓰면 너무 무거우므로 둘 중 하나만
  • 크래시 대응 기본

    1. crash-report 읽는 법

    인스턴스 폴더 → crash-reports/ 안에 최신 파일을 메모장으로 엽니다.

    ---- Minecraft Crash Report ----
    Time: ...
    Description: Watching Server

    java.lang.OutOfMemoryError: Java heap space at net.minecraft.world.chunk... (Mekanism: ProcessChamber...)

    위 같은 형태에서 에러 종류 + 모드 이름을 찾는 게 핵심입니다.

    2. 자주 보이는 에러와 의미

  • OutOfMemoryError → RAM 부족. -Xmx 값 올리기
  • NoSuchMethodError → Java 버전 불일치 (Java 17이 아닌데 17용 모드 등)
  • NullPointerException at modX → modX 모드 설정/충돌. 해당 모드의 config 비활성화
  • TickTimeoutException → 특정 모드가 한 틱 내에 너무 오래 작동. 보통 자동화 라인 과부하
  • 3. 단계별 해결 순서

  • crash-report에서 모드 이름 확인
  • 해당 모드 폴더(config/{modid}/)의 설정 파일에서 의심되는 옵션 끄기
  • 안 되면 *해당 모드만 삭제*하고 게임 켜보기 (다른 모드 호환성 확인)
  • 마지막 수단: 모드팩 디스코드/CurseForge 페이지의 "Issues" 탭에 신고
  • 백업해 둔 세이브로 복구
  • 추천 측정 도구

  • F3 (인게임 디버그): FPS, TPS, RAM 사용량, 청크 수
  • Spark (모드): TPS 프로파일링, 어느 코드/모드가 무거운지 표시
  • JEI 검색창: 모드 이름으로 검색해 어떤 모드가 어떤 아이템을 추가했는지 추적
  • 함께 읽으면 좋은 글

  • [모드팩 처음 시작하는 사람을 위한 가이드](/guides/beginner-modpack-guide/) — 설치/JEI/백업 등 일반
  • [RLCraft 초보자 생존 가이드](/guides/rlcraft-beginner/) — 1.12.2 RLCraft 특화 팁
  • [모드팩 목록](/modpacks/) — 모드팩별 권장 RAM 확인
  • 📦 관련 모드팩