반응형

시작하며

  • 본 가이드는 YouTube 채널 “테크팀” 에서 제작 되었으며, 테크팀 채널의 영상내용에 최적화 되어있습니다.
  • 본가이드의 오류발견이나, 수정신청은 아래 링크로 제보 부탁 드립니다.

 


참고자료 

 


서버 요구사항 

반응형

구글 클라우드 작업

구글 클라우드 회원 가입
 

클라우드 컴퓨팅 서비스 | Google Cloud

데이터 관리, 하이브리드 및 멀티 클라우드, AI와 머신러닝 등 Google의 클라우드 컴퓨팅 서비스로 비즈니스 당면 과제를 해결하세요.

cloud.google.com

  • 회원가입에 사용되는 신용카드 정보는 개인 정보 확인을 위해 사용될 뿐 청구되지 않습니다.
  • 90일간 300$를 사용할 수 있습니다. 
  • 금액을 다 소진하거나, 90일이 지나면 무료회원기간이 종료되며 유료 회원전환 여부를 묻습니다. 
  • 별도의 액션을 취하지 않으면 무료 회원으로 남고, 구글에서 모든 자원을 회수합니다. 
  • 이후 필요하지 않는 계정은 탈퇴 처리 하여 깔끔하게 삭제합니다. 

 

구글 클라우드 방화벽 개방 
  • 클라우드에서 방화벽은 총 2곳에서 개방합니다. 
    • 클라우드 콘솔(GCP)에서 개방 (본 챕터) 
    • 리눅스 OS 에서 개방 (아래에서 설명)
  • 메인메뉴 -> VCP 네트워크 -> VCP 네트워크 메뉴로 이동합니다. 

방화벽 이름을 지정합니다
대상 : "네트워크의 모든 인스턴스", 소스IPv4범위 : "0.0.0.0/0" 입력
TCP / UDP : 28015,28016,28017 6개 포트를 입력하고 만들기

 

VM 배포 

이름 : 아무거나   /   리전 : 서울   /   영역 : 아무거나 선택

  • 게임 서버 스펙에 정확한 정답은 없으나, 가성비 모델 N2 / N2D를 추천합니다.

  • 표준에서 N2D-4vCPU-16GB를 추천하며, 추후 메모리 혹은 CPU가 모자르면 더 높은 사양으로 변경하는 것을 추천

  • OS 버전을 선택할 때 반드시 X86 이미지를 선택해야 합니다.
  • Ubuntu 22.04 ARM을 선택하면 안됩니다. 

만들기를 눌러 VM을 생성합니다.

 

SSH Key 등록 
  • MobaXterm 다운로드 

https://mobaxterm.mobatek.net/download.html

 

MobaXterm free Xserver and tabbed SSH client for Windows

The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!

mobaxterm.mobatek.net

 

  • MobaXterm 설치 

무료 버전을 다운로드 하여 Next 만 눌러 설치를 진행함

  • SSH Key Pair 생성

'Generate' 를 눌러 생성 프로세스를 진행

 

  • SSH Key 등록 (구글 클라우드)

생성한 Public Key값을 복사함
복사한 키 값을 넣고 저장함

 

  • VM SSH 세션 등록

 


Linux OS 작업 

방화벽 개방
  • apt update
sudo apt update

 

  • Linux OS 방화벽 개방
sudo iptables -I INPUT -p tcp --dport 28015 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 28016 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 28017 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 28015 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 28016 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 28017 -j ACCEPT

sudo netfilter-persistent save

 

  • (옵션) netfilter-persistent 명령어 없다고 뜰 경우 : 설치 진행
sudo apt install netfilter-persistent

  

  • 방화벽 개방 확인
sudo iptables -nL

 

게임 엔진 설치
  • SteamCMD 설치 
sudo apt update

sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update

sudo apt install steamcmd

 

  • SDK 64 설치
mkdir -p ~/.steam/sdk64/

steamcmd +login anonymous +app_update 1007 +quit

cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/

 

  • 게임엔진 설치
steamcmd +login anonymous +app_update 258550 validate +quit

 


게인엔진 구동 

게임 엔진 구동 
  • 게임 설치 디렉토리로 이동
cd ~/Steam/steamapps/common/rust_dedicated

 

  • start.sh 만들기
nano start.sh

 

  • 아래 내용을 start.sh 에 삽입 : 자신의 환경에 맞춰 변경하여 사용함 
#!/bin/sh
./RustDedicated -batchmode \
+server.port 28015 \
+server.level "Procedural Map" \
+server.seed 1234 \
+server.worldsize 4000 \
+server.maxplayers 10 \
+server.hostname "Your Server Name" \
+server.description "Description shown on server connection window." \
+server.url "http://yourwebsite.com" \
+server.headerimage "http://yourwebsite.com/serverimage.jpg" \
+server.identity "server1" \
+rcon.port 28016 \
+rcon.password YourPassWord \
+rcon.web 1
## nano 저장하고 빠져나가기 ##

ctrl + x 
y 
엔터

 

  • (옵션) 파라미터 값 상세 설명 
Setting Function Notes
-batchmode Tells the server to run without a GUI  
+server.port 28015 Sets the port people will use to connect to the game 28015 is default. This port is UDP.
+server.level "Procedural Map" Sets the type of map.  
+server.seed 1234 Sets the random seed for how the map is generated This number can be any value 0-2147483647
+server.worldsize 4000 Sets the world size. The larger the map, the more disk space and memory you need. Use 1000 to 6000
+server.maxplayers 10 Sets the max number of players connecting at one time The more players, the faster your computer CPU needs to be
+server.hostname "Tom Server" Sets a server name Name of server as shown on the client server list
+server.description "Awesome!" Sets a description for your server Description shown on server connection window, for example you could show the size or intent of the server.
+server.url "http://mysite.com" If you have your own website, you can set it here. You can omit this.
+server.headerimage "http://mysite.com/serverimage.jpg" Sets the picture for the server You can omit this.
+server.identity "server1" This is the internal name of the server. This example name will be used to create a "C:\Rust\MyServer\server1" directory for all of your server files.
+rcon.port 28016 Set the remote connect port. RCON clients connect to this for admin configuration/control. This port is TCP
+rcon.password letmein Sets the remote connect password for remote administration. Change this value!!!
+rcon.web 1 Sets the type of remote connect method. rcon.web 1 is suggested.
-logfile <name> All console output goes into this file. using date/time in the filename is suggested.

 

  • start.sh 파일 권한 변경하기 
chmod 755 ./start.sh

 


서버 운영 관련 

게임엔진 On 
  • screen 유틸리티 실행 : 1번만 실행
  • 이미 실행되어 있다면 추가로 돌릴 필요 없음
screen

 

  •  엔진 시작하기 
cd ~/Steam/steamapps/common/rust_dedicated
sh ./start.sh

 

게임엔진 종료
  • screen 재접속 
## 스크린 리스트 및 번호 확인
screen -ls 

## 특정 스크린으로 들어가기 ##
screen -r <세션번호>

 

  • 엔진 종료
ctrl + c

 

게임엔진 Update
  • screen 재접속
## 스크린 리스트 및 번호 확인
screen -ls 

## 특정 스크린으로 들어가기 ##
screen -r <세션번호>

 

  • 엔진 종료
ctrl + c

 

  • 엔진 업그레이드 
cd ~
steamcmd +login anonymous +app_update 258550 validate +quit

 


클라이언트 실행 + 접속 연결

  • 게임 클라이언트를 실행하여 'F1' 키를 눌러 콘솔창을 띄운다 
  • 아래 명령어를 사용하여 접속 시도 
connect <공인IP>:28015

## 예 ##
connect 192.168.0.100:28015

 

 

 

반응형
반응형

시작하며

  • 본 가이드는 YouTube 채널 “테크팀” 에서 제작 되었으며, 테크팀 채널의 영상내용에 최적화 되어있습니다.
  • 본가이드의 오류발견이나, 수정신청은 “테크팀” 공식 유튜브채널 [https://www.youtube.com/@kortechtim] 혹은 공식 디스코드 [https://discord.gg/ZQ6DzC58rZ] 로 제보 부탁 드립니다.

 


참고자료 

 


서버 요구사항 

 


윈도우 방화벽 개방 

  • 윈도우 파워쉘을 "관리자 권한" 으로 실행 후 아래 명령어 수행 
New-NetFirewallRule -DisplayName "rust" -Direction Inbound -LocalPort 28015,28016,28017 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "rust" -Direction Inbound -LocalPort 28015,28016,28017 -Protocol UDP -Action Allow

 


포트포워딩 진행

  • 자신의 공유기 모델에 맞는 포트포워딩 진행

 


게임 서버엔진 설치 진행

링크를 눌러 다운로드 함

 

  • 게임 엔진 디렉토리 생성 (C:\ or D:\), 다운로드 받은 파일의 압축을 해제 
  • 한글이 들어간 디렉토리 및 패스는 사용하시면 안됩니다. 
  • install.bat 파일 생성 및 편집 
steamcmd.exe +login anonymous +app_update 258550 +quit

 

  • start.bat 파일 생성 및 편집
## 서버 업데이트 구문 ##
steamcmd.exe +login anonymous +app_update 258550 +quit

## 서버 실행 구문 ##
cd .\steamapps\common\rust_dedicated
start RustDedicated.exe -batchmode +server.port 28015 +server.level "Procedural Map" +server.seed 1234 +server.worldsize 4000 +server.maxplayers 10  +server.hostname "Name of Server as Shown on the Client Server List" +server.description "Description shown on server connection window." +server.url "http://yourwebsite.com" +server.headerimage "http://yourwebsite.com/serverimage.jpg" +server.identity "server1" +rcon.port 28016 +rcon.password letmein +rcon.web 1 -logfile rustserverlog.txt

 

  • (참조) start.bat 명령어 파라미터 정리
Setting Function Notes
-batchmode Tells the server to run without a GUI  
+server.port 28015 Sets the port people will use to connect to the game 28015 is default. This port is UDP.
+server.level "Procedural Map" Sets the type of map.  
+server.seed 1234 Sets the random seed for how the map is generated This number can be any value 0-2147483647
+server.worldsize 4000 Sets the world size. The larger the map, the more disk space and memory you need. Use 1000 to 6000
+server.maxplayers 10 Sets the max number of players connecting at one time The more players, the faster your computer CPU needs to be
+server.hostname "Tom Server" Sets a server name Name of server as shown on the client server list
+server.description "Awesome!" Sets a description for your server Description shown on server connection window, for example you could show the size or intent of the server.
+server.url "http://mysite.com" If you have your own website, you can set it here. You can omit this.
+server.headerimage "http://mysite.com/serverimage.jpg" Sets the picture for the server You can omit this.
+server.identity "server1" This is the internal name of the server. This example name will be used to create a "C:\Rust\MyServer\server1" directory for all of your server files.
+rcon.port 28016 Set the remote connect port. RCON clients connect to this for admin configuration/control. This port is TCP
+rcon.password letmein Sets the remote connect password for remote administration. Change this value!!!
+rcon.web 1 Sets the type of remote connect method. rcon.web 1 is suggested.
-logfile <name> All console output goes into this file. using date/time in the filename is suggested.

 


클라이언트 실행

  • 게임 클라이언트를 실행하여 'F1' 키를 눌러 콘솔창을 띄운다 
  • 아래 명령어를 사용하여 접속 시도 
connect <공인IP>:28015

## 예 ##
connect 192.168.0.100:28015

 

 

 

반응형

+ Recent posts