Minecraft 서버 지연 및 낮은 TPS 진단

마인 크래프트는 어떻게 작동하나요?

지연을 일으키는 원인을 이해하는 열쇠는 Minecraft의 작동 방식을 이해하는 것입니다. 마인 크래프트 서버 소프트웨어는 모두 하나의 주요 문제와 비슷한 문제로 작동합니다. 메인 게임 루프에는 멀티 스레딩 또는 타이밍 제한이 없습니다. 서버가 틱에 들어가면 모든 TileEntity 업데이트, 엔티티 업데이트, 블록 업데이트, 이벤트 및 기타 프로세스가 완료 될 때까지 실행됩니다. 이것은 모두 하나의 스레드에서 발생하며 현재 루프가 끝날 때까지 다음 루프를 시작할 수 없습니다. 세계는 업데이트되지 않으며 플레이어는 움직이지 않으며 엔티티는 제자리에 고정됩니다. 이상적으로 각 Ttic은 초당 Tics (TPS)를 유지하기 위해 50ms를 넘지 않아야합니다. 최소한의 문제로 18 TPS에서 55.55ms까지 낮아질 수 있습니다. 이보다 낮 으면 지연이 발생하기 시작합니다.

지연의 전형적인 원인

지연을 일으킬 수있는 많은 것들이 있지만 그 중 일부는 대부분의 서버에서 가장 범인 일 것입니다.

  • 파일 사용법 : 특히 이동, 손상 또는 상호 작용과 같은 이벤트에서 플레이어 파일에서 지속적으로 읽는 플러그인입니다. 몇 가지 예는 플레이어 파일에서 지속적으로 읽을 수있는 일부 PVP 플래그 또는 Glow 플러그인입니다.
  • 데이터베이스로서의 플랫 파일 : 큰 파일을 사용하는 플러그인이있는 경우 파일 저장 방법에 따라 해당 파일을 통해 또는 메모리에서 반복되는 많은 데이터를 추적하는 데 시간이 오래 걸립니다. 많은 플러그인은이 작업을 수행하며 데이터베이스가 부풀어 질 때 처리 시간이 서버에 영향을 미치는 방식에 대해주의를 기울이지 않습니다. 큰 MagicSpell 구성을로드하거나 PEX 및 GroupManager와 같은 적절한 데이터베이스 대신 YAML을 사용하는 권한 시스템을 사용할 때이 점을 많이 알 수 있습니다.
  • 너무 많은 작업 : 플러그인이 너무 많은 엔티티를 생성하거나 이동과 같은 이벤트에서 복잡한 작업을 수행하려고하면 지연이 발생하기 시작합니다. 각 실행에 1ms 미만이 걸리더라도 초당 20k 회 이벤트를 처리 할 때 지수가됩니다. 이를 일으킬 수있는 플러그인은 VoxelSniper 및 WorldEdit와 같은 월드 편집 플러그인입니다. 또는 Anti Cheats 및 World Protections와 같은 보호 플러그인.
  • 너무 많은 청크가로드되었습니다 . 한 청크입니다 16*16*256. 이것은 많이 들리지 않을 수도 있지만 곱하면 청크 당 65,536 블록이 있음을 의미합니다. 각 플레이어는 구성에 따라 200 개 이상의 청크를로드 할 수 있습니다. 13,107,200 블록 이상입니다. 이것은 많은 메모리를 차지합니다. 또한이 중 1 %라도 TileEntities 인 131,072 개의 TileEntities이면 모든 틱을 업데이트해야합니다. Mod는 TileEntities에서 처리 시간이 느리다는 것으로 유명합니다.
  • Cascading WorldGen : 플러그인 또는 mod가 청크 외부에서 구조체를 생성하는 경우입니다. 그러면 다음 청크가로드되고 생성 된 다음 구조가 다음 청크로 오버플로되기 시작하면이를 다시 트리거합니다. 이것은 제작자를 대신하여 잘못된 디자인이며이를 수행하는 모든 플러그인 또는 모드는 즉시 제거해야합니다.
  • 타일 ​​엔티티 : 아래의 LagGoggles 섹션을 참조하십시오 .

대부분의 Minecraft 서버 소프트웨어는 프로파일 링 도구가 포함되어 구축되어 있기 때문에 일반적으로 지연의 원인을 찾는 것은 간단한 절차입니다.

마개 / 용지 마개에 대한 타이밍 보고서

자세한 타이밍 보고서를 얻으려면 다음 명령을 사용할 수 있습니다.

/timings on

몇 분 정도 기다렸다가 타이밍이 실행되는 동안 지연 될 수 있습니다. 잠시 후 보고서를 생성하십시오.

/timings paste

이렇게하면보고있는 모든 데이터를 쉽게 탐색 할 수있는 옵션이 포함 된 보고서를 멋지게 분류 한 웹 사이트 링크가 제공됩니다. Spigot 's timing wiki 에서 이것들을 읽는 방법에 대해 더 배울 수 있습니다 .

정크 데이터가 다음 판독 값을 방해하지 않게하려면 타이밍을 끄고 타이밍을 사용하면 틱에 시간이 추가됩니다.

/timings off

스폰지 타이밍 보고서

자세한 타이밍 보고서를 얻으려면 다음 명령을 사용할 수 있습니다.

/sponge timings on

몇 분 정도 기다렸다가 타이밍이 실행되는 동안 지연 될 수 있습니다. 잠시 후 보고서를 생성하십시오.

/sponge timings report

이렇게하면보고있는 모든 데이터를 쉽게 탐색 할 수있는 옵션이 포함 된 보고서를 멋지게 분류 한 웹 사이트 링크가 제공됩니다. Sponge의 타이밍 시스템은 Spigot을 기반으로하기 때문에 Spigot의 타이밍 위키 에서이를 읽는 방법에 대해 자세히 배울 수 있습니다 .

정크 데이터가 다음 판독 값을 방해하지 않게하려면 타이밍을 끄고 타이밍을 사용하면 틱에 시간이 추가됩니다.

/sponge timings off

타이밍을 재설정 할 수도 있습니다.

/sponge timings reset

지연을 줄이기위한 단계

  • 스크립트 파일에 적절한 인수를 사용하여 Minecraft를 시작하십시오. 적절한 Java 인수에 대한 자세한 내용은 여기를 참조하십시오.
  • 플랫 파일 대신 적절한 데이터베이스를 사용하는 LuckPerms 또는 권한 관리자를 사용하십시오.
  • 청크 로더를 함께 사용하지 마십시오
  • 계단식 세계 생성을 유발하는 모든 것을 제거하십시오
  • 안티 치트 플러그인이 지나치게 열악하지 않도록 제한
  • 플레이어의 시야 거리 제한 server.properties
  • 정해진 시간이 지나면 적대적인 몹 제거
  • Java에서 누수를 정리하려면 매일 서버를 다시 시작하십시오.
  • 서버를 다시로드하지 마십시오. 이로 인해 누출 및 기타 문제가 발생합니다.
  • WorldEdit 및 VoxelSniper와 같은 FastAsync 버전의 플러그인 사용
  • 새로운 덩어리가 끊임없이 생성되지 않도록 세계의 크기를 제한하십시오
  • 사용하는 플러그인의 양을 제한하십시오. 모든 플러그인이 제대로 구축 된 것은 아니며 더 많은 문제가 발생할수록

래그 고글

수정 된 서버에서 지연의 큰 부분은 타일 엔터티에서 비롯됩니다. 이들은 블록의 기능 및 이벤트를 처리하는 데 사용되는 블록에 대해 작성된 엔티티입니다. 시간이 너무 오래 걸리거나 너무 많으면 전체 서버 TPS를 중단시키는 시간당 시간이 늘어날 수 있습니다. 이러한 문제를 시각화하는 방법은 LagGoggles라는 모드를 사용하는 것입니다. CurseForce 에서이 모드를 다운로드 할 수 있습니다 .

댓글 남기기

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.

Vultr에서 BGP 구성

Vultr에서 BGP 구성

Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.

데비안 7에 Mailcow 설치

데비안 7에 Mailcow 설치

Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구