Project Zomboid 서버는 몇 가지 잘 알려진 이유로 크래시가 발생하거나 시작에 실패할 수 있습니다. 이 가이드는 Legion Hosting 지원 티켓에서 발견된 가장 일반적인 원인들 — 시작 시 추가 RAM이 필요한 Build 42 메모리 버그부터, /tmp를 가득 채우는 백업 오버플로, 손상된 구성 파일까지 — 을 다룹니다. 아래 섹션을 순서대로 진행하세요.
시작하기 전에 — 크래시 로그 찾기
거의 모든 Project Zomboid 크래시는 두 곳 중 하나에 흔적을 남깁니다. 수정을 시도하기 전에 두 곳을 모두 확인하여 이 가이드의 어떤 섹션이 해당되는지 파악하세요.
GPanel 콘솔 출력
- GPanel에 로그인하세요.
- 서버 목록에서 Project Zomboid 서버를 선택하세요.
- Console 탭을 클릭하세요.
- 출력의 맨 아래로 스크롤하세요.
ERROR,FATAL,OutOfMemoryError, 또는Exception으로 표시된 줄을 찾으세요. 서버가 중지되기 전 마지막 20~30줄이 보통 가장 관련이 깊습니다. - 콘솔이 비어 있다면, 서버 프로세스가 아무것도 기록하기 전에 종료된 것입니다 — 이것 자체가 단서입니다(아래 B42 메모리 섹션 참조).
서버 debug.log 파일
Project Zomboid는 서버의 데이터 디렉터리에 있는 debug.log에 상세 로그를 기록합니다. 이 파일에는 종종 크래시 원인을 직접 가리키는 전체 Java 스택 트레이스가 포함되어 있습니다.
- GPanel에서 File Manager 탭으로 이동하세요.
/.cache/Logs/로 이동하세요.debug.log,DebugLog-server.txt, 또는 날짜가 표시된 로그 파일과 같은 이름의 파일들을 볼 수 있습니다.- 가장 최근 로그 파일을 여세요. Ctrl+End를 사용하거나 맨 아래로 스크롤한 후 거기서부터 위로 읽으세요.
OutOfMemoryError,IOException,NullPointerException, 또는SandboxVars키워드를 찾으세요. 관련 줄을 복사하세요 — 지원 티켓을 여는 경우 필요합니다.
해결책 1 — Build 42 시작 시 높은 메모리 사용량 (알려진 게임 버그)
서버가 콘솔에 오류 없이 시작 즉시 종료되거나, 콘솔에 OutOfMemoryError 또는 Java 힙 공간 오류가 표시되는 경우, 서버가 월드 로딩을 마치기 전에 메모리가 부족해진 것입니다.
증상
- 서버가 시작되고 콘솔이 몇 초간 스크롤된 후, 플레이어에게 표시되는 오류 없이 중지됨.
- 콘솔에
java.lang.OutOfMemoryError: Java heap space또는GC overhead limit exceeded표시됨. - 일부 재시작에서는 작동하지만 다른 경우에는 작동하지 않음(메모리 가용성에 따라 다름).
- B41에서는 정상적으로 실행되었지만 B42로 업그레이드한 후 일관되게 크래시됨.
단계
- GPanel에서 서버를 클릭하고 Console 탭으로 이동하세요. 리소스 바 또는 서버 정보 패널에 표시된 서버의 현재 RAM 할당량을 확인하세요.
- 요금제에 10 GB RAM 미만이 포함된 경우, B42가 초기화에 약 9 GB를 필요로 하기 때문에 시작 중 서버가 크래시될 수 있습니다. 요금제를 업그레이드하거나 Indie Stone이 수정 사항을 릴리스할 때까지 기다려야 합니다.
- 요금제에 이미 10 GB 이상이 있는데도 서버가 시작 시 여전히 크래시되는 경우, GPanel의 Startup 탭으로 이동하세요.
- Java Memory, Max RAM, 또는 Xmx라고 표시된 필드를 찾으세요. 전체 가용 RAM의 80~85% 이하로 설정되어 있는지 확인하세요. 예를 들어, 12 GB 요금제에서는 이를
10240(메가바이트 단위로 10 GB)으로 설정하세요. 전체 RAM과 같거나 그 이상으로 설정하지 마세요 — 운영 체제와 다른 프로세스도 메모리가 필요합니다. - Startup 탭에서 Save를 클릭한 다음 서버를 재시작하세요.
- 시작 중 콘솔을 지켜보세요. 서버가
SERVER STARTED줄에 도달하거나LuaManager: Loading lua files...가 크래시 없이 완료되면, 메모리 할당이 이제 충분한 것입니다.
해결책 2 — BackupsOnStart가 /tmp를 오버플로 (시작 크래시)
Project Zomboid는 서버가 시작될 때마다 전체 월드 백업을 생성하도록 구성할 수 있습니다. 이 백업이 대부분의 Linux 호스트에서 크기가 제한된 /tmp에 기록되면, /tmp가 가득 찰 때 서버가 디스크 쓰기 오류와 함께 시작 도중에 크래시됩니다.
증상
- 서버가 모든 재시작에서 안정적으로 크래시되지만, 이전에는 작동했음.
- 콘솔 또는
debug.log에IOException: No space left on device와 같은 오류가 있거나/tmp/에 쓰기를 언급함. - 월드 저장 파일이 커질수록 시간이 지남에 따라 크래시가 악화되는 경향이 있음.
- 호스트 노드를 깨끗하게 재부팅한 직후(
/tmp가 다시 차기 전)에 시도하면 서버가 가끔 시작됨.
단계 — BackupsOnStart 비활성화
- GPanel에서 File Manager 탭으로 이동하세요.
/.cache/server/로 이동하세요. 서버 구성 파일을 찾으세요 — 보통servertest.ini또는 서버 이름 뒤에.ini가 붙은 이름입니다(예:MyServer.ini).- 편집을 위해
.ini파일을 여세요. - 브라우저의 찾기 기능(Ctrl+F)을 사용하여
BackupsOnStart를 검색하세요. - 값을
true에서false로 변경하세요:BackupsOnStart=false - 파일에 있는 동안, 디스크 공간이 우려된다면
BackupsOnVersionChange설정도 확인하여false로 설정하세요:BackupsOnVersionChange=false - 파일을 저장하고 서버를 재시작하세요. 콘솔을 모니터링하여 서버가
SERVER STARTED줄에 도달하는지 확인하세요.
/.cache/saves/multiplayer/ 폴더의 사본을 다운로드하거나, Legion Hosting 지원팀에 문의하여 요금제의 예약 백업 옵션에 대해 알아보세요.
해결책 3 — 손상된 SandboxVars.lua 또는 서버 구성
Project Zomboid는 월드 설정을 SandboxVars.lua라는 Lua 파일에 저장합니다. 이 파일을 수동으로 편집하고 구문 오류가 있는 채로 저장하거나, 파일 전송이 중단된 경우, 서버가 파일을 파싱하려고 할 때 시작 즉시 크래시됩니다.
증상
- 콘솔에
ERROR: SandboxVars,LuaManager error, 또는 줄 번호가 포함된 Lua 파싱 오류가 표시됨. .ini파일이나SandboxVars.lua를 직접 편집한 직후에 크래시가 시작됨.- 서버에
Bad argument #1 to또는 유사한 Lua 런타임 오류가 표시될 수 있음.
단계 — SandboxVars.lua 확인 및 복구
- GPanel에서 File Manager로 이동하여
/.cache/saves/multiplayer/<YourServerName>/로 이동하세요. - 편집을 위해
SandboxVars.lua를 여세요. - 파일이
SandboxVars = {블록 안에서VERSION = 1,(또는 유사한 것)로 시작하고 닫는}로 끝나는지 확인하세요. 누락된 쉼표, 닫히지 않은 중괄호, 또는 잘못된 문자는 파싱 실패를 유발합니다. - 오류를 식별할 수 없는 경우, 가장 안전한 해결책은
SandboxVars.lua를 완전히 삭제하는 것입니다. 서버가 다음 시작 시 기본값으로 이를 재생성합니다. 참고: 이렇게 하면 샌드박스 설정(전리품, 좀비 수 등)이 기본값으로 재설정됩니다 — 맵 데이터와 플레이어 데이터는 영향을 받지 않습니다. - 최근에 직접 편집했다면
/.cache/server/의.ini파일에서도 유사한 문제가 있는지 확인하세요. 모든 줄이Key=Value형식을 따르고 값 안에 빈 줄이 없는지 확인하세요. - 변경 사항을 저장하고 서버를 재시작하세요.
SandboxVars.lua를 직접 편집하지 마세요. 대신, 게임 내 관리자 패널이나 가능한 경우 GPanel의 서버 설정 UI를 사용하세요. 직접 편집은 오류가 발생하기 쉬우며 쉼표 하나만 빠져도 서버가 손상될 수 있습니다.
해결책 4 — 빈 관리자 비밀번호로 인한 크래시
Project Zomboid는 멀티플레이어 서버를 시작하려면 비어 있지 않은 관리자 비밀번호가 필요합니다. 비밀번호 필드가 비어 있으면, 서버 프로세스가 관리자 계정을 초기화하려고 시도한 직후 즉시 종료됩니다.
증상
- 완전히 새로운 서버 또는 최근에 재설정된 서버가 모든 시작 시도에서 실패함.
- 콘솔 출력이 매우 짧음 — 서버가 몇 줄의 초기화 줄을 출력한 후 중지됨.
debug.log에 관리자 계정 또는 비밀번호 검증에 대한 참조가 포함될 수 있음.
단계
- GPanel에서 서버를 클릭하고 Startup 탭으로 이동하세요.
- Admin Password 또는 RCON Password라고 표시된 필드를 찾으세요. 값이 포함되어 있는지 확인하세요 — 비어 있으면 안 됩니다.
- 필드가 비어 있으면 비밀번호를 입력하세요. 최소 8자를 사용하세요. 일부 PZ 버전은 시작 인수에서
!,#,$,@와 같은 특수 문자를 올바르게 파싱하지 못하므로 관리자 비밀번호에서 이를 피하세요. - Save를 클릭하고 서버를 재시작하세요.
- 보조 확인으로,
/.cache/server/의.ini파일을 열고AdminPassword=줄의 등호 뒤에 값이 있는지 확인하세요.
해결책 5 — 월드 재설정 (지속적인 크래시에 대한 최후의 수단)
월드 저장 파일이 손상된 경우 — 예를 들어 강제 서버 크래시, 실패한 업데이트, 또는 파일 시스템 오류 후 — 저장 데이터 자체를 복구할 수 없을 수 있습니다. 이 경우, 월드를 삭제하고 새로 시작하는 것이 유일한 선택입니다.
단계
- 저장 파일을 변경하기 전에 GPanel에서 서버를 중지하세요. 실행 중인 서버에서 파일을 편집하면 추가 손상이 발생할 수 있습니다.
- GPanel에서 File Manager 탭으로 이동하세요.
/.cache/saves/multiplayer/로 이동하세요.- 서버 이름이 있는 하나 이상의 폴더(예:
servertest)를 볼 수 있습니다. 삭제하기 전에, 선택적으로 폴더를 선택하고 다운로드 옵션을 사용하여 백업으로 다운로드하세요 — 손상된 저장 파일이라도 나중에 부분적으로 복구할 수 있습니다. Multiplayer/안에서 서버 이름과 일치하는 폴더를 삭제하세요.Multiplayer폴더 자체는 삭제하지 마세요./.cache/db/로도 이동하여<YourServerName>.db파일을 삭제하세요. 이 데이터베이스는 플레이어 통계를 보유하며 이전 월드를 참조할 수 있습니다 — 이를 재생성하면 불일치를 방지할 수 있습니다.- 서버를 시작하세요.
.ini파일의 설정을 사용하여 새 월드를 생성합니다.
.ini 파일, 관리자 비밀번호, 모드 목록, 포트 설정은 모두 보존됩니다. 다음 시작 시 정확히 동일한 설정을 사용하여 새 월드를 생성합니다.
빠른 진단 참조
| 로그에 표시되는 내용 | 가장 가능성이 높은 원인 | 해결책 |
|---|---|---|
OutOfMemoryError 또는 Java heap space |
B42 시작에 RAM이 부족함 | 해결책 1 — B42 메모리 버그 |
IOException: No space left on device |
BackupsOnStart가 /tmp를 채움 |
해결책 2 — BackupsOnStart |
SandboxVars 오류 또는 Lua 파싱 오류 |
손상되거나 직접 편집한 구성 파일 | 해결책 3 — SandboxVars.lua |
| 서버가 즉시 종료되고 콘솔 출력이 매우 짧음 | 빈 관리자 비밀번호 | 해결책 4 — 관리자 비밀번호 |
| 구성 변경과 관계없이 일관되게 크래시됨 | 손상된 월드 저장 파일 | 해결책 5 — 월드 재설정 |
모든 단계 후에도 여전히 크래시되나요?
위의 모든 해결책을 진행한 후에도 서버가 여전히 크래시되는 경우, Legion Hosting에 지원 티켓을 여세요. 지원팀이 문제를 신속하게 진단할 수 있도록 다음을 포함하세요:
- 크래시 당시 GPanel 콘솔 출력의 마지막 50줄
- 가장 최근
debug.log또는DebugLog-server.txt파일의 전체 내용 - 서버의 Project Zomboid 빌드 버전(시작 시 콘솔에 표시됨, 예:
Build 42.x.x) - GPanel에 표시된 RAM 할당량
- 크래시가 매번 시작 시 발생하는지 아니면 서버가 한동안 실행된 후에만 발생하는지 여부
- 크래시가 시작되기 전에 변경한 사항(모드 추가, 구성 편집, 게임 업데이트)
지원 티켓 열기를 하고 서버 ID와 GPanel 콘솔의 오류 메시지를 포함하세요.