Compare commits
57 Commits
Author | SHA1 | Date | |
---|---|---|---|
30fb3e8a14 | |||
fbf1757392
|
|||
0b1ebdf9fb
|
|||
e07267b93a
|
|||
6522b64982
|
|||
db4e2303d2
|
|||
600f9caadc
|
|||
892816be7e
|
|||
46fcf3d769
|
|||
6246c02044
|
|||
a2345b552e
|
|||
fce9821f43
|
|||
173baf4d96
|
|||
f409228bb3
|
|||
d3ee5490d7
|
|||
7d4fa8812d
|
|||
b7587386f0 | |||
92b4b95d2f | |||
dc9b89b4fe | |||
4da4ec529b | |||
9dfefcfaa2 | |||
3c68953195 | |||
cf68bc167e | |||
a8ea46b8e4 | |||
9bec7ac022 | |||
cca74037c4 | |||
c311c05624 | |||
f8aadf5e4d | |||
489f4b9a49 | |||
3194dbd827 | |||
254c3c96cb | |||
65f5dea1bb | |||
5145e61e53 | |||
2c345b030d | |||
97e49615d5 | |||
93f0b26ec5 | |||
dc026e81f2 | |||
bd366b9e69 | |||
1260871de0 | |||
6c8f0f817d | |||
2629d7d98d | |||
837440948d | |||
65afde7315 | |||
cc36c92f85 | |||
1cdabe044b | |||
4450c358cd | |||
58488e2643 | |||
f3b192247e | |||
d641225bb3 | |||
c9e11a6472 | |||
04402a8afe | |||
fe98b5c36c | |||
2301b82db0 | |||
f768dcc831 | |||
c991a7ce29 | |||
6c34f9ccbd | |||
7d0b2023cc |
30
Dockerfile
30
Dockerfile
@@ -3,26 +3,24 @@ FROM ich777/debian-baseimage
|
||||
LABEL org.opencontainers.image.authors="admin@minenet.at"
|
||||
LABEL org.opencontainers.image.source="https://github.com/ich777/docker-steamcmd-server"
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get -y install --no-install-recommends lib32gcc-s1 libsqlite3-0 libgdiplus unzip && \
|
||||
RUN dpkg --add-architecture i386 && \
|
||||
apt-get update && \
|
||||
apt-get -y install --no-install-recommends lib32gcc-s1 perl-modules curl lsof libc6 libc6-i386 bzip2 jq libssl1.1 libidn11 redis-server screen libtbb2:i386 && \
|
||||
cd /tmp && \
|
||||
wget -q -nc --show-progress --progress=bar:force:noscroll http://ftp.fr.debian.org/debian/pool/main/p/protobuf/libprotobuf10_3.0.0-9_amd64.deb && \
|
||||
dpkg -i /tmp/libprotobuf10_3.0.0-9_amd64.deb && \
|
||||
rm /tmp/libprotobuf10_3.0.0-9_amd64.deb && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV DATA_DIR="/serverdata"
|
||||
ENV STEAMCMD_DIR="${DATA_DIR}/steamcmd"
|
||||
ENV SERVER_DIR="${DATA_DIR}/serverfiles"
|
||||
ENV GAME_ID="template"
|
||||
ENV GAME_NAME="template"
|
||||
ENV GAME_PARAMS="template"
|
||||
ENV GAME_PORT=28015
|
||||
ENV QUERY_PORT=28016
|
||||
ENV RCON_PORT=28017
|
||||
ENV APP_PORT=28018
|
||||
ENV SERVER_NAME="RustDocker"
|
||||
ENV SERVER_DISCRIPTION="Simple Unraid Rust Docker"
|
||||
ENV OXIDE_MOD="false"
|
||||
ENV CARBON_MOD="false"
|
||||
ENV FORCE_OXIDE_INSTALLATION="true"
|
||||
ENV GAME_PARAMS_EXTRA="template"
|
||||
ENV MAP_NAME="Ocean"
|
||||
ENV GAME_PORT=27015
|
||||
ENV VALIDATE=""
|
||||
ENV ENA_REDIS=""
|
||||
ENV UMASK=000
|
||||
ENV UID=99
|
||||
ENV GID=100
|
||||
@@ -36,10 +34,12 @@ RUN mkdir $DATA_DIR && \
|
||||
mkdir $SERVER_DIR && \
|
||||
useradd -d $DATA_DIR -s /bin/bash $USER && \
|
||||
chown -R $USER $DATA_DIR && \
|
||||
ulimit -n 2048
|
||||
ulimit -n 1000000
|
||||
|
||||
ADD /scripts/ /opt/scripts/
|
||||
COPY /libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
|
||||
COPY /libssl.so.1.0.0 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
|
||||
RUN chmod -R 770 /opt/scripts/
|
||||
|
||||
#Server Start
|
||||
ENTRYPOINT ["/opt/scripts/start.sh"]
|
||||
ENTRYPOINT ["/opt/scripts/start.sh"]
|
40
README.md
40
README.md
@@ -1,5 +1,9 @@
|
||||
# DEPRECATED
|
||||
|
||||
# SteamCMD in Docker optimized for Unraid
|
||||
This Docker will download and install SteamCMD. It will also install RUST and run it.
|
||||
This Docker will download and install SteamCMD. It will also install ATLAS and run it (this docker does also have a built in Redis server for quick server setup, you also can disable it in the variables below).
|
||||
|
||||
**ATTENTION:** First Startup can take very long since it downloads the gameserver files!
|
||||
|
||||
**Update Notice:** Simply restart the container if a newer version of the game is available.
|
||||
|
||||
@@ -8,37 +12,35 @@ This Docker will download and install SteamCMD. It will also install RUST and ru
|
||||
| --- | --- | --- |
|
||||
| STEAMCMD_DIR | Folder for SteamCMD | /serverdata/steamcmd |
|
||||
| SERVER_DIR | Folder for gamefile | /serverdata/serverfiles |
|
||||
| GAME_ID | The GAME_ID that the container downloads at startup. If you want to use a beta version of the game enter this: '258550 -beta staging' or '258550 -beta prerelease' (without quotes). | 258550 |
|
||||
| GAME_PARAMS | Enter here your extra game startup parameters if needed starting with (eg: '+rcon.port 27016 +rcon.password YOURPASSWORD' don't forget to add also a new port mapping with container and host port set to the corresponding RCON port) | +server.maxplayers 10 |
|
||||
| SERVER_NAME | Name of the Server goes here | RustDockerServer |
|
||||
| SERVER_DISCRIPTION | Server Description goes here | Simple Unraid Rust Docker Server |
|
||||
| OXIDE_MOD | Set to 'true' (without quotes) to enable Oxide Mod, otherwise leave empty (the container will check on every start/restart if there is a newer version available). | false |
|
||||
| CARBON_MOD | Set to 'true' (without quotes) to enable Carbon Mod, otherwise leave empty (the container will check on every start/restart if there is a newer version available). | false |
|
||||
| GAME_PORT | Game port on which the server is running (has to match the port mapping in your container). | 28015 |
|
||||
| GAME_ID | The GAME_ID that the container downloads at startup. If you want to install a static or beta version of the game change the value to: '1006030 -beta YOURBRANCH' (without quotes, replace YOURBRANCH with the branch or version you want to install). | 1006030 |
|
||||
| MAP_NAME | Standard Map Name | Ocean |
|
||||
| GAME_PARAMS | Enter your start up commands for the server. | ?ServerX=0?ServerY=0?AltSaveDirectoryName=00?MaxPlayers=50?ReservedPlayerSlots=10?QueryPort=57550?Port=5750 |
|
||||
| EXTRA_GAME_PARAMS | Port the server will be running on | -log -server -NoBattlEye |
|
||||
| ENA_REDIS | If you've set up a external Redis server leave this blank, to enable the built in Redis server enter 'yes' (without quotes). | yes |
|
||||
| UID | User Identifier | 99 |
|
||||
| GID | Group Identifier | 100 |
|
||||
| VALIDATE | Validates the game data | false |
|
||||
| VALIDATE | Validates the game data | true |
|
||||
| USERNAME | Leave blank for anonymous login | blank |
|
||||
| PASSWRD | Leave blank for anonymous login | blank |
|
||||
|
||||
## Run example
|
||||
```
|
||||
docker run --name RUST -d \
|
||||
-p 28015:28015/udp \
|
||||
--env 'GAME_ID=258550' \
|
||||
--env 'SERVER_NAME=RustDockerServer' \
|
||||
--env 'SERVER_DISCRIPTION=Simple Unraid Rust Docker Server' \
|
||||
--env 'GAME_PARAMS=+server.maxplayers 10' \
|
||||
--env 'GAME_PORT=28015' \
|
||||
docker run --name ATLAS -d \
|
||||
-p 57550:57550/udp -p 5750-5751:5750-5751/udp -p 32330:32330/udp -p 27000:27000/udp \
|
||||
--env 'GAME_ID=1006030' \
|
||||
--env 'MAP_NAME=Ocean' \
|
||||
--env 'EXTRA_GAME_PARAMS=-log -server -NoBattlEye' \
|
||||
--env 'GAME_PARAMS=?ServerX=0?ServerY=0?AltSaveDirectoryName=00?MaxPlayers=50?ReservedPlayerSlots=10?QueryPort=57550?Port=5750' \
|
||||
--env 'ENA_REDIS=yes' \
|
||||
--env 'UID=99' \
|
||||
--env 'GID=100' \
|
||||
--volume /path/to/steamcmd:/serverdata/steamcmd \
|
||||
--volume /path/to/rust:/serverdata/serverfiles \
|
||||
ich777/steamcmd:rust
|
||||
--volume /path/to/atlas:/serverdata/serverfiles \
|
||||
ich777/steamcmd:atlas
|
||||
```
|
||||
|
||||
This Docker was mainly edited for better use with Unraid, if you don't use Unraid you should definitely try it!
|
||||
|
||||
This Docker is forked from mattieserver, thank you for this wonderfull Docker.
|
||||
|
||||
### Support Thread: https://forums.unraid.net/topic/79530-support-ich777-gameserver-dockers/
|
||||
### Support Thread: https://forums.unraid.net/topic/79530-support-ich777-gameserver-dockers/
|
83
grid/ServerGrid.ServerOnly.json
Normal file
83
grid/ServerGrid.ServerOnly.json
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"LocalS3URL": "",
|
||||
"LocalS3AccessKeyId": "",
|
||||
"LocalS3SecretKey": "",
|
||||
"LocalS3BucketName": "",
|
||||
"LocalS3Region": "",
|
||||
"TribeLogConfig": {
|
||||
"MaxRedisEntries": 1000,
|
||||
"BackupMode": "off",
|
||||
"MaxFileHistory": 10,
|
||||
"HttpBackupURL": "",
|
||||
"HttpAPIKey": "",
|
||||
"S3URL": "",
|
||||
"S3AccessKeyId": "",
|
||||
"S3SecretKey": "",
|
||||
"S3BucketName": "",
|
||||
"S3KeyPrefix": ""
|
||||
},
|
||||
"SharedLogConfig": {
|
||||
"FetchRateSec": 60,
|
||||
"SnapshotCleanupSec": 900,
|
||||
"SnapshotRateSec": 1800,
|
||||
"SnapshotExpirationHours": 48,
|
||||
"BackupMode": "off",
|
||||
"MaxFileHistory": 10,
|
||||
"HttpBackupURL": "",
|
||||
"HttpAPIKey": "",
|
||||
"S3URL": "",
|
||||
"S3AccessKeyId": "",
|
||||
"S3SecretKey": "",
|
||||
"S3BucketName": "",
|
||||
"S3KeyPrefix": ""
|
||||
},
|
||||
"TravelDataConfig": {
|
||||
"BackupMode": "off",
|
||||
"MaxFileHistory": 10,
|
||||
"HttpBackupURL": "",
|
||||
"HttpAPIKey": "",
|
||||
"S3URL": "",
|
||||
"S3AccessKeyId": "",
|
||||
"S3SecretKey": "",
|
||||
"S3BucketName": "",
|
||||
"S3KeyPrefix": ""
|
||||
},
|
||||
"DatabaseConnections": [
|
||||
{
|
||||
"Name": "TradeDB",
|
||||
"URL": "127.0.0.1",
|
||||
"Port": 6379,
|
||||
"Password": "foobared"
|
||||
},
|
||||
{
|
||||
"Name": "Default",
|
||||
"URL": "127.0.0.1",
|
||||
"Port": 6379,
|
||||
"Password": "foobared"
|
||||
},
|
||||
{
|
||||
"Name": "TribeDB",
|
||||
"URL": "127.0.0.1",
|
||||
"Port": 6379,
|
||||
"Password": "foobared"
|
||||
},
|
||||
{
|
||||
"Name": "TravelDataDB",
|
||||
"URL": "127.0.0.1",
|
||||
"Port": 6379,
|
||||
"Password": "foobared"
|
||||
},
|
||||
{
|
||||
"Name": "TerritoryDB",
|
||||
"URL": "127.0.0.1",
|
||||
"Port": 6379,
|
||||
"Password": "foobared"
|
||||
},
|
||||
{
|
||||
"Name": "LogDB",
|
||||
"URL": "127.0.0.1",
|
||||
"Port": 6379,
|
||||
"Password": "foobared"
|
||||
}
|
||||
]
|
||||
}
|
BIN
grid/ServerGrid.jpg
Normal file
BIN
grid/ServerGrid.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 MiB |
1185
grid/ServerGrid.json
Normal file
1185
grid/ServerGrid.json
Normal file
File diff suppressed because it is too large
Load Diff
BIN
libcrypto.so.1.0.0
Normal file
BIN
libcrypto.so.1.0.0
Normal file
Binary file not shown.
BIN
libssl.so.1.0.0
Normal file
BIN
libssl.so.1.0.0
Normal file
Binary file not shown.
@@ -1,4 +1,11 @@
|
||||
#!/bin/bash
|
||||
echo "+---------------------------------"
|
||||
echo "|"
|
||||
echo "| This container is deprecated!"
|
||||
echo "|"
|
||||
echo "+---------------------------------"
|
||||
sleep infinity
|
||||
|
||||
if [ ! -f ${STEAMCMD_DIR}/steamcmd.sh ]; then
|
||||
echo "SteamCMD not found!"
|
||||
wget -q -O ${STEAMCMD_DIR}/steamcmd_linux.tar.gz http://media.steampowered.com/client/steamcmd_linux.tar.gz
|
||||
@@ -50,116 +57,76 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${OXIDE_MOD}" == "true" ] && [ "${CARBON_MOD}" == "true" ]; then
|
||||
echo "---Oxide and Carbon mod enabled, you can only enable one at a time, putting container into sleep mode.--"
|
||||
sleep infinity
|
||||
if [ "${ENA_REDIS}" == "yes" ]; then
|
||||
echo "---Starting Redis Server---"
|
||||
screen -S RedisServer -d -m /usr/bin/redis-server
|
||||
sleep 5
|
||||
else
|
||||
echo "------------------------------------"
|
||||
echo "-----Internal Redis Server not------"
|
||||
echo "-----enabled, make sure you've------"
|
||||
echo "----configured your ATLAS server----"
|
||||
echo "--for an external REDIS connection--"
|
||||
echo "----otherwise it will not start!----"
|
||||
echo "------------------------------------"
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
if [ "${OXIDE_MOD}" == "true" ]; then
|
||||
echo "---Oxide Mod enabled!---"
|
||||
CUR_V="$(find ${SERVER_DIR} -maxdepth 1 -name "OxideMod-*.zip" | cut -d '-' -f2)"
|
||||
LAT_V="$(wget -qO- https://api.github.com/repos/OxideMod/Oxide.Rust/releases/latest | grep tag_name | cut -d '"' -f4)"
|
||||
|
||||
if [ -z ${LAT_V} ]; then
|
||||
if [ -z ${CUR_V%.*} ]; then
|
||||
echo "---Can't get latest Oxide Mod version and found no installed version, putting server into sleep mode!---"
|
||||
sleep infinity
|
||||
else
|
||||
echo "---Can_t get latest Oxide Mod version, falling back to installed v${CUR_V%.*}!---"
|
||||
LAT_V="${CUR_V%.*}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "${CUR_V%.}" ]; then
|
||||
echo "---Oxide Mod not found, downloading!---"
|
||||
rm -f ${SERVER_DIR}/OxideMod-*.zip
|
||||
cd ${SERVER_DIR}
|
||||
if wget -q -nc --show-progress --progress=bar:force:noscroll -O ${SERVER_DIR}/OxideMod-${LAT_V}.zip "https://github.com/OxideMod/Oxide.Rust/releases/download/${LAT_V}/Oxide.Rust-linux.zip" ; then
|
||||
echo "---Successfully downloaded Oxide Mode v${LAT_V}!---"
|
||||
else
|
||||
echo "---Something went wrong, can't download Oxide Mod v${LAT_V}, putting server in sleep mode---"
|
||||
sleep infinity
|
||||
fi
|
||||
unzip -o ${SERVER_DIR}/OxideMod-${LAT_V}.zip -d ${SERVER_DIR}
|
||||
elif [ "${LAT_V}" != "${CUR_V%.*}" ]; then
|
||||
cd ${SERVER_DIR}
|
||||
rm -rf ${SERVER_DIR}/OxideMod-*.zip
|
||||
echo "---Newer version of Oxide Mod v${LAT_V} found, currently installed: v${CUR_V%.*}---"
|
||||
if wget -q -nc --show-progress --progress=bar:force:noscroll -O ${SERVER_DIR}/OxideMod-${LAT_V}.zip "https://github.com/OxideMod/Oxide.Rust/releases/download/${LAT_V}/Oxide.Rust-linux.zip" ; then
|
||||
echo "---Successfully downloaded Oxide Mod v${LAT_V}!---"
|
||||
else
|
||||
echo "---Something went wrong, can't download Oxide Mod v${LAT_V}, putting server in sleep mode---"
|
||||
sleep infinity
|
||||
fi
|
||||
unzip -o ${SERVER_DIR}/OxideMod-${LAT_V}.zip -d ${SERVER_DIR}
|
||||
elif [ "$LAT_V" == "${CUR_V%.*}" ]; then
|
||||
echo "---Oxide Mod v${CUR_V%.*} is Up-To-Date!---"
|
||||
fi
|
||||
|
||||
if [ "${FORCE_OXIDE_INSTALLATION}" == "true" ]; then
|
||||
unzip -o ${SERVER_DIR}/OxideMod-${LAT_V}.zip -d ${SERVER_DIR}
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${CARBON_MOD}" == "true" ]; then
|
||||
echo "---Carbon Mod enabled!---"
|
||||
CUR_V="$(find ${SERVER_DIR} -maxdepth 1 -name "CarbonMod-*.tar.gz" | cut -d '-' -f2)"
|
||||
LAT_V="$(wget -qO- https://api.github.com/repos/CarbonCommunity/Carbon/releases/latest | grep tag_name | cut -d '"' -f4)"
|
||||
|
||||
if [ -z ${LAT_V} ]; then
|
||||
if [ -z ${CUR_V%.tar.gz} ]; then
|
||||
echo "---Can't get latest Carbon Mod version and found no installed version, putting server into sleep mode!---"
|
||||
sleep infinity
|
||||
else
|
||||
echo "---Can_t get latest Carbon Mod version, falling back to installed v${CUR_V%.tar.gz}!---"
|
||||
LAT_V="${CUR_V%.tar.gz}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "${CUR_V%.tar.gz}" ]; then
|
||||
echo "---Carbon Mod not found, downloading!---"
|
||||
rm -f ${SERVER_DIR}/CarbonMod-*.tar.gz
|
||||
cd ${SERVER_DIR}
|
||||
if wget -q -nc --show-progress --progress=bar:force:noscroll -O ${SERVER_DIR}/CarbonMod-${LAT_V}.tar.gz "https://github.com/CarbonCommunity/Carbon/releases/download/${LAT_V}/Carbon.Linux.Release.tar.gz" ; then
|
||||
echo "---Successfully downloaded Carbon Mode ${LAT_V}!---"
|
||||
else
|
||||
echo "---Something went wrong, can't download Carbon Mod ${LAT_V}, putting server in sleep mode---"
|
||||
sleep infinity
|
||||
fi
|
||||
tar -xvf ${SERVER_DIR}/CarbonMod-${LAT_V}.tar.gz -C ${SERVER_DIR}
|
||||
#unzip -o ${SERVER_DIR}/CarbonMod-${LAT_V}.zip -d ${SERVER_DIR}
|
||||
elif [ "${LAT_V}" != "${CUR_V%.tar.gz}" ]; then
|
||||
cd ${SERVER_DIR}
|
||||
rm -rf ${SERVER_DIR}/CarbonMod-*.tar.gz
|
||||
echo "---Newer version of Carbon Mod ${LAT_V} found, currently installed: v${CUR_V%.tar.gz}---"
|
||||
if wget -q -nc --show-progress --progress=bar:force:noscroll -O ${SERVER_DIR}/CarbonMod-${LAT_V}.tar.gz "https://github.com/CarbonCommunity/Carbon/releases/download/${LAT_V}/Carbon.Linux.Release.tar.gz" ; then
|
||||
echo "---Successfully downloaded Carbon Mod ${LAT_V}!---"
|
||||
else
|
||||
echo "---Something went wrong, can't download Carbon Mod ${LAT_V}, putting server in sleep mode---"
|
||||
sleep infinity
|
||||
fi
|
||||
tar -xvf ${SERVER_DIR}/CarbonMod-${LAT_V}.tar.gz ${SERVER_DIR}
|
||||
elif [ "$LAT_V" == "${CUR_V%.tar.gz}" ]; then
|
||||
echo "---Carbon Mod ${CUR_V%.tar.gz} is Up-To-Date!---"
|
||||
fi
|
||||
|
||||
if [ "${FORCE_CARBON_INSTALLATION}" == "true" ]; then
|
||||
tar -xvf ${SERVER_DIR}/CarbonMod-${LAT_V}.tar.gz -C ${SERVER_DIR}
|
||||
fi
|
||||
source "${SERVER_DIR}/carbon/tools/environment.sh"
|
||||
fi
|
||||
echo "---Container under construction!---"
|
||||
sleep infinity
|
||||
|
||||
echo "---Prepare Server---"
|
||||
echo "---Searching for grid files...---"
|
||||
if [ ! -f ${SERVER_DIR}/ShooterGame/ServerGrid.jpg ]; then
|
||||
echo "---'ServerGrid.jpg' not found, downloading---"
|
||||
cd ${SERVER_DIR}/ShooterGame
|
||||
if wget -q -nc --show-progress --progress=bar:force:noscroll https://raw.githubusercontent.com/ich777/docker-steamcmd-server/atlas/grid/ServerGrid.jpg ; then
|
||||
echo "---Sucessfully downloaded 'ServerGrid.jpg'---"
|
||||
else
|
||||
echo "---Can't download 'ServerGrid.jpg', putting server into sleep mode---"
|
||||
sleep infinity
|
||||
fi
|
||||
else
|
||||
echo "---'ServerGrid.jpg' found!---"
|
||||
fi
|
||||
if [ ! -f ${SERVER_DIR}/ShooterGame/ServerGrid.json ]; then
|
||||
echo "---'ServerGrid.json' not found, downloading---"
|
||||
cd ${SERVER_DIR}/ShooterGame
|
||||
if wget -q -nc --show-progress --progress=bar:force:noscroll https://raw.githubusercontent.com/ich777/docker-steamcmd-server/atlas/grid/ServerGrid.json ; then
|
||||
echo "---Sucessfully downloaded 'ServerGrid.json'---"
|
||||
else
|
||||
echo "---Can't download 'ServerGrid.json', putting server into sleep mode---"
|
||||
sleep infinity
|
||||
fi
|
||||
else
|
||||
echo "---'ServerGrid.json' found!---"
|
||||
fi
|
||||
if [ ! -f ${SERVER_DIR}/ShooterGame/ServerGrid.ServerOnly.json ]; then
|
||||
echo "---'ServerGrid.ServerOnly.json' not found, downloading---"
|
||||
cd ${SERVER_DIR}/ShooterGame
|
||||
if wget -q -nc --show-progress --progress=bar:force:noscroll https://raw.githubusercontent.com/ich777/docker-steamcmd-server/atlas/grid/ServerGrid.ServerOnly.json ; then
|
||||
echo "---Sucessfully downloaded 'ServerGrid.ServerOnly.json'---"
|
||||
else
|
||||
echo "---Can't download 'ServerGrid.ServerOnly.json', putting server into sleep mode---"
|
||||
sleep infinity
|
||||
fi
|
||||
else
|
||||
if [ ! "$(grep '"Name": "TradeDB",' ${SERVER_DIR}/ShooterGame/ServerGrid.ServerOnly.json)" ]; then
|
||||
sed -i '/\"DatabaseConnections\": \[/a\ {\n \"Name\": \"TradeDB\",\n \"URL\": \"127.0.0.1\",\n \"Port"\: 6379,\n \"Password\": \"foobared\"\n },' ${SERVER_DIR}/ShooterGame/ServerGrid.ServerOnly.json
|
||||
fi
|
||||
echo "---'ServerGrid.ServerOnly.json' found!---"
|
||||
fi
|
||||
if [ "${ENA_REDIS}" == "yes" ]; then
|
||||
echo "---Configuring Redis---"
|
||||
sleep 5
|
||||
echo "CONFIG SET dir ${SERVER_DIR}" | redis-cli
|
||||
echo "CONFIG SET dbfilename redis.rdb" | redis-cli
|
||||
echo "BGSAVE" | redis-cli
|
||||
fi
|
||||
sleep 3
|
||||
chmod -R ${DATA_PERM} ${DATA_DIR}
|
||||
echo "---Setting Library path---"
|
||||
export LD_LIBRARY_PATH=:/bin/RustDedicated_Data/Plugins/x86_64
|
||||
echo "---Server ready---"
|
||||
|
||||
echo "---Start Server---"
|
||||
cd ${SERVER_DIR}
|
||||
if [ ! -f ${SERVER_DIR}/RustDedicated ]; then
|
||||
echo "---Can't find game executable, putting server into sleep mode!---"
|
||||
sleep infinity
|
||||
else
|
||||
${SERVER_DIR}/RustDedicated -batchmode -server.port ${GAME_PORT} -server.queryport ${QUERY_PORT} -rcon.port ${RCON_PORT} -app.port ${APP_PORT} -server.hostname "${SERVER_NAME}" -server.description "${SERVER_DISCRIPTION}" ${GAME_PARAMS}
|
||||
fi
|
||||
cd ${SERVER_DIR}/ShooterGame/Binaries/Linux
|
||||
./ShooterGameServer ${MAP_NAME}${GAME_PARAMS} ${GAME_PARAMS_EXTRA}
|
@@ -22,13 +22,16 @@ fi
|
||||
echo "---Taking ownership of data...---"
|
||||
chown -R root:${GID} /opt/scripts
|
||||
chmod -R 750 /opt/scripts
|
||||
chown -R ${UID}:${GID} /var/lib/redis
|
||||
chown -R ${UID}:${GID} /usr/bin/redis-server
|
||||
chown -R ${UID}:${GID} /usr/bin/redis-cli
|
||||
chmod -R 770 /var/lib/redis
|
||||
chown -R ${UID}:${GID} ${DATA_DIR}
|
||||
|
||||
echo "---Starting...---"
|
||||
term_handler() {
|
||||
kill -SIGINT $(pidof RustDedicated)
|
||||
tail --pid=$(pidof RustDedicated) -f 2>/dev/null
|
||||
sleep 0.5
|
||||
kill -SIGTERM "$killpid"
|
||||
wait "$killpid" -f 2>/dev/null
|
||||
exit 143;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user