팰월드 클라우드 서버 구축기 3

* 팰월드 클라우드 서버 구축기 3탄

* 지난 블로그에서 이야기한 ARM 프로세서 제약사항
ARM 프로세서에서 팰월드를 구축하기 위해서 몇가지 제약사항이 있다.
1. 팰월드 서버는 Steam CMD위에서 구동이 가능하다.
2. Steam CMD는 x86 기반에서만 실행이 가능하다.
즉, Steam CMD를 Arm 프로세서에서 실행할 수 있는 방법을 찾아야한다...
https://walterpark.tistory.com/467

 

2탄에서 이야기한 Docker의 경우 Steam CMD를 FEX-Emu을 통해 Arm 프로세서를 x86 처럼 둔갑시켜서 서버를 구동하는 방식이다.

 -> 그런데 FEX-Emu를 이용하지 않고도 arm64기반에서 Steam CMD를 바로 설정할 수 있는 Docker 이미지가 존재함!!

 -> 찾은 김에 해당 이미지로 Docker를 구동하기로 진행


* Arm64 프로세서 팰월드 Docker 이미지

https://github.com/thijsvanloef/palworld-server-docker/tree/main/docs/kr

 - 친절하게 한글로 가이드 되어있으니 참고해서 진행!

팰월드 Docker 이미지 내 Arm64 기반을 위한 추가 설정 가이드


Arm64 기반 팰월드 서버 구동 순서

 

#1. 팰월드 Docker 이미지 Clone
git clone https://github.com/thijsvanloef/palworld-server-docker.git

#2. 팰월드 서버 환경 설정파일 복사
#.env.example 파일 -> .env로 복사
cp .env.exmaple .env

#3. 환경 설정 파일 세팅(수정하지 않을 시 기본 서버 설정 그대로 적용됨)
vim .env
#i 혹은 a로 입력모드 변환 후 값 수정
#환경설정 값 설명 : https://tech.palworldgame.com/settings-and-operation/configuration/
#변경해야할 기본 값
TZ=Asis/Seoul

#중요) arm64인 경우 기존 설정값 변경 외에도 아래 3가지 값을 추가해줘야한다.
BOX64_DYNAREC_STRONGMEM: 3
BOX64_DYNAREC_BIGBLOCK: 0
BOX64_DYNAREC_BLEEDING_EDGE: 0


#4. docker-compose.yml 수정
#최초 clone 시 docker-compose.yml은 .env를 사용하지 않는 상태이다.
#그러므로 아래 내용으로 docker-compose.yml 변경!
services:
  palworld:
    image: thijsvanloef/palworld-server-docker:latest
    restart: unless-stopped
    container_name: palworld-server
    stop_grace_period: 30s # 컨테이너가 정상적으로 중지될 때까지 기다리는 시간을 설정합니다.
    ports:
      - 8211:8211/udp
      - 27015:27015/udp
    env_file:
      - .env
    volumes:
      - ./palworld:/palworld/
      
#5. docker 구동
docker compose up -d #백그라운드 실행(시간이 조금 걸린다)
docker logs -f palword #docker-compose.yml에 정의된 service(palworld) 구동 로그 확인

#6. docker 참고
docker restart palworld #재시작
docker compose down #종료
docker pause palworld #일시정지
docker unpause palworld #일시정지 해제

 

 

정상적으로 서버가 구동되었고, 신나게 팰월드 즐기기 시작!!

팰월드 클라우드 서버 구축기 2

* 팰월드 클라우드 서버 구축기 2탄

 

ARM 프로세서에서 팰월드를 구축하기 위해서 몇가지 제약사항이 있다.

1. 팰월드 서버는 Steam CMD위에서 구동이 가능하다.

2. Steam CMD는 x86 기반에서만 실행이 가능하다.

즉, Steam CMD를 Arm 프로세서에서 실행할 수 있는 방법을 찾아야한다...

 

* 세상은 넓고 전문가는 많다

Arm 프로세서 기반에서 Steam CMD 를 구동할 수 있는 Docker 이미지가 이미 존재했다!!
Docker 경로 : https://hub.docker.com/r/czy0612/palworld-server
참고 : https://svrforum.com/svr/1191337

 

사용법

1. docker 설치

2. 팰월드 서버 설치 경로 이동

3. Arm Docker 이미지 clone

   > git clone https://github.com/zion-c/palworld-server-arm64.git

4. Docker 빌드 수행 (팰월드 구동을 위한 관련 프로그램 설치)

   > cd palworld-server-arm64

   > docker build -t palworld-arm64 .    (8기가정도여서 오래 걸린다)

5. Docker 기동

   > docker compose up -d

6. 팰월드 환경 설정

   > 환경설정 경로 : .data/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

7. 팰월드 내에서 서버 접속

   > 허용받은 공용 subnet ip : port

 

 

ps. 근데 왜 내가 설치한  ubuntu 22.04는 파이어폭스 브라우저에서 아무런 키 입력이 되지 않는걸까..?

    portainter로 작업하기 너무 힘들다!!! 터미널에서는 한글/영문 둘 다 입력이 잘되는 것도 신기함.

   일단 급한대로 로컬 복사 -> VM 붙여넣기로 해결중...

팰월드 클라우드 서버 구축기 1

* 팰월드 클라우드 서버 구축기

 - 구성 방법 1 : Google Cloud

 - 구성 방법 2 : AWS S3

 - 구성 방법 3: Oracle Cloud Infrastructure (OCI) 인스턴스

 

장단점 비교

1. Google Cloud

 - 장점 : 쉽다!, 최초 무료 사용량 300$, 

 - 단점 : 무료 사용량의 기한이 3개월, 3개월 이후에는 유료로 전환해야함 (혹은 신규 계정으로 다시 무료 크레딧을 받아서 사용해야함)

 

2. AWS S3

 - 장점 : 무료 사용 기한 1년

 - 단점 : 프리티어(무료사용) 기간 종료 후 유료로만 사용 가능

 

3. Oracle Cloud Infrastructure

 - 장점 : 무료 사용 기한의 제한이 없음

 - 단점 : 가입이 힘들다(요새는 쉽게 가입이 가능한 것으로 보임), 정보가 적다, 프리티어 인스턴스의 경우 서버 스펙이 좋지 않다 (CPU 1개, RAM 1GB)

 

3개월마다 서버를 옮기기 귀찮으므로 팰월드 구축은 3번 Oracle Cloud Infrastructure를 사용해서 구성!

AMD 기반의 무료 인스턴스 스펙

가장 간단한 AMD 기반의 VM.Standard.E2.1.Micro 머신으로 서버를 구현한 모습이다.

하지만 해당 서버는 팰월드 서버 시작조차 불가능하다...

 

어쩔 수 없이 ARM 기반 서버로 생성해서 구동시키자!!!

※ ARM 프로세서의 경우 현재 Region에 할당량이 없을 가능성이 매우 높다.
이를 우회하는 방식으로 아래와 같이 진행하였으니 참고해주세요.
1. 유료 회원 전환 (대략 4시간 정도 소요되었음)
2. ARM 프로세서 생성
3. 서버 사용량 모니터링 후 프리티어 사용량 내에서만 구동시키고 셧다운
4. 무료 사용량 충전되면 다시 서버 구동..