콘텐츠로 이동

러스트 서버 최적화: 렉의 원인과 해결 방법

빠른 답: 서버 콘솔에 serverinfo를 입력하면 서버의 Framerate와 EntityCount가 나옵니다. Rust 서버는 돌려야 할 것이 늘어나면 느려집니다. 월드에 건물과 아이템이 많아지고, 맵이 커서 스폰이 많아지고, NPC와 플러그인이 있을 때예요. 아래 설정이 각각을 조절합니다. 틱레이트 설정은 기본값으로 두세요.

명령어보여 주는 것
serverinfoFramerate, EntityCount(월드의 모든 것), Players, Memory, NetworkIn과 NetworkOut, Uptime.
server.fps서버의 프레임레이트만.

서버 콘솔에서, RCON으로, 또는 관리자로서 F1 콘솔에서 입력하세요. Crucible Local Server에서는 서버가 Live일 때 빠른 보기의 프레임레이트 타일이 같은 숫자를 보여 줍니다.

렉이 생기는 동안 프레임레이트를 지켜보세요. 떨어진다면 서버가 자기 일에 허덕이는 것이고 이 페이지의 나머지가 해당됩니다. 일정하게 유지된다면 대신 네트워크나 플레이어 자신의 PC를 살펴보세요.

fps.limit은 서버가 초당 돌릴 최대 프레임 수입니다(Rust는 240이라고 보고합니다). 낮추면 같은 PC에서 돌아가는 두 번째 서버 같은 다른 것들을 위해 CPU가 비워집니다. 이미 상한보다 낮게 돌아가는 서버에는 아무 효과가 없어요.

설정기본값하는 일
server.tickrate10서버가 RCON, Rust+, 연결 확인을 초당 몇 번 처리하는지입니다. 게임이 더 부드럽게 돌아가게 하지는 않아요.
player.tickrate_sv16서버가 각 플레이어를 초당 몇 번 갱신하는지입니다. Rust는 16에서 128까지 허용하고, 한 단계 올릴 때마다 접속한 모든 플레이어에 대한 작업이 늘어납니다.

건축 블록, 설치물, 떨어진 아이템, 시체, 동물, 통은 모두 엔티티이고, 서버는 그 하나하나를 추적하고 저장합니다. 와이프 기간 동안 플레이어가 건설하면서 수가 늘어나요.

설정 또는 명령어기본값하는 일
server.itemdespawn300떨어진 아이템이 사라지기 전에 땅에 놓여 있는 기본 시간(초)입니다. 일부 아이템은 더 오래 남습니다.
server.corpsedespawn300시체가 남아 있는 시간(초).
entity.countby <steamid>한 플레이어가 설치한 모든 것의 수를 셉니다.
entity.deleteby <steamid>한 플레이어가 설치한 모든 것을 파괴합니다. 되돌릴 수 없습니다.

부식은 아무도 관리하지 않는 건물을 닳게 하고, 버려진 기지를 맵에서 치워 주는 것이기도 합니다. decay.scale 0이면 아무것도 부식되지 않아서 모든 기지가 와이프까지 남고 엔티티 수는 늘기만 해요. 긴 와이프 기간에는 부식을 켜 두세요. 설정은 부식 끄는 방법에 있습니다.

Rust는 면적을 기준으로 광석 노드, 식물, 줍는 아이템, 동물로 맵을 채웁니다. 스폰 종류마다 밀도가 있고, Rust는 그것이 들어갈 수 있는 땅 전체에서 그 밀도를 맞추려고 해요. 맵이 크면 모든 것이 더 많이 들어가고, 서버가 돌려야 할 것도 늘어납니다. Rust는 일부 스폰 종류를 4000 m 맵의 면적에서 제한합니다. 크기를 고르는 방법은 Rust 맵 크기에 있습니다.

설정기본값하는 일
spawn.max_density1맵이 담는 모든 스폰 종류의 양을 조절합니다. 0.5는 절반입니다.
spawn.min_density0.5플레이어 수를 따르는 스폰 종류는 빈 서버에서 여기서 시작해서 서버가 차면 spawn.max_density까지 올라갑니다.
spawn.tick_populations60스폰 라운드 사이의 시간(초). 숫자가 높을수록 맵이 더 느리게 다시 채워집니다.
설정하는 일
ai.npc_enable false모뉴먼트와 정크파일에 과학자가 스폰되지 않고, Rust가 모뉴먼트 내비메시를 만들지 않아서 서버가 더 빨리 시작합니다. 동물은 여전히 스폰됩니다.
aimanager.nav_disable trueRust가 내비메시를 전혀 만들지 않아서 서버가 훨씬 빨리 시작하지만, NPC와 동물이 움직이지 못합니다. 건설이나 테스트 서버 전용입니다.

둘 다 server.cfg나 시작 줄에 넣어서, 서버가 시작되는 순간부터 적용되게 하세요. Rust server.cfg 예시를 참고하세요.

모든 플러그인은 서버에서 자기 코드를 실행하고, 느린 플러그인 하나가 모두의 프레임레이트를 끌어내릴 수 있습니다. Oxide의 o.plugins나 Carbon의 c.plugins가 불러온 것을 나열해요. 느린 것을 찾으려면 플러그인을 oxide/plugins나 carbon/plugins 폴더에서 하나씩 빼고, 재시작하고, 프레임레이트를 지켜보세요. Crucible Local Server에서는 플러그인을 모드 탭에서 관리합니다. 모드와 플러그인을 참고하세요.

server.saveinterval(600)은 월드가 저장되는 주기(초)이고, 저장할 때마다 월드의 모든 엔티티를 기록합니다. 엔티티가 많은 월드는 저장하는 데 더 오래 걸리므로 아주 낮게 설정하지 마세요.

예약 재시작은 오래 돌아가는 서버를 깨끗하게 새로 시작해 줍니다. Crucible Local Server는 매일 일정에 맞춰 재시작하고 서버가 꺼져 있는 동안 Rust 업데이트를 설치할 수 있습니다. 서버 자동 재시작을 참고하세요.

설정 탭의 성능 설정입니다.

  • **AI 내비메시 건너뛰기 (더 빠른 부팅)**는 위의 aimanager.nav_disable입니다. 훨씬 빠른 시작과 움직이지 않는 NPC와 동물을 얻습니다.
  • 높은 우선순위는 다른 앱이 돌아가고 있을 때 서버에 CPU를 더 줍니다.
  • **CPU 코어 (고급)**는 서버를 나열한 코어(예: 0-7)에 고정합니다. 비워 두면 모든 코어를 씁니다.

동시에 실행하는 서버 하나하나가 실제 RAM과 CPU를 쓰기 때문에 여러 서버를 동시에 실행 허용이 기본으로 꺼져 있습니다. 서버 설정을 참고하세요.