• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

팰월드 스팀 윈도우 데디케이트 서버 정지 재시작 스크립트

SGee 367

3

4

안녕하세요

윈도우의 스팀 데디케이트 서버를 이용하여 팰 월드를 즐기시는 분들께 도움되고자 작성해 봅니다.

  

아래 파일들 받아 모아둔 파일 입니다.

이파일 받으시고 2~4번 건너뛰시면 됩니다.

 zippalworld_win_pa
4.04 MB
 

 

 

 

팰월드 24시간 서버의 경우 장시간 접속 유저가 없는 경우 거점 팰들이 난리가 납니다..

해당 현상을 방지, 메모리 확보 등을 위한 도커용 재시작 및 일시정지 스크립트를 참고하였습니다.

 

 

    1. python 설치 

 윈도우 기본 스토어인 Microsoft Store에서 python을 찾아 설치합니다.

 저는 3.7로 설치 하였기 때문에 3.7로 링크를 달아 두겠습니다.

 파이썬이 설치되어 있으신 경우 다음 단계로 넘어 갑니다.

 

   2. 데디케이트 서버 원격 명령어 사용 툴 rcon

 cmd에서 사용할 수 있는 rcon이면 가능할 것으로 봅니다.

 저는 아래 rcon을 사용하였습니다.

 윈도우 환경이므로 rcon-0.10.3-win64.zip로 다운받아 사용하였습니다.

 

   3. 포트 접속여부 확인용 WinDump 및 WinPcap 설치

 리눅스의 tcpdump를 윈도우에서 사용할 수 있도록 포팅한 버전인 WinDump를 사용하였습니다.

 WinDump를 사용하기 위한 라이브러리 설치파일 입니다.

 

   4. 메모리관리 툴 memreduct

 팰월드는 메모리 누수가 심해서 메모리 관리 툴 사용을 추천하길래 아래 툴을 받아 사용하였습니다.

설치 혹은 포터블버전 bin파일을 받으시면 됩니다.

 

 

   5. 데디케이트의 설정 변경

저는 D드라이브에 데디케이트서버를 설치했기 때문에 D드라이브 기준으로 설명 드리겠습니다.

"D:\SteamLibrary\steamapps\common\PalServer\Pal\Saved\Config\WindowsServer"폴더에 있는 PalWorldSettings.ini 팰월드 설정파일에서 AdminPassword="password", RCONEnabled=True, RCONPort=25575 세가지 옵션이 설정되어 있는지 확인 합니다. admin패스워드와 rcon포트는 입맛에 맞게 변경하시면 됩니다.

 

   6. 파일설치

제가 업로드한 파일을 받으시고 적당한 곳에 압축을 풀어 둡니다.

저는 그냥 바탕화면에 pal 폴더를 만들어 내용물을 옮겨 두었습니다.

  zippalworld_win_pa
4.04 MB
 

 

 파이썬은 설치했지만 WinPcap가 설치되지 않았으므로 폴더내 WinPcap_4_1_3.exe를 설치해 줍니다.

    7. 스크립트 수정 

 본인 환경에 맞게 스크립트를 수정하셔야 합니다.

 pause.py 파일을 메모장으로 엽니다.

 7~10라인, 60라인이 수정해야 할 부분입니다.

 

 서버포트를 수정한 경우 7번라인 포트를 변경합니다.

7 TARGET_PORT = 8211

 rcon 포트를 수정한 경우 8번라인 포트를 변경합니다.
8 RCON_PORT = 25575

 서버설정의 AdminPassword를 rcon password 대신 작성합니다. 
9 RCON_PASSWORD = "rcon password"

 서버폴더위치를 작성합니다. PalServer.exe가 있는 위치에서 폴더 주소표시줄을 복사하시면 됩니다.
10 palworld= "D:\SteamLibrary\steamapps\common\PalServer"

 

 60번라인은 팰월드에서 서버에 접속해도 서버가 켜지지 않을 경우 -i뒤 숫자를 1씩 늘려가며 수정합니다.

60 capture_command = f"WinDump -i 1 -c 1 port {TARGET_PORT}" 

 

 

-----------------------------------------------------0.1.5.0-----------------------------------------------------

0.1.5.0 패치 후 이용시 rcon 이용을 위해 아래 매개변수를 추가해주세요

68                th_a = threading.Thread(target = subprocess.run, args=(f"{palworld}\PalServer.exe -RCONPort={RCON_PORT}",)) 

-----------------------------------------------------------------------------------------------------------------

 

서버가 켜진 후 접속 대기중 로딩이 늦어져 서버가 다시 꺼지는 경우..

69번라인의 서버 켜진 후 대기시간인 20을 약30 정도로 늘려주세요. 숫자당 1초씩 늘어 납니다.

                for sec in range(20, 0, -1):

 

ctrl+S버튼으로 저장합니다.

 

   8. 메모리정리 프로그램

선택사항입니다. 메모리 정리프로그램을 실행 후 메모리정리 버튼을 누르면 알아서 메모리를 정리합니다.

  

image.png.jpg

 

 

파일 - 설정에서 메모리 정리설정을 해두시면 알아서 정리합니다.

 

image.png.jpg

 

 

   9. 스크립트 실행 

압축을 풀어뒀던 pal폴더에서 주소표시줄에 cmd입력하여 cmd창을 열고 python pause.py 입력합니다.

 

image.png.jpg

 

 

   10. 기능설명

 서버에 접속자가 없는 경우 서버데이터 저장 후 종료 시킵니다.

 해당 서버에 8211포트로 접속 시도를 할 경우 서버를 자동으로 켭니다.

 한글닉네임에도 잘 작동됩니다.

 save파일 백업기능은 없습니다.. 

 

설명이 미숙하지만 윈도우 버전 재시작 스크립트가 없어서 혼자 쓰려고 수정한 스크립트입니다.

필요하신 분이 있으실까 하여 올려봅니다.

 

Tags
신고공유스크랩
4
3명이 추천

SGee
3Lv. 187P
다음 레벨까지 133P

안녕하세요

1등
DarkAcid 2024.02.27. 03:04
참고로 많은분들이 사용하시는@thijsvanloef 이미지에서는 watcher라는 두번째 도커로 해당기능을 지원하고 있습니다!

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story