Skip to content

Commit

Permalink
Merge pull request #159 from vinanrra/feat/DarknessFall
Browse files Browse the repository at this point in the history
feat: Darkness fall support
  • Loading branch information
vinanrra authored Apr 12, 2023
2 parents 7783366 + 262d36d commit 9327dae
Show file tree
Hide file tree
Showing 7 changed files with 129 additions and 22 deletions.
15 changes: 10 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ STOPSIGNAL SIGTERM

####Labels####
LABEL maintainer="vinanrra"
LABEL build_version="version: 0.4.4"
LABEL build_version="version: 0.5.0"

####Environments ####
ENV TimeZone=Europe/Madrid HOME=/home/sdtdserver LANG=en_US.utf8 TERM=xterm DEBIAN_FRONTEND=noninteractive

#####Dependencies####

Expand Down Expand Up @@ -44,7 +47,8 @@ RUN dpkg --add-architecture i386 && \
cpio \
libsdl2-2.0-0:i386 \
xz-utils \
distro-info
distro-info \
git

# Install gamedig
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - ; \
Expand All @@ -71,15 +75,15 @@ RUN apt clean && \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*

#####Dependencies####

# Create user and fix permissions - chown shouldn't be necessary check adduser command
RUN adduser --home /home/sdtdserver --disabled-password --shell /bin/bash --disabled-login --gecos "" sdtdserver \
&& chown -R sdtdserver:sdtdserver /home/sdtdserver

##Need use xterm for LinuxGSM##
ENV PUID=1000 PGID=1000 TimeZone=Europe/Madrid HOME=/home/sdtdserver LANG=en_US.utf8 TERM=xterm DEBIAN_FRONTEND=noninteractive \
ENV PUID=1000 PGID=1000 \
START_MODE=0 \
TEST_ALERT=no MONITOR=no BACKUP=no\
VERSION=stable \
Expand All @@ -89,7 +93,8 @@ ENV PUID=1000 PGID=1000 TimeZone=Europe/Madrid HOME=/home/sdtdserver LANG=en_US.
ENZOMBIES=no ENZOMBIES_ADDON_SNUFKIN=no ENZOMBIES_ADDON_ROBELOTO=no ENZOMBIES_ADDON_NONUDES=no ENZOMBIES_UPDATE=no \
CPM=no CPM_UPDATE=no \
BEPINEX=no BEPINEX_UPDATE=no \
CHANGE_CONFIG_DIR_OWNERSHIP=YES
CHANGE_CONFIG_DIR_OWNERSHIP=YES \
DARKNESS_FALLS_URL=False DARKNESS_FALLS=no DARKNESS_FALLS_UPDATE=no

# Base dir
WORKDIR /home/sdtdserver
Expand Down
6 changes: 5 additions & 1 deletion docs/mods_support.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@ Remember that some mods can't be installed with others, if you have problems wit
- Environments:
- BEPINEX
- BEPINEX_UPDATE
- [DarknessFalls](https://community.7daystodie.com/topic/4941-darkness-falls-they-mostly-come-out-at-night/) (Planned)
- [Darkness Falls](https://community.7daystodie.com/topic/4941-darkness-falls-they-mostly-come-out-at-night/)
- Environments:
- DARKNESS_FALLS
- DARKNESS_FALLS_UPDATE
- DARKNESS_FALLS_URL
- [Ravenheartst](https://community.7daystodie.com/topic/4508-ravenhearst-mod/) (Planned)
- [War of the Walkers Mod](https://community.7daystodie.com/topic/4098-war-of-the-walkers-mod/) (Planned)
- [Age of Oblivion](https://community.7daystodie.com/topic/23943-age-of-oblivion-alpha-401-a20/) (Planned)
Expand Down
26 changes: 18 additions & 8 deletions docs/parameters.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,30 @@
| :---: | --- | :---: |
| `UPDATE_MODS=NO` | Allow mods to be update before server start must be used with each mod XXX_UPDATE=YES **optional** | YES, NO |

### Alloc Fixes
### Overhaul mods

#### Undead Legacy

| Parameter | Function | Values |
| :---: | --- | :---: |
| `ALLOC_FIXES=NO` | Install [Allocs Fixes](https://7dtd.illy.bz/wiki/Server%20fixes), Alloc Fixes version will be installed according to 7 days to die branch version **optional** | YES, NO |
| `ALLOC_FIXES_UPDATE=NO` | Update [Allocs Fixes](https://7dtd.illy.bz/wiki/Server%20fixes), depending of your 7 days to die version, on server install, requiere UPDATE_MODS=YES **optional** | YES, NO |
| --- | --- | :---: |
| `UNDEAD_LEGACY=NO` | Install [Undead Legacy](https://ul.subquake.com/), if DARKNESS_FALLS it's enable too will not be installed **optional** | YES, NO |
| `UNDEAD_LEGACY_VERSION=stable` | Install [Undead Legacy Versions](https://ul.subquake.com), [CHECK BUILDS COMPATIBILITY](https://ul.subquake.com/download) **optional** | EXP, STABLE |
| `UNDEAD_LEGACY_UPDATE=NO` | Update [Undead Legacy](https://ul.subquake.com/patch-notes), on server install, requiere UPDATE_MODS=YES, if you enable this environment, the mod will be update every time you start the server and will take sometime. **optional** | YES, NO |

### Undead Legacy
#### Darkness Falls

| Parameter | Function | Values |
| --- | --- | :---: |
| `UNDEAD_LEGACY=NO` | Install [Undead Legacy](https://ul.subquake.com/) **optional** | YES, NO |
| `UNDEAD_LEGACY_VERSION=stable` | Install [Undead Legacy Versions](https://ul.subquake.com), [CHECK BUILDS COMPATIBILITY](https://ul.subquake.com/download) **optional** | EXP, STABLE |
| `UNDEAD_LEGACY_UPDATE=NO` | Update [Undead Legacy](https://ul.subquake.com/patch-notes), on server install, requiere UPDATE_MODS=YES, ff you enable this environment, the mod will be update every time you start the server and will take sometime. **optional** | YES, NO |
| `DARKNESS_FALLS=NO` | Install [Darkness Falls](https://community.7daystodie.com/topic/4941-darkness-falls-they-mostly-come-out-at-night/), if UNDEAD_LEGACY it's enable too will not be installed **optional** | YES, NO |
| `DARKNESS_FALLS_UPDATE=NO` | Update [Darkness Falls](https://community.7daystodie.com/topic/4941-darkness-falls-they-mostly-come-out-at-night/), on server install, requiere UPDATE_MODS=YES, if you enable this environment, the mod will be update every time you start the server and will take sometime. **optional** | YES, NO |
| `DARKNESS_FALLS_URL=False` | Install a custom [Darkness Falls Version](https://community.7daystodie.com/topic/4941-darkness-falls-they-mostly-come-out-at-night/), [CHECK BUILDS COMPATIBILITY](https://community.7daystodie.com/topic/4941-darkness-falls-they-mostly-come-out-at-night/) **optional** | A git url |

### Alloc Fixes

| Parameter | Function | Values |
| :---: | --- | :---: |
| `ALLOC_FIXES=NO` | Install [Allocs Fixes](https://7dtd.illy.bz/wiki/Server%20fixes), Alloc Fixes version will be installed according to 7 days to die branch version **optional** | YES, NO |
| `ALLOC_FIXES_UPDATE=NO` | Update [Allocs Fixes](https://7dtd.illy.bz/wiki/Server%20fixes), depending of your 7 days to die version, on server install, requiere UPDATE_MODS=YES **optional** | YES, NO |

### enZombies

Expand Down
8 changes: 7 additions & 1 deletion docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ docker run -d \
-e ALLOC_FIXES_UPDATE=NO \
-e UNDEAD_LEGACY=NO \
-e UNDEAD_LEGACY_VERSION=stable \
-e DARKNESS_FALLS=NO \
-e DARKNESS_FALLS_UPDATE=NO \
-e DARKNESS_FALLS_URL=False \
-e UNDEAD_LEGACY_UPDATE=NO \
-e ENZOMBIES=NO \
-e ENZOMBIES_ADDON_SNUFKIN=NO \
Expand Down Expand Up @@ -64,9 +67,12 @@ services:
- UPDATE_MODS=NO # Optional - This will allow mods to be update on start, each mod also need to have XXXX_UPDATE=YES to update on start
- ALLOC_FIXES=NO # Optional - Install ALLOC FIXES
- ALLOC_FIXES_UPDATE # Optional - Update Allocs Fixes before server start
- UNDEAD_LEGACY=NO # Optional - Install Undead Legacy mod
- UNDEAD_LEGACY=NO # Optional - Install Undead Legacy mod, if DARKNESS_FALLS it's enable will not install anything
- UNDEAD_LEGACY_VERSION=stable # Optional - Undead Legacy version
- UNDEAD_LEGACY_UPDATE=NO # Optional - Update Undead Legacy mod before server start
- DARKNESS_FALLS=NO # Optional - Install Darkness Falls mod, if UNDEAD_LEGACY it's enable will not install anything
- DARKNESS_FALLS_UPDATE=NO # Optional - Update Darkness Falls mod before server start
- DARKNESS_FALLS_URL=False # Optional - Install the provided Darkness Falls url
- ENZOMBIES=NO # Optional - Install EnZombies mod
- ENZOMBIES_ADDON_SNUFKIN=NO # Optional - Install EnZombies addon mod
- ENZOMBIES_ADDON_ROBELOTO=NO # Optional - Install EnZombies addon mod
Expand Down
58 changes: 58 additions & 0 deletions scripts/Mods/darkness_falls.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/bin/bash

SERVER_FOLDER=/home/sdtdserver/serverfiles
VERSION=${VERSION,,}


# Change DL_LINK depending on 7 days to die branch version
if [ "${DARKNESS_FALLS_URL}" != "False" ]; then
DL_LINK=$DARKNESS_FALLS_URL
echo "[Darkness Falls] Using custom provided url $DARKNESS_FALLS_URL , if this fails check if you can git clone the URL"
else
# Change DL_LINK depending on 7 days to die branch version
if [ "${VERSION,,}" == 'stable' ] || [ "${VERSION,,}" == 'public' ]; then
DL_LINK="https://dev.azure.com/KhaineUK/_git/DarknessFallsA20"
elif [ "${VERSION::7}" == 'alpha20' ]; then
DL_LINK="https://dev.azure.com/KhaineUK/_git/DarknessFallsA20"
else
echo "[Darkness Falls] No version found compatible with version ${VERSION}"
echo "[Darkness Falls] If there is a compatible version check -> https://community.7daystodie.com/topic/4941-darkness-falls-they-mostly-come-out-at-night/ and install it manually"
echo "[Darkness Falls] Omitting installation"
fi
fi

downloadRelease() {
git clone --progress "$DL_LINK" darknessFalls-temp/
}

echo "[Darkness Falls] Downloading release from $DL_LINK"

# TODO - Catch if fails and print msg
downloadRelease

echo "[Darkness Falls] Installing"

cp -a darknessFalls-temp/Mods/. $SERVER_FOLDER/Mods

echo "[Darkness Falls] Copying Darkness Falls worlds"

cp -r darknessFalls-temp/Mods/0-DarknessFallsCore/Worlds/* $SERVER_FOLDER/Data/Worlds/

echo "[Darkness Falls] Change Darkness Falls server settings"

cp darknessFalls-temp/DarknessFallsConfig.xml $SERVER_FOLDER/sdtdserver.xml

echo "[Darkness Falls] Change default map"

sed -i '/.*GameWorld.*/ s/DFalls-Small1-NoCP/DFalls-Small1-NoPEP/' $SERVER_FOLDER/sdtdserver.xml

echo "[Darkness Falls] Remove folder and file localtions"

sed -i '/UserDataFolder/s/\(^.*$\)//' $SERVER_FOLDER/sdtdserver.xml
sed -i '/SaveGameFolder/s/\(^.*$\)//' $SERVER_FOLDER/sdtdserver.xml

echo "[Darkness Falls] Cleanup"

rm -rf darknessFalls-temp

echo "[Darkness Falls] Finished! ヽ(´▽\`)/"
18 changes: 14 additions & 4 deletions scripts/Mods/mods_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,21 @@ if [ "${ALLOC_FIXES,,}" == 'yes' ]
source $scriptsDir/Mods/alloc_fixes.sh
fi

# Install Undead Legacy

if [ "${UNDEAD_LEGACY,,}" == 'yes' ]
if [ "${UNDEAD_LEGACY,,}" == 'yes' ] && [ "${DARKNESS_FALLS,,}" == 'yes' ]
then
source $scriptsDir/Mods/undead_legacy.sh
echo "[ERROR] Aborting overhaul mods installation, you can't install two overhaul mods at same time enable Undead Legacy or Darkness falls, not both"
else
# Install Undead Legacy

if [ "${UNDEAD_LEGACY,,}" == 'yes' ]
then
source $scriptsDir/Mods/undead_legacy.sh
fi

if [ "${DARKNESS_FALLS,,}" == 'yes' ]
then
source $scriptsDir/Mods/darkness_falls.sh
fi
fi

# Install enZombies + addons
Expand Down
20 changes: 17 additions & 3 deletions scripts/Mods/mods_update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,25 @@ if [ "${ALLOC_FIXES,,}" == 'yes' ] && [ "${ALLOC_FIXES_UPDATE,,}" == 'yes' ]
source $scriptsDir/Mods/alloc_fixes.sh
fi

# Install Undead Legacy
# Check if UL and Darkness Falls are both active and print error to only allow

if [ "${UNDEAD_LEGACY,,}" == 'yes' ] && [ "${UNDEAD_LEGACY_UPDATE,,}" == 'yes' ]
if [ "${UNDEAD_LEGACY,,}" == 'yes' ] && [ "${DARKNESS_FALLS,,}" == 'yes' ]
then
source $scriptsDir/Mods/undead_legacy.sh
echo "[ERROR] Aborting overhaul mods installation, you can't install two overhaul mods at same time enable Undead Legacy or Darkness falls, not both"
else
# Install Undead Legacy

if [ "${UNDEAD_LEGACY,,}" == 'yes' ] && [ "${UNDEAD_LEGACY_UPDATE,,}" == 'yes' ]
then
source $scriptsDir/Mods/undead_legacy.sh
fi

# Install Darkness Falls

if [ "${DARKNESS_FALLS,,}" == 'yes' ] && [ "${DARKNESS_FALLS_UPDATE,,}" == 'yes' ]
then
source $scriptsDir/Mods/darkness_falls.sh
fi
fi

# Install enZombies + addons always after Undead Legacy, because if installed with Undead Legacy need a patch
Expand Down

0 comments on commit 9327dae

Please sign in to comment.