IT/클라우드

[무료] 좀보이드 멀티 24시간 서버 여는 법 (GCP + 우분투)

Buildify365 2025. 6. 10. 00:25

 

이런 분들께 추천

  • 개인 컴퓨터를 꺼도 계속 작동하는 서버가 필요하신 분
  • 하루 종일 서버를 유지하며 친구들과 함께 플레이하고 싶은 분
  • 3개월 무료 크레딧으로 비용 부담 없이 서버를 운영해보고 싶은 분
  • 2~8명 정도의 소규모 플레이에 적합한 PZ 서버를 찾는 분
  • Project Zomboid 서버를 직접 구축하면서 경험을 쌓고 싶은 분

왜 24시간 서버를 열려고 했을까?

친구랑 Project Zomboid를 같이 플레이하다 보면 다음과 같은 상황을 자주 겪게 됩니다:

  • 누군가가 나가야 할 때 → 다른 사람은 더 하고 싶어도 게임이 강제 종료됨
  • 접속 시간이 서로 다를 때 → 시간을 정하고 기다려야 하는 불편함

처음엔 Steam의 '같이하기' 기능으로 시작했지만, 이 방식은 내 컴퓨터가 서버 역할을 하기 때문에 제약이 많습니다.
내가 게임을 끄면 서버도 꺼지고, 다른 사람이 접속하고 싶어도 내 게임이 켜져 있어야만 가능하죠.

이걸 해결하고 싶어서 Dedicated Server를 직접 실행해 보기도 했습니다.
이 방법은 백그라운드로 서버만 돌릴 수 있어서, 게임 창을 켜둘 필요는 없지만, 결국엔 내 컴퓨터가 계속 켜져 있어야 한다는 점은 같았습니다.

그래서 자연스럽게 24시간 켜둘 수 있는 외부 서버를 찾아보게 되었고,
그중에서 Google Cloud Platform(GCP)3개월 무료 크레딧을 제공한다는 걸 알게 되어
이걸 활용해 직접 24시간 전용 서버를 구축해보게 되었습니다.

(※ 여러 클라우드 플랫폼 비교는 다른 글에서 자세히 다뤄볼 예정입니다.)

요약

  1. 문제: 내 컴퓨터에 의존적인 서버 운영
  2. 시도: Dedicated Server -> 여전히 컴퓨터를 켜야함
  3. 해결: GCP 무료 크레딧으로 외부 서버 구축

이 글을 따라한다면...

GCP에서 제공하는 90일 $300 크레딧을 이용하여
하루 평균 6시간씩 플레이하는 사용자가 약 70~80일 정도 플레이할 수 있는 Project Zomboid 24시간 서버 가능!

무료 24시간 좀보이드 서버 구축 따라하기

목차

  1. GCP 가입 & 크레딧 받기(클라우드 플랫폼 가입하기)
  2. VM 인스턴스 만들기(컴퓨터 빌리기)
  3. Project Zomboid 서버 설치
  4. 포트 설정
  5. 접속 확인
  6. 인스턴스 삭제

1. GCP 가입 & 크레딧 받기

1-0. GCP 무료 정책 설명

0-1. 무료 정책 0-2. 일반 계정 활성화 하지말기
  • $300의 무료 크레딧: 90간 $300(한화 약 41만원) 크레딧으로 사용 가능
  • 자동 청구 없음: 크레딧 사용 이후 자동 청구 없음. 일반 계정 활성화, 선불을 선택하는 경우에만 요금 청구됨.

1-1. GCP(Google Cloud Platform) 접속

1-2. 무료로 시작하기 클릭

1-2-1. 무료로 시작하기 클릭
  • 무료로 시작하기 버튼을 클릭합니다.

1-3. 정보 입력

1-3-1. 1단계

1-3-1-1. 국가 선택, 서비스 약관 동의
  • 계좌 유형: 개인
  • 이름 및 주소: 본인 정보 입력

1-3-2. 2단계

1-3-2-1. 계좌 유형 개인 선택 1-3-2-2. 주소 입력
1-3-2-3. 이전 정보 확인 1-3-2-4. 정보 입력 1-3-2-5. 결제 수단 정보 입력

1-3-2. GCP 가입 및 크레딧 받기 완료

1-3-3. GCP 가입 및 크레딧 받기 완료

2. VM 인스턴스 생성하기

2-1. 왼쪽 상단 햄버거 아이콘 클릭

2-1-1. 왼쪽 상단 햄버거 아이콘 클릭
  • 왼쪽 상단 햄버거 아이콘을 클릭해서 사이드 바를 엽니다.

2-2. VM 인스턴스 선택

2-2-1. VM 인스턴스 선택
  • 제품-Compute Engine-VM 인스턴스 메뉴를 클릭합니다.

2-3. API 사용 클릭

2-3-1. API 사용 클릭
  • 해당 페이지가 뜬다면 Enable(사용) 버튼을 클릭하여 진행합니다.

2-4. VM 인스턴스 만들기

2-4-1. VM 인스턴스 만들기
  • VM 인스턴스 페이지로 이동한 다음 상단의 인스턴스 만들기 버튼을 클릭합니다.

2-5. 서버 이름 및 영역 선택

2-5-1. 서버 이름 및 영역 선택
  • 이름, 리전, 영역을 설정합니다.
    • 이름: 여러분이 원하는 이름을 설정합니다.
    • 리전: 서버의 위치를 선택하는 옵션입니다. 게임서버에 접속하는 플레이어(친구)들과 게임 서버의 위치가 같아야 반응속도가 빨라지니 서울을 선택했습니다.
    • 영역: 리전내에 데이터 센터의 위치를 선택하는 옵션입니다. 이 부분은 어느 곳이라도 상관없으니 모두를 선택하겠습니다.

2-6. VM 인스턴스 사양 선택

2-6-1. VM 인스턴스 사양 선택
  • 인스턴스 Series, CPU 코어, 메모리를 설정합니다.
    • 인스턴스 Series: 빌릴 컴퓨터의 특성 또는 성격입니다. 서버를 최대한 오랫동안 돌리기 위해서 저렴한 비용의 Series를 선택했습니다.
    • CPU 코어: CPU 코어 수입니다.
    • 메모리: 메모리 용량입니다.
      (CPU와 메모리의 최소/권장 사양은 공식문서가 없어 호스팅 업체 등 구글링의 결과를 토대로 설정했습니다.)
  • 원하시는 만큼 사양을 높히거나 낮출 수 있습니다.

2-7. OS 및 스토리지 선택

2-7-1. OS 및 스토리지 페이지 2-7-2. OS 및 스토리지 변경
  • OS(운영체제) 및 스토리지 설정입니다. 변경 버튼을 눌러 설정합니다.
    • 운영체제: 빌릴 컴퓨터의 운영체제입니다. 서버는 Linux 기반의 OS로 진행할 예정이니 그 중 Ubuntu를 선택했습니다.
    • 버전: 운영체제의 버전입니다. 우선 Ubuntu 24.04 LTS를 사용했습니다. LTS(Long-Term Support)는 오래동안 보안 업데이트, 기술 지원, 버그 수정 등을 지원한다는 뜻이므로 안정성을 위해 선택했습니다. Minimal이 아닌 일반 버전을 사용한 이유는 Minimal은 최소한의 뼈대만 가지고 있는 버전이라 추가적인 패키지 설치를 신경쓰지 않고 진행하기 위해서 일반 버전을 선택했습니다.
    • 부팅 디스크 유형: 부팅 디스크의 유형을 선택할 수 있는 옵션입니다. 파일 입출력이 빨라 게임 성능을 위한 SSD를 선택했습니다
    • 크기: 디스크의 크기입니다. 저는 넉넉하게 100GB 설정했으나, 구글 검색 결과 50GB도 충분할 듯 싶습니다. 저같은 경우 무료 크레딧 90일을 꽉 채울 생각이 없어서 100GB 선택했습니다.
    • 삭제 규칙: VM 인스턴스를 삭제할 때 부팅 디스크를 유지할 것인지 삭제할 것인지 선택할 수 있습니다. 저는 90일 체험동안 사용하고 그 이후에는 인스턴스와 디스크를 사용하지 않을 예정이고, 인스턴스를 삭제했는데 부팅 디스크 유지가 된 상태라면 유지비용이 추가될 수 있으니 삭제 옵션을 선택하겠습니다. 현실로 비유하자면 컴퓨터를 버리는데 컴퓨터와 안에있는 저장 장치를 같이 버릴 것인지, 아니면 저장 장치는 따로 보관한 상태로 삭제할 것인지 선택하는 것입니다.

(Linux가 아닌 Window로도 서버를 열 수 있지만, window는 GPC의 무료버전으로는 지원하지 않고 유료버전으로 진행하더라도 Window 운영체제를 사용한다면 추가 금액이 붙기 때문에 Linux 기반으로 진행합니다.)

2-8. 금액 확인 및 만들기

2-8-1. 금액 확인 및 만들기
  • 금액 확인하시면 월별 예상 가격이 나옵니다. 확인하셨으면 만들기 버튼 클릭합니다.

위 사진에서는 한달에 약 $115달러의 비용이 들고, 처음에 주어지는 $300 90일 무료 크레딧을 가지고 약 78일동안 사용할 수 있습니다.
추가로 게임 플레이어와 게임 서버가 통신하는데 약간의 데이터 통신 비용이 들기 때문에 78일보다 더 빨리 크레딧이 소진될 수 있습니다.

2-9. 검증 절차 진행

2-9-1. 검증 절차 진행1 2-9-2. 검증 절차 진행2
  • 검증 절차를 요구한다면 진행합니다.

2-10. 생성 확인

2-10-1. 생성 확인
  • 인스턴스가 생성된 것을 확인합니다.

3. Project Zomboid 서버 설치 및 설정

  • pzwiki의 dedicated server 가이드를 보고 필요한 부분만 따라서 진행하겠습니다.

3-1. VM 인스턴스에서 SSH 클릭

3-1. SSH 텍스트를 클릭 3-2. SSH 열린 상태
  • SSH 텍스트를 클릭해서 인터넷 브라우저에서 서버를 제어할 수 있습니다.
  • 두번째 사진은 브라우저에서 서버와 연결한 사진입니다. 명령어를 통해 서버를 제어할 수 있습니다.

3-2. SteamCMD를 통한 Project Zomboid Dedicated Server 설치

Project Zomboid Dedicated Server
Project Zomboid 전용 서버
Dedicated라는 의미는 오직 게임 서버 역할만을 수행한다는 의미입니다.

SteamCMD
스팀 클라이언트의 command-line 도구입니다.
명령줄로 게임 서버 설치나 업데이트를 진행할 수 있습니다.

3-2-1. 패키지 설치

3-2-1-1. 패키지 설치 3-2-1-2. SteamCMD 설치 3-2-1-3. SteamCMD 설치 3-2-1-4. SteamCMD 설치
sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update
sudo apt install steamcmd
  • SteamCMD를 설치하기 위한 패키지를 다운로드합니다. 중간에 Enter를 눌러 진행합니다.
  • SteamCMD도 설치하여 진행합니다. 중간에 y를 눌러 진행합니다.
  • 설치 도중 다음과 같은 창이 뜨면 TAB키를 누르고 엔터를 누른다면 진행 가능합니다.
  • 키보드로 "I AGREE"를 선택 후 Enter를 눌러 진행합니다.

3-2-2. user 추가

3-2-2. 우분투에 user 추가
sudo adduser pzuser
  • 우분투에 pzuser라는 user를 추가합니다.
  • 패스워드를 입력하여 pzuser의 비밀번호를 설정합니다.
  • 아래 정보는 Enter를 계속해서 눌러 default로 설정하겠습니다.

3-2-3. Zomboid Server를 설치할 폴더 설정

3-2-3. Zomboid Server를 설치할 폴더 설정
sudo mkdir /opt/pzserver
sudo chown pzuser:pzuser /opt/pzserver
  • /opt 라는 경로에 pzserver라는 폴더를 생성합니다.
  • pzserver폴더에 pzuser가 작업할 수 있도록 권한을 설정합니다.

3-2-4. 추가한 user로 로그인

3-2-4. pzuser로 로그인
sudo -u pzuser -i
  • 명령어를 입력해 pzuser로 로그인합니다.
  • 로그인이 완료되면 좌측의 user 이름이 바뀐 상태가 됩니다. (예. buildifiy365 -> pzuser)

3-2-5. Project Zomboid 전용 서버 설치/업데이트 스크립트 작성

3-2-5. 스크립트 작성
cat >$HOME/update_zomboid.txt <<'EOL'
// update_zomboid.txt
//
@ShutdownOnFailedCommand 1 //set to 0 if updating multiple servers at once
@NoPromptForPassword 1
force_install_dir /opt/pzserver/
//for servers which don't need a login
login anonymous
app_update 380870 validate
quit
EOL
  • 서버를 설치하고 업데이트하는 스크립트를 작성합니다.

3-2-6. 스크립트 실행

3-2-6-1. 스크립트 실행 3-2-6-2. 스크립트 실행 완료
export PATH=$PATH:/usr/games
steamcmd +runscript $HOME/update_zomboid.txt
  • 스크립트를 실행하여 서버 설치 및 업데이트를 진행합니다.

3-3. 서버 실행하기

3-3-1. tmux 패키지 설치 확인 및 실행

tmux를 이용해서 서버를 실행할 것입니다. 기본적으로 터미널 창을 닫으면 그 터미널에서 실행 중이던 프로그램은 종료됩니다. 이를 방지하기 위해 tmux 라는 도구를 사용할 것입니다.

tmux
한 터미널에서 여러 프로그램을 쉽게 전환하고, 백그라운드에서 계속 실행되도록 할 수 있는 멀티플랙서

3-3-1. tmux 설치 확인 3-3-2. tmux 실행
  • Ubuntu LTS 버전에는 설치되어있으므로 설치 방법은 생략합니다.
  • 만약 설치가 필요하다면 sudo apt-get install tmux로 설치합니다.
  • tmux을 입력한다면 한다에 초록색 UI가 나타납니다. 이는 tmux를 실행중이라는 뜻입니다.
    • tmux를 끄는 방법은 exit를 누릅니다.

3-3-2. 폴더 이동

3-3-2. 폴더 이동
cd /opt/pzserver/
  • 아래 명령어를 입력해 /opt/pzserver/로 이동합니다.
  • 만약 폴더 내용을 보고싶다면 ls -al을 입력하여 확인합니다.

3-3-3. 서버 실행

3-2-3-1. 서버 실행 3-2-3-2. 서버 관리자 비밀번호 설정
bash start-server.sh
  • bash start-server.sh를 입력하여 좀보이드 서버를 실행합니다.
  • bash start-server.sh
  • 서버 실행 도중에 비밀번호 입력창이 나온다면 관리자 비밀번호를 원하는대로 입력하고 확인합니다.

3-4-4. 서버 실행 완료

3-2-4. 서버 실행
  • 서버는 OS(Ubuntu)의 16261, 16262 포트에서 외부의 접속을 기다리는 상태가 됩니다.

4. 포트 설정

멀티플레이 게임을 위해 플레이어는 서버의 IP 주소와 포트 번호를 알아야 하며,
서버 역시 외부에서 들어오는 트래픽을 수신할 수 있도록 해당 포트를 열어 두어야 합니다.
이 글에서는 GCP에서 하나의 VM 인스턴스만을 게임 서버 용도로 사용할 것이기 때문에 네트워크 구성을 새로 만들지 않고 기존 네트워크 설정에 필요한 포트 설정만 추가해서 사용하겠습니다.

4-1. VPC 네트워크로 이동

VPC(Virtual Private Cloud)
클라우드(이 글에선 GCP) 안에서 사용하는 가상의 네트워크 공간
서버가 인터넷에 연결되어 동작할 수 있도록 네트워크 관련 기능을 제공하는 역할

4-1-1. VM 인스턴스에서 nic0 클릭 4-1-2. VPC 네트워크 세부정보에서 default 클릭

VM 인스턴스에서 VPC 네트워크로 들어가 방화벽 규칙을 추가하는 방향으로 진행하겠습니다.

  • nic0 링크를 클릭합니다.
  • 네트워크에서 default를 클릭합니다.

4-2. 방화벽 규칙 추가

방화벽(Firewall)
컴퓨터 네트워크에서 외부의 불법적인 접근을 차단하고 내부의 데이터를 보호하기 위한 보안 시스템

4-2-1. 방화벽 탭 클릭 4-2-2. 방화벽 규칙 추가 버튼 클릭
  • 방화벽 탭을 클릭합니다.
  • 이후 방화벽 규칙 추가 버튼을 클릭합니다.

4-3. 방화벽 규칙 만들기

4-3-1. 방화벽 규칙 만들기 4-3-2. 방화벽 규칙 만들기
  • 방화벽 규칙 만들기에서 세부 설정을 진행합니다. 설정 후 만들기로 규칙을 생성합니다.
    • 이름: 원하는 방화벽 규칙 이름을 설정합니다.
    • 설명: 방화벽에 대한 설명을 적습니다. 빈칸도 상관없습니다.
    • 로그: 로그를 모니터링 하지 않을 예정이니 사용 안함으로 진행합니다.
    • 네트워크: 스킵
    • 우선순위: 스킵
    • 트래픽 방향: 인그레스로 설정합니다. 클라우드 외부(플레이어)에서 클라우드 내부(서버)로 트래픽(데이터)이 들어온다면 인그레스, 내부에서 외부로 나간다면 이그레스입니다.
    • 일치 시 작업: 허용입니다.
    • 대상: 네트워크의 모든 인스턴스로 설정합니다. VM 인스턴스를 하나만 생성한다면 네트워크에 인스턴스는 하나 뿐이 없기 때문에 해당 옵션을 선택했습니다.
    • 소스 필터: 스킵
    • 소스 IPv4 범위: 0.0.0.0/0으로 설정합니다. 모든 IP에서 접근할 수 있게 설정했습니다.
    • 보조 소스 필터: 스킵
    • 지정한 프로토콜 및 포트: 지정한 프로토콜 및 포트로 설정하고, 좀보이드 서버는 UDP 16261, 16262 포트에서 플레이어의 요청을 기다리고 있기 때문에 16261-16262로 설정합니다.

4-4. 완료 후 확인

4-4. 방화벽 규칙 만들기 후 확인
  • 생성이 된 것을 확인합니다.

5. 동작확인

방화벽 설정 후 스팀을 열고 프로젝트 좀보이드를 실행한 후 접속해서 서버가 동작하는지 확인합니다.

5-1. 멀티플레이 접속

5-1. 멀티플레이 접속

5-2. 서버 추가

5-2-1. 멀티플레이 접속 5-2-2. GCP에서 외부 IP 가져오기
  • GCP VM 인스턴스에서 생성한 인스턴스와 서버의 정보를 가져옵니다. 그리고 Save(저장) 버튼을 클릭합니다.
    • Favorite name(서버이름): 별칭으로 지정할 서버 이름을 입력합니다.
    • IP: VM 인스턴스의 외부 IP를 입력합니다.(내부 IP 사용하지 않기)
    • Local IP: 빈칸
    • Port: 16261을 입력합니다.
    • Server Password(서버 암호): 서버 접속 시 암호입력 설정을 하지 않았으니 빈칸으로 둡니다.
    • Description(서버설명): 옵션이니 빈칸으로 둡니다.
    • Account Username: 게임 서버에서 사용할 아이디를 입력합니다.
    • Account Password: 게임 서버에서 사용할 비밀번호를 입력합니다.

5-3. 확인 및 접속

5-3. 확인 및 접속
    1. REFRESH(새로고침)을 눌러 서버 정보가 뜬다면 접속이 가능한 상태일 것입니다.
    1. 그리고 JOIN SERVER(접속하기)를 눌러 서버에 접속합니다.

5-4. 플레이

5-4-1. 플레이 5-4-2. 플레이 5-4-3. 플레이
  • 이제 24시간 멀티 서버에서 친구들과 함께 좀보이드를 즐기면 됩니다!

6. 서버 삭제

서버 운영 도중 VM 인스턴스(서버)를 삭제하고 싶을 수 있습니다. 그 경우를 위한 설명입니다.

6-1. 우측 아이콘 클릭

6-1. 우측 아이콘 클릭
  • 우측 아이콘을 클릭합니다.

6-2. 삭제 버튼 클릭

6-2. 삭제 버튼 클릭 6-2. 삭제 버튼 클릭
- 삭제 버튼을 클릭합니다.  

6-3. 삭제 완료

6-3-1. 삭제 중 6-3-2. 삭제 완료

6-4. 할당된 디스크 삭제 확인 및 완료

6-3-1. 할당 된 디스크 확인 6-3-2. 삭제 완료
  • 인스턴스를 만들면서 할당했던 디스크가 남아있는지 확인합니다.
  • 인스턴스를 만들면서 옵션을 잘못 선택해서 인스턴스는 삭제되었는데 디스크가 삭제되지 않는 경우 요금이 계속해서 부과되어 크레딧이 줄어들 수 있습니다.

마무리

24시간 서버를 구축하기 위한 큰 흐름은 다음과 같습니다:

  1. 클라우드 플랫폼 가입
  2. 가상 머신(컴퓨터) 생성
  3. 게임 서버 실행

이 글에서는 예시로 프로젝트 좀보이드를 사용했지만, 마인크래프트나 다른 게임 서버도 동일한 방식으로 설정이 가능할 것입니다.
다만, 해당 게임 서버에 맞는 서버 스펙과 서버 설정 및 실행 방법만 해당 게임에 맞게 바꿔주면 됩니다.
다른 게임 서버를 연다면 요금이 프로젝트 좀보이드와 다르게 나올 수 있기 때문에 해당 게임의 트래픽 비용을 계산해서 진행하는것을 추천드립니다.

그리고 이 글에서는 OS(우분투)에서 방화벽을 따로 설정하지 않았습니다.
왜냐하면 클라우드 플랫폼의 방화벽에서 OS에 트래픽이 도달하기전에 제어하고 있기 때문입니다.

다음 글에서는...

다음 글에서는 다음과 같은 내용을 다뤄볼 예정입니다:

  • 클라우드 플랫폼 비교(GCP를 선택한 이유)
  • SSH 창을 닫은 후에도 실행 중인 서버(터미널)에 다시 접속하는 방법(tmux 사용법)
  • VM 인스턴스의 사양(CPU, RAM)을 나중에 변경하는 방법
  • 프로젝트 좀보이드 서버 설정 및 모드 설치방법 (-> 모드 설치 방법 작성 완료)

References