문제 해결 방법:
- 서버 인스턴스가 이미 실행 중인지 확인: 서버가 중복 실행 중인지 확인하세요. 서버가 이미 실행 중이라면 해당 프로세스를 종료해야 합니다.
- 잠긴 session.lock 파일 제거:
- /minecraft/world/session.lock, /minecraft/world_nether/session.lock, /minecraft/world_the_end/session.lock 등의 잠긴 파일을 수동으로 삭제합니다.
- 이를 위해 다음 명령어를 사용할 수 있습니다:
bash코드 복사rm /minecraft/world/session.lock rm /minecraft/world_nether/session.lock rm /minecraft/world_the_end/session.lock
- 모든 session.lock 파일을 삭제한 후 서버를 다시 시작합니다.
- 서버를 안전하게 종료하는 습관을 기르기: 앞으로 서버를 종료할 때는 항상 stop 명령을 사용해 안전하게 종료해야 합니다. 이를 통해 session.lock 파일이 잠기지 않도록 할 수 있습니다.
서버가 시작되지 않고 포트 바인딩에 실패한 이유는 이미 해당 포트를 사용하는 다른 프로세스가 실행 중이기 때문입니다. 주로 발생하는 원인은 이미 Minecraft 서버가 실행 중이거나, 이전 서버 인스턴스가 제대로 종료되지 않은 상태에서 포트를 계속 사용하고 있기 때문입니다.
문제 해결 방법:
- 현재 실행 중인 서버 확인 및 종료: 먼저, 현재 서버가 실행 중인지 확인하고 해당 프로세스를 종료해야 합니다.
bash코드 복사sudo lsof -i :25565
-
bash코드 복사sudo kill -9 1234
-
bash코드 복사sudo kill -9 [PID]
- 서버가 실행 중인 프로세스를 확인하려면 다음 명령어를 입력하세요:
- 서버 포트 변경: 만약 해당 포트가 다른 프로그램에 의해 사용되고 있어 변경이 어렵다면, server.properties 파일에서 Minecraft 서버가 사용하는 포트를 변경할 수 있습니다. 파일을 열고 server-port 항목을 수정하세요:server-port=25565를 다른 포트 번호(예: server-port=25566)로 변경한 후 서버를 다시 시작합니다.
-
bash코드 복사nano /minecraft/server.properties
- 서버 재시작: 포트가 다른 프로그램에 의해 사용되지 않도록 하거나, 서버를 종료한 후 다시 서버를 실행합니다.