[Ubuntu 24.04] 7Days to die + darknessFalls Mod Install

mimic1995·2024년 5월 22일
0

Basic Set

apt update -y && apt upgrade -y 
apt disable ufw --now
apt install -y iptables-persistent netfilter-persistent

vi /etc/iptables/rule.v4

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
# sshd controle
-A INPUT -s IP_ADDR/32 -j ACCEPT
-A INPUT -s 0.0.0.0/0 -p tcp -m tcp --dport 22 -j DROP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
systemctl enable netfilter-persistent.service --now
date 명령어를 통해 서버의 날짜도 체크합니다.
게임 데이터 설치 및 저장을 위한 충분한 용량의 디스크를 준비합니다.

SteamCmd && Game Base Download

apt install -y vim screen wget lib32gcc-s1 libsdl2-2.0
adduser steam
usermod -aG sudo steam && usermod -d /seven -m steam
chown steam:steam -R /seven
# my game data dir name is /seven
su - steam
cd ~ 
mkdir data # (Full Path /seven/data)
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -zxvf steamcmd_linux.tar.gz
./steamcmd.sh
force_install_dir ./data
login anonymous
app_update 294420

steamDB 내 7Days to Die SRV INFO

또는 steamcmd 에서 app_info_print NUMBER 로도 확인이 가능합니다.

작성일 시점에서 public 버전 다운로드 시 Alpha 21.2 버전이 다운로드됩니다.
기타 버전으로 받고 싶다면 옵션 -beta alpha21.1 -beta latest_experimental 등을 활용 가능합니다.

엄청 오래 걸림을 알 수 있습니다. 하지만 괜찮습니다. Mod 파일도 8GB가 넘기 때문에 시간과의 싸움은 계속됩니다.
설치가 완료되었다면 /seven/data 하단이 아래와 같습니다.


DarknessFalls Mod Install

Mod 공식 URL

설치 파일 URL

폴더와 파일 2개, 총 3개를 모두 steam에서 게임 데이터를 설치한 폴더(/seven/data) 하단에 넣어줍니다.

git clone https://KhaineUK@dev.azure.com/KhaineUK/DarknessFallsA21/_git/DarknessFallsA21

Mod Setting

참고 URL

vi Mods/DarknessFallsServerConfig.xml

ServerName 서버 이름 
ServerDescription 서버 설명
ServerPassword 서버 접근 비밀번호
Region Asia로 변경
Language 언어 변경
ServerPort 서버 포트
ServerMaxPlayerCount 최대 서버 참여 가능 인원 수
GameWorld 맵 고르는 옵션 # Mods\0-DarknessFallsCore\Worlds 하단에 참고

ls -al /seven/data/Mods/0-DarknessFallsCore/Worlds/ | awk '{ print $9 }' | grep "DFalls"

DFalls-Large1-NoPEP
DFalls-Large1-PEP
DFalls-Large2-NoPEP
DFalls-Large2-PEP
DFalls-Medium1-NoPEP
DFalls-Medium1-PEP
DFalls-Medium2-NoPEP
DFalls-Medium2-PEP
DFalls-Navezgane
DFalls-Small1-NoPEP
DFalls-Small1-PEP
DFalls-Small2-NoPEP
DFalls-Small2-PEP
DFalls-VSmall1-NoPEP
DFalls-VSmall1-PEP
DFalls-VSmall2-NoPEP
DFalls-VSmall2-PEP
GameName 게임이름 설정
GameMode 모드 설정 # default value GameModeSurvival
GameDifficulty 난이도 # 0 (easy) ~ 6 (hell)
BlockDamagePlayer 때릴 때 블럭 데미지 
XPMultiplier 경험치 획득 속도
PlayerSafeZoneLevel 안전지대에서 권한 설정 
PlayerSafeZoneHours 안전지대 활성화 시간 # 0 - 23 시 기준으로 0은 24시간 계속 활성화
BuildCreate 치트
DeathPenalty 사망 시 XP 패널티 # 0 - 3 값으로 0은 없음
DropOnDeath 사망 시 소지품 떨굼 # 0 - 4 값으로 0은 없음
DropOnQuit 접속 종료 시 소지품 떨굼 # 0 - 3 값으로 0은 없음
MaxSpawnedZombies | MaxSpawnedAnimals 스폰 좀비|동물 수 설정
ZombieMove 좀비 낮 행동 시 달리기 속도 # 0 - 4 (walk, jog, run, sprint, nightmare)
ZombieMoveNight 좀비 밤 행동 시 달리기 속도
BloodMoonWarning 블러드문 경고 시간 # 0 - 23 시
AirDropFrequency 보급품 빈도 # 24 = 1Day, 72 = 3Days ...
AirDropMarker 보급품 맵 표시 
PartySharedKillRange 파티원 경험치 공유 범위 
PlayerKillingMode 플레이어끼리 공격 여부 # 0 = 불가
SaveGameFolder 세이브 폴더 지정 

SaveGameFolder는 원래 주석 처리된 옵션으로 GameName을 바꿔야 reset 되는 것에 비해 Save 파일을 지워버릴 수 있어 용이합니다.

AdminFileName admin User 설정 파일 # default Value = serveradmin.xml
admin 파일은 보통 Save 폴더 하단에 있습니다. 없다면 한 번 서버 돌렸다가 끄면 생성되어 있을 겁니다.

vi serveradmin.xml

    <user platform="Steam" userid="SteamUSERID" name="구분이름" permission_level="0" />
	...
    <!-- <permission cmd="say" permission_level="1000" /> -->
    <permission cmd="kick" permission_level="1" />
    <permission cmd="chunkcache" permission_level="1000" />
    <permission cmd="createwebuser" permission_level="1000" />
    <permission cmd="debugshot" permission_level="1000" />

스팀 USER ID에 맞는 계정이 접속하면 admin 처리 되며, 아래 commands를 쓸 수 있습니다. Permission_level은 해당 명령어를 쓸 수 있는 최소권한이며, 0이 상위권이므로 그냥 user의 Permission_level은 1000이하이기만 하면 됩니다.


방화벽 재설정

vi /etc/iptables/rules.v4

-A INPUT -p tcp -m tcp --dport 26900 -j ACEEPT
-A INPUT -p udp -m udp --dport 26900 -j ACEEPT

Start Server

시작 명령어

cd /seven/data
./startserver.sh -configfile=Mods/DarknessFallsServerConfig.xml

업데이트 명령어

steamcmd.sh 를 통한 업데이트 명령어로 특별한 경우가 아니면 Mods 설치 이후에는 권장하지 않습니다.

vi app_update.sh

/seven/steamcmd.sh
 +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous 
+force_install_dir /seven/data +app_update 294420 validate +quit
chmod +x app_update.sh
profile
Raiju Hantu Goryo Obake

0개의 댓글