최근 수정 시각 : 2024-08-17 14:51:06

spark(마인크래프트/모드)


파일:관련 문서 아이콘.svg   관련 문서: 마인크래프트/모드
,
,
,
,
,
<colbgcolor=#ffc93a><colcolor=#000> spark
스파크
파일:spark 로고.svg
다운로드 페이지 공식 사이트 Modrinth CurseForge
버전 1.7.10, 1.12.2, 1.16.5 ~ 1.21.1
지원 로더 Spigot, Paper, Forge(1.7.10~), NeoForge(1.20.2~), Fabric(1.15.2~), Sponge, BungeeCord, Velocity, Nukkit
공식 링크 파일:GitHub 아이콘.svgGithub spark 공식문서

1. 개요2. 사용법
2.1. 프로파일러 분석하기(서버)

[clearfix]

1. 개요

spark는 클라이언트 내 프레임이나 서버 내 틱을 분석하여 어느 부분이 문제가 있는지 파악해주는 모드이다.

2. 사용법

spark 공식 문서 참조 유튜브 영상(한국)도 참고하면 좋다.

설치 방법은 기존 모드/플러그인과 같이 mods 혹은 plugin 폴더에 넣는다. Paper 서버의 경우 기본 내장이므로 설치할 필요가 없다.

/sparkc는 클라이언트 전용 명령어로 OP 없이 사용할 수 있지만 /spark는 서버 전용 명령어로 OP가 있어야 사용이 가능하다. /sparkb(BungeeCord)와 /sparkv(Velocity)는 프록시 서버 전용 명령어다.

/spark profiler start 프로파일러를 시작한다.
/spark profiler start --only-ticks-over <milliseconds> - 프로파일러를 시작한다. 단 지정된 기간(밀리초)보다 오래 걸리는 틱만 기록한다. 주로 지연이 규칙적으로 발생할때 쓰인다.
/spark profiler start --timeout <seconds> - 프로파일러를 시작하고. 몇 초 후에 자동으로 중지한다.
/spark profiler stop 프로파일러를 중지 하고 결과를 확인한다.
/spark profiler info 프로파일러의 현재 상태를 확인한다.

서버 및 상황에 다르지만 /spark profiler start 입력하고 보통 1분뒤에 /spark profiler stop을 치는 편이다.

2.1. 프로파일러 분석하기(서버)

프로파일러를 얻었다면 특정 사이트(https://spark.lucko.me/고유식별값)에 접속하라고 안내한다.

영어 실력과 약간의 생각과 상식이 있다면 여기는 대충 어느 일을 하는지 알 수 있다.


많이 보이게 될 제목은 다음과 같다.
  • java.lang.Thread.run() - 최상위 디렉토리이다.
  • MinecraftServer.run() - 그 위의 다음 디렉토리이다.
  • MinecraftServer.tick(), MinecraftServer.tickServer(), - 서버의 모든 연산을 틱하는 시간이다. 서버에 문제가 있다면 펼쳐보자.
  • Thread.sleep(), MinecraftServer.waitForNextTick() - 틱 연산을 다 마치고 다음 틱을 기다리는 상태이다.
    • 일반적으로 이 값이 높으면 높을수록 좋다. 더 많은 플레이어를 수용할 수 있다는 의미.
    • 이 값이 20% 미만이라면 서버가 꽤 열심히 일하고 있다는 뜻이고, 일부 틱에서 렉이 발생할 수 있다.(대부분의 서버 평균이므로 괜찮다.)
    • 이 값이 5% 미만이라면 서버가 렉걸리기 직전이다.

계속 숫자가 높은 값을 따라가다보면 서버마다 다르지만 zombie, (모드id)가 있을 것이다. 그렇다면 대충 좀비, (특정 모드)가 렉의 원인으로 추측이 가능하다.