컴퓨터를 켜고 데디케이트 서버를 돌리지 않아도 24시간 켜져있는 팰월드 멀티 서버 만드는 법입니다. 잘 보고 따라오시면 손쉽게 멀티 서버를 만들 수 있습니다.
모든 이미지들은 클릭하여 확대할 수 있습니다. 확대해도 잘 보이지 않는다면 이미지를 주소창에 드래그해보세요.
준비물
무료로 작동되는 24시간 멀티 서버를 열기 위해서는 준비물이 필요합니다. 무료로 서버를 열기 위해서 최초에 300$ 가량의 무료 크레딧을 제공하는 구글 클라우드 서비스를 이용할 것입니다. 여기를 사용하기 위해 제일 먼저 구글 계정을 만들어주세요.
구글 계정
구글 계정은 모바일과 PC에서 쉽게 만들 수 있습니다.
모바일
안드로이드 > 설정 > Google > Google 계정 클릭 > 다른 계정 추가
PC
크롬 > 새 시크릿 창(Ctrl+Shift+N) > Google.com > 로그인 > 계정 만들기
구글 클라우드에서 제공되는 300$의 크레딧을 모두 사용하면 새로운 구글 계정을 만들어야 하니 본 계정을 이용하지 말고 새 계정을 만들어서 사용합시다. 서버를 오래 유지할 경우를 대비해서 숫자를 붙여가면서 만드세요.
MobaXterm(모바엑스텀)
모바엑스텀은 Linux SSH 접속으로 마치 탐색기를 이용하듯 직관적인 인터페이스를 제공합니다. 드래그로 원하는 위치에 파일을 붙여놓고 클릭으로 수정할 수 있으므로 반드시 준비합시다.
포터블이나 인스톨러 원하는 것 중 하나로 설치하면 됩니다.
구글 클라우드 서버 자동 구축 스크립트
디씨 팰월드 갤러리에 올라온 서버 자동 구축 스크립트입니다. 없어도 진행이 가능하나 굉장히 귀찮으니 이걸 다운받아 사용하면 손쉽게 서버를 구축할 수 있습니다.
docker-compose.yml 받기
서버 이름, 서버 설명, 비밀번호 등 기본적인 정보가 들어있는 파일입니다.
✔ palworld-server-docker Github 페이지
위 링크에서 Source code (zip)을 받은 뒤 docker-compose.yml만 따로 압축 해제합니다. docker를 이용해서 서버를 만들지만 자동 구축 스크립트로 만들 것이기 때문에 다른 파일들은 필요가 없습니다.
구글 계정, 모바엑스텀, 자동 구축 스크립트, docker-compose.yml까지 4가지가 모두 준비되었으면 서버를 구축할 기본적인 준비가 끝났습니다.
팰월드 멀티 서버 만들기
이제 본격적으로 24시간 팰월드 멀티 서버를 만들어봅시다.
구글 클라우드 무료 체험 활성화
가장 먼저 구글 클라우드 홈페이지에 접속해야 합니다. 시크릿 창(Ctrl+Shift+N)을 만들어서 구글 클라우드 홈페이지를 열어줍니다.
시크릿 창을 이용하는 이유는 그냥 로그인하면 나중에 크롬에서 구글 로그인 등을 할 때 등록한 계정들을 선택하는 화면이 나타나기 때문입니다. 한번 나타나면 없애기 번거로우므로 시크릿 창에서 진행합니다.
우측 상단의 로그인 버튼을 눌러서 로그인을 합니다. 로그인 이후 언어가 영어로 되어 있다면 우측 상단의 English를 눌러 한국어로 변경합니다. 이제 우측 상단의 콘솔 버튼을 눌러줍니다.
페이지가 넘어가면서 무료 체험을 활성화할 수 있는 화면이 나타납니다. 서비스 약관 2개를 체크하고 무료 체험 버튼을 누릅니다. 그러면 자신의 개인 정보를 입력하는 화면이 뜨는데, 적당히 입력해주셔도 됩니다.
마지막에 카드 번호를 입력하는 화면이 나오는데, 우측에 나와있는대로 무료 체험판 종료 후 자동 청구되지 않음이므로 마음놓고 카드 번호를 입력하시면 됩니다.
이렇게 구글 클라우드 활성화가 완료되었으면 본격적으로 설정을 해줘야 합니다.
구글 클라우드 설정하기
좌측 상단의 탐색 메뉴(☰)를 누른 뒤 Computer Engine > VM 인스턴스 눌러 Computer Engine API를 활성화합니다.
활성화하는데 시간이 조금 걸리므로 인내심을 갖고 기다려주세요. 활성화가 완료되면 다시 VM 인스턴스를 눌러봅시다. 그러면 아래와 같이 인스턴스 만들기 버튼이 중앙에 나타납니다.
인스턴스 만들기를 누른 뒤 이름은 알아보기 쉽게 대충 palworld로 지어주고 리전과 영역을 설정해줍니다. 아시아쪽으로 해주시면 되는데, 서울이 베스트지만 도쿄, 싱가포르 쪽으로 하셔도 크게 상관은 없습니다.
이후 머신 유형을 설정해줍니다.
머신 유형 설정
c2-standard-8(vCPU 8개, 코어 4개, 메모리 32GB)면 적당하지만 간혹 해당 머신을 모두 사용해서 경고 메시지가 뜨는 경우가 있습니다. 이때는 비슷한 설정의 다른 머신을 골라서 선택해주면 됩니다.
성능이 높을수록 당연히 서버 환경도 좋지만 월별 예상 가격이 늘어나기 때문에 더 자주 구글 클라우드 계정을 갱신해줘야 한다는 귀찮음이 있습니다. 적당히 타협하세요.
부팅 디스크 설정
부팅 디스크는 ubuntu로 검색해서 ubuntu 20.04 LTS(X86/64), 크기 40GB 정도면 충분할 것입니다.
네트워크 설정
서버이니만큼 고정 IP를 이용해줘야 할 것입니다. 네트워크 설정의 외부 IPv4 주소를 눌러 고정 외부 IP 주소를 예약합시다. 명칭은 상관없습니다. 저는 palworld로 예약할게요.
SSH 설정하기
이제 모바엑스텀을 이용하기 위한 SSH를 설정해야 합니다. 아래로 스크롤하여 보안 탭에서 수동으로 생성된 SSH 키 추가 화면이 보이게 둔 뒤 설치해둔 모바엑스텀을 실행합니다.
모바엑스텀에서 Tools > MobaKeyGen (SSH Key Generator)를 눌러줍니다.
실행된 SSH Key Generator에서 Generate 버튼을 누릅니다. 그런데, 버튼을 누른다고 만들어지는 게 아닙니다. 마우스를 마구 휘저어주면 진행도가 올라가면서 키가 생성됩니다.
생성된 키에서 Key comment를 적당히 알아보기 쉽게 적어주고 Save private key를 눌러 저장합니다. 저장된 파일은 모바엑스텀을 쓸 때 사용되므로 내 문서 같은 곳에다가 복사해두고 실수로라도 삭제하지 않도록 합시다.
저장까지 끝냈으면 Key의 ssh-rsa~ 부분을 우클릭하여 전체 선택 > 복사를 합니다. 구글 클라우드 페이지로 돌아와 수동으로 생성된 SSH 키 추가에 붙여넣고 제일 아래의 만들기 버튼을 누릅니다.
화면이 바뀌면서 VM 인스턴스가 생성됩니다. 생성이 완료되면 외부 IP를 복사해서 메모장 같은데다 붙여두기를 해놓습니다.
방화벽 설정하기
팰월드 서버에서 사용되는 방화벽 포트를 개방시켜야 다른 사람들이 접속할 수 있습니다. 구글 클라우드에서 좌측 상단의 탐색 메뉴(☰)를 누른 뒤 VPC 네트워크 > 방화벽을 누릅니다.
방화벽을 누른 뒤에 화면 상단의 +방화벽 규칙 만들기 버튼을 누른 뒤 규칙을 만들어줍시다. 먼저 적당한 규칙 이름을 정해주고, 아래에 지정된 항목을 변경하면 됩니다.
- 대상: 지정된 대상 태그 → 네트워크의 모든 인스턴스
- 소스 IPv4 범위 → 0.0.0.0/0
- 지정된 프로토콜 및 포트 : ✔ TCP - 8211, 27015 / ✔ UDP - 8211, 27015
이후 만들기를 눌러 생성하면 끝.
서버 구축하기
모바엑스텀 세션 만들기
모바엑스텀에서 Session 버튼을 누릅니다. 이후 SSH 탭을 선택.
Remote Host에 아까 복사해둔 IP를 붙여넣기 합니다.
Use private Key를 체크하여 내 문서에 저장해둔 .ppk 파일과 연결을 하고 OK를 누르면 세션이 생성됩니다.
이제 세션을 실행해봅시다. 정상적으로 터미널이 나오고 연결이 된다면 이제 서버를 구축할 차례입니다.
자동 서버 스크립트 사용하기
다운받았던 Auto_setup.sh를 좌측 탐색기 영역에 드래그하여 붙여 넣읍시다. 붙여넣었으면 정상적으로 작동되도록 권한을 부여해야 겠죠?
sudo chmod 777 Auto_setup.sh
위 코드를 복사하여 붙여넣습니다. 붙여넣기는 마우스 우클릭을 하면 됩니다. 대소문자가 정확해야하지 입력할 때는 대소문자에 유의하세요.
이제 권한을 부여했으니까 스크립트를 실행해봅시다.
./Auto_setup.sh
현재 경로의 Auto_setup.sh 를 실행하겠다는 명령어입니다. 위 명령어를 입력하면 아래와 같이 창이 뜹니다.
Check your [docker-compose.yml] file and press Enter to continue. 라고 뜨는군요. 도커 컴포즈 파일을 붙여넣기 전에 기본적인 설정을 해봅시다.
docker-compose.yml 설정
메모장에 docker-compose.yml를 드래그하여 붙여넣어서 텍스트들을 불러옵니다. 여기서 설정해야할 건 별 거 없습니다.
- SERVER_PASSWORD=
- ADMIN_PASSWORD=adminPasswordHere
- SERVER_NAME=
- SERVER_DESCRIPTION=
위 항목들을 손보도록 합시다. 서버에 비밀번호를 두지 않으려면 위처럼 =옆을 공란으로 비워두면 됩니다. 한글은 사용하지 말고 영문으로 작성하시면 됩니다.
또한 추후 설정을 변경할 예정이면, Environment
란에 DISABLE_GENERATE_SETTINGS: true
를 추가하도록 합시다. 세팅 파일을 재생성하지 않도록 하는 기능입니다. 작성이 완료되었으면 저장합니다.
만약 플레이어가 없을 때 자동으로 서버를 정지시켰다가 플레이어 접속 시 다시 실행하게 하고 싶다면
✓ 팰월드 24시간 서버에서 플레이어가 없으면 서버 정지하는 방법
이 방법을 통해 docker-compose.yml 단계에서 적용할 수 있습니다.
모든 설정이 끝났다면 이제 파일을 붙여넣기를 하면 되는데 아까처럼 그냥 붙여넣기 하지말고 모바엑스텀의 왼쪽 탭에서 ..을 눌러 상위 폴더로 이동하면 serverfile이라는 폴더가 생겼습니다.
해당 폴더 안으로 들어간 뒤 docker-compose.yml을 붙여넣기.
이후 우측 화면에서 엔터를 치면 자동으로 서버 구축이 완료되게 됩니다. 시간이 조금 걸리니 느긋하게 기다리고나면 서버가 구축되어있을 것입니다.
이제 게임에서 아이피를 입력해 쉽게 멀티 서버에 접속할 수 있습니다.
아이피 주소:8211
EX) 0.0.0.0:8211
서버 접속이 되지 않을 경우
만약에 만들어진 서버에 접속이 되지 않는다면 방화벽에서 접속 포트를 차단하고 있을 가능성이 큽니다.
위 링크를 참고하여 접속 포트를 열어줍시다.
서버 구동 확인하기
모든 과정이 끝났으면 이제 확인해볼 차례입니다.
sudo docker ps
해당 명령어를 입력하면 현재 작동하고 있는 서버를 확인할 수 있습니다.
docker-compose.yml에서 지정한 서버 명이 잘 보이는군요. 만약 palworld-watcher도 실행했다면 서버가 2개가 열려있는 걸 확인할 수 있습니다. 해당 서버를 정지하기 위해선 아래와 같은 명령어를 입력합니다.
sudo docker stop 서버명
실행하기 위해선 아래와 같은 명령어를 입력합니다.
sudo docker start 서버명
이렇게 서버를 정지하고 시작할 수 있습니다. 구글 클라우드로 생성된 서버는 약 한달 가량 지속되니 중간중간 접속하여 크레딧이 얼마나 남았는지 확인하고 얼마 남지 않았으면 다음 서버를 준비하면 되겠습니다.
아래는 서버 운영과 관련된 다른 정보가 포함된 글입니다. 작성이 완료된 후에 링크를 첨부하겠습니다.
서버 운영 팁
- 메모리 누수 방지를 위해 플레이어가 없을 때 서버를 리셋하고 일시 정지 상태로 유지합니다. 플레이어가 접속하면 서버는 다시 구동하게 됩니다.
✔ 기존 서버 정보를 유지한 채 새로운 24시간 멀티 서버 만들기
- 구글 클라우드의 크레딧을 거의 다 사용하여 새로운 서버를 만들어야할 때 기존 서버 정보를 새 서버에 이식하는 방법입니다.
좋은 글 감사합니다. 알려주신대로 서버 구축 해가고 있는데요.
기존 서버 정보를 유지한 채 새로운 24시간 멀티 서버 만들기 << 링크 활성화가 안되어 있어서 클릭이 안됩니다 !! ㅜㅜ
사실 읽는 사람이 아무도 없는 거 같아서 항목만 만들어두고 이후에 작성하는 걸 잊어버렸습니다. 곧 작성해서 올리겠습니다!
작성했습니다. 링크 참고해주세요.
원글 좌측 탐색기 부분이 정확히 어디인지 모르겠습니다
복붙 안됨
1. 모바엑스텀 좌측의 폴더랑 파일이 있는 “탐색기 영역”
2. 복붙 방법
혹시 알 부화시간같은 설정은 어떻게 바꾸나요?? 모바텀에서 설정을 바꿔도 기존 설정으로 덮어씌워지네요
서버를 종료한 다음에 설정을 바꾸고 다시 켜세요!
사람들 다 나가고 서버를 종료하고 설정을 바꿔도 계속 덮어씌워져요 ㅜㅜ
기존 설정이 다시 덮어씌워진다면 기존 서버가 확실하게 종료되지 않은 것 같습니다.
sudo docker stop 서버명
명령어로 확실하게 종료하고 설정을 덮어 씌워보세요.안녕하세요
위 글 덕분에 친구들과 즐겁게 즐기고 있습니다
다만 하던 중에 친구들이 죽으면 팰까지 다 떨구는 거랑 알 부화 시간, 거점 팰 수 등 불편한게 있다고 해서
혹시 중간에 서버 설정을 바꾸려면 어떻게 해야하는지 알 수 있을까요?
안녕하세요.
서버를 정지하고 DefaultPalWorldSettings.ini를 수정하셔서 변경하시면 됩니다.
/home/serverfile/palworld/Pal/Saved/Config/LinuxServer/
이 경로에 있는 거 같은데, 어떻게 설정하면 되는지는 구성매개 변수 모음을 참고하시면 될 거 같습니다.서버 정지 후 말씀하신 경로에 DefaultPalWorldSettings.ini 말고 PalWorldSettings.ini 만 있어서 여기서 숫자를 바꾸고 서버를 열어도 변경되지가 않네요..
sudo docker stop 서버명
위 명령어를 이용해서 서버를 확실하게 종료하신 게 맞을까요?
다시한 번 설정 파일을 실행해보세요. 만약 님께서 설정한 숫자로 변경되어있지 않다면 서버가 종료되지 않은 상태에서 변경하신 걸 겁니다. 서버 종료 후 숫자 변경을 완료하고, 변경 사항을 저장하시고 서버를 실행하셔야 합니다.
아래는 palworld-server-docker에서 말하는 서버 설정 방법입니다.
—————————————————————-/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
서버가 시작되면 PalWorldSettings.ini 파일은 다음 위치에 생성됩니다.
환경 변수 설정은 항상 PalWorldSettings.ini의 변경 사항을 덮어쓴다는 점에 유의하세요.
서버가 꺼져 있을 때만 PalWorldSettings.ini를 변경할 수 있습니다.
서버가 작동하는 동안 변경한 내용은 서버가 중지되면 덮어쓰기됩니다.
—————————————————————-
sudo docker stop palworld-server 이걸 치고 팰월드를 실행하니 접속 시도 중 타임아웃이 발생했습니다 라고 뜨는게 제대로 서버 닫은게 맞을까요? 이렇게 한 후에 변경하고 다시 실행했는데도 바뀌지가 않아서요..
서버 종료상태에서
1) PalWorldSettings.ini 파일을 복사한 후
2) 복사한 파일 이름을 DefaultPalWorldSettings.ini 로 바꿔보세요
복사한 파일에서 세팅을 원하시는 대로 바꿔준 다음에 재부팅 해보시죵
도저히 안되네요..
그냥 하던지 아님 다시 새로 만들어야 할것 같아요
그래도 다들 도움 주셔서 감사합니다
제가 말씀드린 건 확인해보셨나요?
1. Palworldsettings.ini 파일 변경 후 저장하기
2. 저장된 ini 파일을 실행하여 변경된 파일이 열리는지 확인할 것.
3. 파일이 변경되었다면 서버를 start해서 실행할 것.
4. 만약 변경이 되지 않았다면 ini 파일을 열어봐서 본인이 변경한 값이 나오는지, 아니면 기본값이 나오는지 확인할 것.
위 과정 중 어디서 문제가 생기는지 알아야 더 자세한 도움을 드릴 수 있을 거 같습니다.
4번 과정을 거쳤는데, 만약 파일이 변경되기 전으로 돌아왔다면 서버를 제대로 정지하지 않았을 가능성이 크고, 파일이 변경된 상태 그대로라면 수정하신 파일이 해당 서버의 세팅 파일이 아닐 가능성이 큽니다. 이때는 다른 경로에 또다른 palworldsettings.ini이 있는지 확인해보셔야할 것 같네요.
ps. 서버가 정지되었는지 확인하는 법은
sudo docker ps
를 입력하시면 됩니다.원인과 해결 방법을 알아냈습니다.
근래 팰월드 문의가 많아져 24시간 서버를 새로 만들고 확인해본 결과, 위 문제는 서버가 실행 될 때마다 palworldsettings.ini이 초기화되는 증상입니다. 이를 막기 위해선 아래의 과정을 거치시면 됩니다.
sudo docker stop 서버명
→ 서버 정지
sudo chmod +x /usr/local/bin/docker-compose
sudo chmod 666 /var/run/docker.sock
→ docker에 권한 부여.
export COMPOSE_FILE=/home/serverfile/docker-compose.yml
→ docker-compse.yml 위치 설정
“/home/serverfile/”로 이동하여 docker-compose.yml 파일 실행
environment: 항목에 DISABLE_GENERATE_SETTINGS: true 추가 후 저장
“/home/serverfile/palworld/Pal/Saved/Config/LinuxServer/” 경로에서 PalWorldSettings.ini 파일 실행하여 옵션 변경 후 저장.
docker-compose up -d
→ docker-compose.yml 설정 실행. 자동으로 서버가 다시 실행됩니다.
물어보기 죄송한데 모바엑스텀으로 saveprivatekey를해서 문서에 저장하면 .ppk파일만 생성이 되는데 .ssh파일은 어떻게 생성하나요
왜 .ssh 파일이라고 썼는지 모르겠네요. ssh가 저장된 .ppk 파일 맞습니다. 해당 파일로 사용하시면 됩니다!