티스토리 뷰

반응형
 

현재 V Rising Server의 Windows 버전만 사용할 수 있습니다. 와인을 사용하여 Linux 시스템에서 서버를 실행하는 것은 가능합니다.

서버 호스팅(렌탈 서비스 제공업체)

또는 Game Server Hosting Provider에서 서버를 호스팅할 수 있습니다.

서버가 즉시 시작됩니다!

소개 및 전제 조건

이 게임을 사서 잠시 싱글플레이로 놀고 난 지 얼마 되지 않아 친구들과 함께 하고 싶어졌습니다. 그리고 나는 이미 VPS(CentOS가 설치된)를 가지고 있었기 때문에 그것을 사용하지 않을 이유가 없다고 생각했습니다.

 

그래서 공식 가이드를 읽고 Windows용 서버 실행만 있다는 것을 알게 되었습니다. 와인을 사용하여 Windows 실행 파일을 실행하는 방법을 보여 주는 다른 가이드가 생각나서 이 게임으로 시도하기로 결정했고 효과가 있었습니다. 그래서 여기 그것을 수행하는 방법에 대한 내 가이드입니다.

제목에서 말했듯이 CentOS 시스템에서 이 작업을 수행했지만 이 솔루션은 원칙적으로 다른 Linux 배포판에서도 작동할 것이라고 생각합니다.

나는 이 안내서를 모든 사람이 쉽게 이해할 수 있도록 만들려고 노력했습니다. 터미널 사용법과 파일 편집 방법만 알면 됩니다. CentOS는 이 가이드를 따르는 데 사용할 수 있는 텍스트 편집기로 vi와 함께 제공되지만 vi 사용 방법에 대한 설명은 이 가이드의 일부가 아닙니다.

이 가이드에서 명령은 $,# 또는 >로 시작합니다. #으로 시작하는 명령은 루트로 로그인하거나 sudo를 사용할 때 실행해야 합니다. $가 있는 명령은 일반 사용자가 실행할 수 있으며 >가 있는 명령은 steamcmd에 대한 명령입니다.

$, #, >는 실제 명령의 일부가 아닙니다.

요구 사항

서버를 실행하려면 wine과 xvfb가 필요합니다. Wine은 Linux에서 Windows 실행 파일을 실행하는 데 사용되며 xvfb를 사용하여 가상 모니터를 만들 것이므로 서버에 실제 모니터를 연결할 필요가 없습니다.

또한 서버 파일을 다운로드하고 업데이트하려면 steamcmd가 필요합니다.

다음을 사용하여 steamcmd 요구 사항을 설치하십시오.

# yum install glibc.i686 libstdc++.i686 -y

와인을 설치하는 가장 쉬운 방법은 EPEL 저장소를 사용하는 것이므로 다음과 같이 추가합니다.

# yum install epel-release -y

그런 다음 와인과 xvfb를 설치하려면 다음을 수행하십시오.

 

# yum install wine -y
# yum install xorg-x11-server-Xvfb -y

SteamCMD 설치

steamcmd나 서버를 설치하기 전에 steamcmd와 나중에 게임 서버 자체를 실행하는 데 사용할 사용자를 만들어야 합니다. steamcmd나 게임 서버에 루트 사용자를 사용하는 것은 보안상 위험합니다. 이 사용자를 Steam이라고 부르지만 원하는 이름을 선택할 수 있습니다.

사용자를 만들고 이 새 사용자로 로그인합니다.

# useradd steam
# su steam

그런 다음 새 사용자의 홈 디렉토리로 이동하고 steamcmd를 설치할 디렉토리와 게임 서버용 다른 디렉토리를 만듭니다.

$ cd
$ mkdir steamcmd
$ cd steamcmd 
$ mkdir VRising 

이제 steamcmd를 다운로드하고 압축을 풉니다.

$ curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf - 

게임 서버 설치

이전 단계에서 추출한 스크립트를 사용하여 steamcmd를 시작합니다.

 

$ ./steamcmd.sh 

steamcmd를 처음 시작하면 시간이 걸리고 업데이트를 다운로드합니다. 업데이트가 완료되면 steamcmd를 사용할 수 있고 첫 번째 단계로 이전에 생성된 디렉토리를 게임의 설치 디렉토리로 지정할 수 있습니다.

> force_install_dir VRising

서버 파일을 다운로드하기 전에 Steam에 로그인해야 하지만 익명 로그인을 사용할 수 있습니다.

> login anonymous

V Rising 서버의 앱 ID는 1829350이므로 다음과 같이 서버를 설치할 수 있습니다.

> app_update 1829350

서버가 설치된 후 유형

> quit

steamcmd를 종료하려면.

게임 서버 실행 및 구성

서버를 설치한 디렉토리로 이동합니다.

 

$ cd VRising

그리고 다음과 같이 서버를 시작합니다.

$ export WINEARCH=win64
$ xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine VRisingServer.exe -persistentDataPath ./save-data -logFile server.log 

그러면 서버가 시작되고 이전 명령에서 영구 데이터 경로로 지정한 디렉터리에 savegame이 생성됩니다. 이 경우에는 save-data 폴더입니다.

잠시 기다렸다가 Ctrl-C를 눌러 서버를 다시 닫습니다.

구성

save-data 디렉토리 안에 Settings 폴더를 생성합니다:

$ mkdir save-data/Settings

이제 기본 설정을 이 새 디렉토리에 복사합니다.

$ cp VRisingServer_Data/StreamingAssets/Settings/*.json save-data/Settings

이제 설정 폴더에는 서버 이름, 비밀번호, 포트 등과 같은 호스트 구성을 위한 ServerHostSettings.json과 제작 속도, 피해 배율 등과 같은 게임 설정을 위한 ServerGametSettings.json이라는 두 개의 구성 파일이 포함됩니다.

선호하는 텍스트 편집기를 사용하여 해당 파일의 설정을 편집할 수 있습니다.

 

Systemd를 사용하여 서버 제어

이제 서버를 시작하기 위해 이전에 사용한 명령을 사용할 수 있지만 서버를 계속 실행하려면 사용 중인 터미널을 항상 열어 두어야 합니다. 대신 우리는 백그라운드에서 실행되는 서비스로 서버를 구성하도록 시스템화할 것입니다.

일을 더 쉽게 하기 위해 먼저 서버를 시작하는 셸 스크립트를 만듭니다. 다음 내용으로 선택한 텍스트 편집기를 사용하여 새 파일을 만듭니다.

#!/bin/bash
export WINEARCH=win64
/usr/bin/xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' /usr/bin/wine VRisingServer.exe -persistentDataPath server1_saves/ -logFile server.log

파일을 게임 서버 디렉토리에 run_server.sh로 저장합니다. 다음 명령을 사용하여 파일을 실행 가능하게 만드십시오.

$ chmod ug+x run_server.sh

이것이 우리가 Steam 사용자로서 해야 할 모든 것입니다. 이제 다음을 사용하여 루트 권한이 있는 사용자로 다시 전환할 수 있습니다.

$ exit

다음 내용으로 systemd 서비스에 대한 새 파일을 만듭니다.

[Unit]
After=network.target

[Service]
User=steam
Group=steam
WorkingDirectory=/home/steam/steamcmd/VRising
ExecStart=/home/steam/steamcmd/VRising/run_server.sh

[Install]
WantedBy=multi-user.target

그리고 파일을 다음과 같이 저장합니다.

 

/etc/systemd/system/VRising.service

이제 systemctl을 사용하여 서버를 시작하고 중지할 수 있습니다. 서버를 시작하려면 다음을 사용하십시오.

# systemctl start VRising

서버를 중지하려면 다음을 사용할 수 있습니다.

# systemctl stop VRising

프로세스가 아직 실행 중인지 확인할 수도 있습니다.

# systemctl status VRising

서버가 충돌하는 경우 서버 프로세스만 충돌했지만 와인은 여전히 ​​실행 중이기 때문에 여전히 프로세스가 활성 상태임을 표시할 수 있습니다.

방화벽 구성

이제 systemd를 사용하여 서버를 실행했으므로 방화벽을 구성하는 일만 남았습니다.

ServerHostSettings.json에서 이것을 변경하지 않는 한 게임은 udp 포트 9876 및 9877을 사용합니다.

다음 두 포트에 대한 규칙을 방화벽에 추가합니다.

# firewall-cmd --add-port=9876/udp
# firewall-cmd --add-port=9877/udp

그런 다음 다시 시작한 후에도 포트가 열린 상태를 유지하고 방화벽을 다시 로드하도록 새 규칙을 유지합니다.

 

# firewall-cmd --runtime-to-permanent
# firewall-cmd --reload

게임 업데이트

업데이트는 간단합니다. 먼저 서버를 종료하고 Steamcmd용으로 생성한 사용자에게 게임 로그인을 설치할 때와 마찬가지로 steamcmd를 시작합니다.

# systemctl stop VRising
# su steam
$ cd ~/steamcmd
$. ./steamcmd

익명의 스팀 프로필에 로그인하고 게임을 업데이트하고 업데이트가 완료될 때까지 기다렸다가 steamcmd를 닫습니다.

> login anonymous
> app_update 1829350
> quit

이제 게임이 업데이트되었으며 서버를 다시 시작할 수 있습니다.

# systemctl start VRising

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함