반응형
상황
- 팰월드 서버 구축이 모두 이루어진 상태
- 램 초과/충돌 시 발생하는 크래쉬
- 우분투 OS
cd ~/Steam/steamapps/common/PalServer #서버 경로로 이동
sudo touch script_name.sh #script_name이라는 sh 스크립트 파일 생성
sudo chmod 777 script_name.sh #파일 권한 주기
sudo vi script_name.sh #script_name.sh 파일 편집
#!/bin/bash
while true; do
# PalServer.sh 프로세스가 실행 중인지 확인
if pgrep -f "Pal" > /dev/null; then # Pal이라는 문자열이 포함된 프로세스를 찾는 구문
echo "PalServer.sh is running."
else
echo "Palworld.sh is not running. Restarting..."
./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS # 이 부분을 실제 Palworld.sh를 실행하는 명령어로 대체
fi
# 5초 동안 대기 후 다시 확인
sleep 5
done
이 스크립트 복사/붙혀넣기
먼저 코드에 'PalServer.sh' 되어있는걸 본인이 실행할 서버 파일 이름으로 편집하여 사용하면 된다.
* pgrep -f : -f 옵션은 특정 문자열이 포함된 프로세스를 찾는 것인데 이렇게 하는 이유는 팰월드 프로세스가 어떤 방식으로 실행하느냐에 따라서 프로세스명과 붙는 옵션명들이 다양하다.
그래서 어느 하나 특정 프로세스를 지정해서 종료하기가 번거롭기 때문에 어디에서나 공통적인 'Pal' 이라는 문자열이 포함된 프로세스로 지정하는것이다.
(저장 방법 : vi 키고 복사한걸 마우스 오른쪽 클릭해서 붙혀넣은 후 :wq! 누르고 엔터)
sudo nohup ./script_name.sh & #백그라운드로 서버 실행
이제 서버를 실행할 때 script_name.sh 파일 가지고 실행하면 된다.
ps -ef | grep script #팰월드 자동 재시작 스크립트 프로세스 확인
ps -ef | grep Pal #팰월드 서버 프로세스 확인
반응형
'서버 > Server' 카테고리의 다른 글
[Server] 마인크래프트 모드버킷 서버 크래쉬 났을 때 자동 재시작 (1) | 2023.05.25 |
---|---|
[Server] Nginx 서버를 통한 리버스 프록시 및 로드밸런싱 구축 (0) | 2023.04.06 |
[Server]Ngrok으로 아무런 설정 없이 외부에서 간단한 파일 공유 (0) | 2022.07.17 |
[Server]Cloudflare와 Ngrok의 리버스 프록시 구동 방식의 차이점 (0) | 2022.07.14 |
[Server]IaaS vs PaaS vs SaaS 클라우드 서비스 모델 개요 (0) | 2022.05.29 |
댓글