즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

게임

Palworld Docker로 Dedicated Server 구축하기(02.02)

다물칸 2024. 1. 26. 00:32
728x90

2024.01.19일 발매된 Palworld는 공식서버가 제공되지만 불안정하여 서로 알고지내는 사람들과 함께 하기 위한 비공식 서버를 구축해보기로 하자.

 

이미 Docker허브에 많은 도커 이미지들이 올라와있고 우리는 이것들 중 하나를 선택해서 진행할 예정이다. 

개인서버에 VM하나 할당해서 해보기로 하자. ㅋㅋ

시놀로지 NAS도 매일 켜있으니 여기에 설치해도 좋을 것 같다. 우선 서버사용량을 모르는 관계로 서버에 설치해서 운용해보고 NAS에서도 커버가 가능한지 봐야 할 것 같다. 

 

1. 우분투 설치.. 

 

VirtualBox에 Ubuntu Linux설치

CentOS 지원이 종료됨에 따라 설치 안되는게 많아져 어쩔 수 없이 우분투로 넘어간다. 익숙치 않아서 우분투 설치방법을 작성해본다. 우분투는 아래 링크에서 데스크탑으로 다운로드 받는다. 별

endev.tistory.com

위 글은 버추얼 박스지만 지금은 Virtual Machine에 설치 중이다. 16core, 16기가, 400Gb로 빵빵하게 잡아놨다. 네트워크 환경은 무조건 브릿지로 잡자. 그래서 호스트와 동일하게 VM환경에서도 공유기로부터 아이피를 할당받을 수 있다. 외부에서 접근도 가능해야 하기 때문에 외부IP와 VMIP간 포트포워딩 작업도 해야하기 때문이다. 

 

 

2. 도커 설치

 

 

Ubuntu Linux에 Docker 설치

Docker에서 제공되는 공식가이드 Install Docker Engine on Ubuntu docs.docker.com Ubuntu가 설치됐고, root계정이 아닌 별도 계정에서 설치를 가정한다. # OS 업데이트 sudo apt-get update # 필수 유틸설치 sudo apt-get inst

endev.tistory.com

이 글을 참고해서 설치한다. (잘 안되서 윗 글 다시 수정했다. ㅡㅡ;)

docker-compose로 구동할 것이기 때문에 이것까지 꼭 설치한다.

 

3. Palworld 서버 이미지 소스 가져오기

 

 

GitHub - thijsvanloef/palworld-server-docker: A Docker Container to easily run a Palworld dedicated server.

A Docker Container to easily run a Palworld dedicated server. - GitHub - thijsvanloef/palworld-server-docker: A Docker Container to easily run a Palworld dedicated server.

github.com

 

현재 기준 2시간 전에 업데이트 된 이 사이트를 이용해보자. 

우선 적절한 경로를 생성하고, git을 이용해서 소스를 내려받아 본다.

git clone https://github.com/thijsvanloef/palworld-server-docker
cd palworld-server-docker

 

소스를 보니 k8s폴더가 있다. 이것은 쿠버네티스라고 해서 분산서버를 지원한다는 뜻인데 이건 복잡복잡하다. 우선 단일서버로 구동하자. 

 

위에 깃헙 사이트에 보면 환경정보 설정을 미리 docker-compose.yml로 설정해서 up만 시키면 이 사람이 만든 도커허브에서 이미지를 내려받아 서버가 실행된다. 

 

# 수정해야 할 항목

- ADMIN_PASSWORD=[게임 내 관리자의 패스워드]
- COMMUNITY=[게임 내 서버목록에 표시할지 여부]
 + false이면 아이피, 포트를 직접 입력해서 하지 않을까?
 + true면 밑에 #으로 되어 있는 SERVER_PASSWORD와 SERVER_NAME을 풀어주어야 한다. (#제거)
 - SERVER_PASSWORD=[서버 접속 시 사용할 패스워드]
 - SERVER_NAME=[목록에 표시할 이름] (검색해서 찾기 편한이름으로 등록하자)
 
 volumes:
  - ./palworld - 앞쪽 경로가 호스트의 경로이다. mkdir palworld 명령을 이용해 구동 전 폴더를 생성하자.

 

볼륨이 중요하다. 도커 컨테이너 구동 후 파일이 생성되는 폴더를 컨테이너 안이 아닌 마운팅된 서버의 폴더에 저장이 되어야 컨테이너가 재시작되더라도 파일이 휘발(삭제)되지 않는다.

 

4. 도커 실행

docker-compose up -d

 

docker-compose를 잘 설치했다면 정상적으로 실행이 되고 최초에는 내려받은 이미지가 없기 때문에 도커 허브에서 이미지를 내려받는다. 

이런 오류가 뜬다면 앞에 sudo를 붙여서 실행해보자. root로 실행한다는 의미이다. 

 

정상적으로 실행됐다면 이렇게 표시된다. 

 

5. 도커 간략 명령어 정리

# 도커 컨테이너 상태목록
sudo docker ps -a

# 도커 컨테이너의 로그보기 (-f 계속 로그를 찍겠다는 의미이고, 나가려면 Ctrl+C)
sudo docker logs -f palworld-server

# 도커 컨테이너 재시작
sudo docker restart palworld-server

# 도커 컨테이너 종료
sudo docker-compose down

 

6. 네트워크 설정

외부에서 다른 사람들이 가상머신까지 접속이 되어야 하기 때문에 공유기의 포트포워딩 설정을 한다. 

인터넷에 많이 있기 때문에 다른 사람 블로그를 링크해본다. 

 

 

[네트워크] 외부접속을 위한 포트포워드 하기

본 포스트는 서버 PC에 외부 접근을 위해서 네트워크 포워드 방법을 메모해두고자 합니다!! 잘못된 점이나 피드백은 언제든지 환영입니다. 01. 포트포워드란? 외부 접속을 위해서는 외부의 기기

panython.tistory.com

 

 

7. 게임에서 접속

외부아이피를 표시한 영역에 입력하고 서버에 비밀번호를 설정했을 경우 체크를 해준다.

연결 버튼을 누르면 비밀번호 입력화면이 표시되고 비번을 정확하게 입력하면 최초 캐릭터 생성화면이 표시된다. 

반응형

'게임' 카테고리의 다른 글

[게임 소개] 스타필드가 얼리억세스로 출시했네요.  (0) 2023.09.03