Compare commits

..

20 Commits
cs2 ... ets2

Author SHA1 Message Date
4fee6dc1eb Dockerfile aktualisiert 2024-05-20 21:25:04 +02:00
ee6f668c18 Dateien nach "libs" hochladen 2024-05-20 21:23:20 +02:00
a3727edbae „README.md“ ändern 2023-01-17 13:38:29 +01:00
7f9e855661 „scripts/start-server.sh“ ändern 2022-12-10 10:17:29 +01:00
20a30e617a „scripts/start-server.sh“ ändern 2022-12-10 09:39:13 +01:00
37e9f9e86c „scripts/start.sh“ ändern 2022-12-10 09:32:06 +01:00
358648c4b2 „scripts/start-server.sh“ ändern 2022-12-10 09:31:32 +01:00
77b7cd335d „Dockerfile“ ändern 2022-12-10 09:24:03 +01:00
0bb1485a88 Dateien hochladen nach „“ 2022-12-10 09:23:31 +01:00
06132feff8 „scripts/start.sh“ ändern 2022-12-10 09:22:55 +01:00
f8fd4a1c94 „scripts/start-server.sh“ ändern 2022-12-10 08:55:10 +01:00
c98bcbb09c „scripts/start-server.sh“ ändern 2022-12-10 08:52:02 +01:00
7e61ddf78e „Dockerfile“ ändern 2022-12-10 08:50:58 +01:00
26d8027eac „scripts/start-server.sh“ ändern 2022-12-10 08:23:55 +01:00
e77a8bcfe6 „scripts/start.sh“ ändern 2022-10-25 11:01:55 +02:00
ca0c8fefe6 „Dockerfile“ ändern 2022-05-06 09:06:19 +02:00
e7c87bd8f1 „README.md“ ändern 2022-04-18 13:08:18 +02:00
2432940e23 „scripts/start-server.sh“ ändern 2022-04-13 14:31:26 +02:00
89598a9710 „scripts/start.sh“ ändern 2022-04-07 17:20:32 +02:00
83992eb6cb „scripts/start-server.sh“ ändern 2021-12-14 12:59:09 +01:00
6 changed files with 51 additions and 38 deletions

View File

@@ -1,12 +1,16 @@
FROM ich777/debian-baseimage:bullseye_amd64
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 lib32stdc++6 lib32z1 lsof libicu67 && \
apt-get -y install --no-install-recommends lib32gcc-s1 lib32stdc++6 libatomic1 libx11-6 && \
rm -rf /var/lib/apt/lists/*
RUN wget -O /tmp/libs.tar https://github.com/ich777/docker-steamcmd-server/raw/ets2/libs/3rd_party_libs.tar && \
tar -C /usr/lib/x86_64-linux-gnu/ -xvf /tmp/libs.tar && \
rm -rf /tmp/libs.tar
ENV DATA_DIR="/serverdata"
ENV STEAMCMD_DIR="${DATA_DIR}/steamcmd"
ENV SERVER_DIR="${DATA_DIR}/serverfiles"
@@ -26,12 +30,13 @@ ENV DATA_PERM=770
RUN mkdir $DATA_DIR && \
mkdir $STEAMCMD_DIR && \
mkdir $SERVER_DIR && \
useradd -d $DATA_DIR -s /bin/bash $USER && \
useradd -d $SERVER_DIR -s /bin/bash $USER && \
chown -R $USER $DATA_DIR && \
ulimit -n 2048
ADD /scripts/ /opt/scripts/
RUN chmod -R 770 /opt/scripts/
COPY config.tar /opt/config.tar
#Server Start
ENTRYPOINT ["/opt/scripts/start.sh"]
ENTRYPOINT ["/opt/scripts/start.sh"]

View File

@@ -1,44 +1,41 @@
# SteamCMD in Docker optimized for Unraid
This Docker will download and install SteamCMD. It will also install Counter-Strike 2 and run it.
This Docker will download and install SteamCMD. It will also install Euro Truck Simulator 2 and run it.
**ATTENTION:** You have to provide a valid Steam account with the game in it is Library and SteamGuard completely disabled so that the download is working!
_It is recommended that you create dedicated Steam account for your dedicated servers with the games in it and SteamGuard completely disabled!_
**DON'T DISABLE STEAM GUARD ON YOUR PRIMARY ACCOUNT!!!**
**Server Credentials:** The default name from the server is: **Docker Server** and the password is: **Docker**
**ATTENTION:** First Startup can take very long since it downloads the gameserver files!
**ATTENTION:** First Startup can take very long since it downloads the gameserver files and the world template!
**PUBLIC PLAY:** If you want that your server is public listed you must add '+sv_setsteamaccount YOURTOKEN' to the GAME_PARAMS (without the quotes and replace YOURTOKEN with your token).
Create your token here: https://steamcommunity.com/dev/managegameservers (every gameserver needs it's own token!!!)
**Server Configuration:** For more information see the file 'server_readme.txt' in the main directory from the dedicated server.
**Save Path:** The configuration files and save data is located in: '.../.local/share/American Truck Simulator '.
**Update Notice:** Simply restart the container if a newer version of the game is available.
You can also run multiple servers with only one SteamCMD directory!
## Example Env
## Example Env params
| Name | Value | Example |
| --- | --- | --- |
| 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 install a static or beta version of the game change the value to: '730 -beta YOURBRANCH' (without quotes, replace YOURBRANCH with the branch or version you want to install). | 730 |
| USERNAME | Leave blank for anonymous login | \<STEAMUSER> |
| PASSWRD | Leave blank for anonymous login | \<STEAMPASSWORD> |
| GAME_PARAMS | Values to start the server | -dedicated -dev +map de_inferno +game_type 0 +game_mode 1 -usercon |
| 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: '1948160 -beta YOURBRANCH' (without quotes, replace YOURBRANCH with the branch or version you want to install). | 1948160 |
| GAME_PARAMS | Enter your game parameters (only change the worldId if you know what you are doing!) | empty |
| UID | User Identifier | 99 |
| GID | Group Identifier | 100 |
| GAME_PORT | Port the server will be running on | 27015 |
| VALIDATE | Validates the game data | blank |
| VALIDATE | Validates the game data | false |
| USERNAME | Leave blank for anonymous login | blank |
| PASSWRD | Leave blank for anonymous login | blank |
## Run example
```
docker run --name CS2 -d \
-p 27015:27015 -p 27015:27015/udp \
--env 'GAME_ID=730' \
--env 'USERNAME=<STEAMUSER>' \
--env 'PASSWRD=<STEAMPASSWORD>' \
--env 'GAME_PARAMS=-dedicated -dev +map de_inferno +game_type 0 +game_mode 1 -usercon' \
docker run --name EuroTruckSimulator2 -d \
-p 27015-27016:27015-27016/udp \
--env 'GAME_ID=1948160' \
--env 'UID=99' \
--env 'GID=100' \
--volume /path/to/steamcmd:/serverdata/steamcmd \
--volume /path/to/cs2:/serverdata/serverfiles \
ich777/steamcmd:cs2
--volume /path/to/eurotrucksimulator2/serverdata/serverfiles \
ich777/steamcmd:ets2
```
This Docker was mainly edited for better use with Unraid, if you don't use Unraid you should definitely try it!

BIN
config.tar Normal file

Binary file not shown.

BIN
libs/3rd_party_libs.tar Normal file

Binary file not shown.

View File

@@ -51,18 +51,27 @@ else
fi
echo "---Prepare Server---"
if [ ! -f ${DATA_DIR}/.steam/sdk64/steamclient.so ]; then
if [ ! -d ${DATA_DIR}/.steam ]; then
mkdir ${DATA_DIR}/.steam
echo "---Looking if Server config is in place---"
if [ ! -d "$SERVER_DIR/.local/share/Euro Truck Simulator 2" ]; then
mkdir -p "$SERVER_DIR/.local/share/Euro Truck Simulator 2"
fi
if [ ! -f "$SERVER_DIR/.local/share/Euro Truck Simulator 2/server_packages.dat" ]; then
echo "---Server config not found, copying default...---"
tar -C "$SERVER_DIR/.local/share/Euro Truck Simulator 2" -xvf /opt/config.tar
else
echo "---Server config found!---"
fi
if [ ! -f ${SERVER_DIR}/.steam/sdk64/steamclient.so ]; then
if [ ! -d ${SERVER_DIR}/.steam/sdk64 ]; then
mkdir -p ${SERVER_DIR}/.steam/sdk64
fi
if [ ! -d ${DATA_DIR}/.steam/sdk64 ]; then
mkdir ${DATA_DIR}/.steam/sdk64
fi
cp -R ${STEAMCMD_DIR}/linux64/* ${DATA_DIR}/.steam/sdk64/
cp -R ${STEAMCMD_DIR}/linux64/* ${SERVER_DIR}/.steam/sdk64/
fi
chmod -R ${DATA_PERM} ${DATA_DIR}
echo "---Server ready---"
echo "---Start Server---"
cd ${SERVER_DIR}
${SERVER_DIR}/game/bin/linuxsteamrt64/cs2 ${GAME_PARAMS}
export LD_LIBRARY_PATH=$SERVER_DIR/linux64
cd ${SERVER_DIR}/bin/linux_x64
${SERVER_DIR}/bin/linux_x64/eurotrucks2_server ${GAME_PARAMS}

View File

@@ -22,12 +22,14 @@ fi
echo "---Taking ownership of data...---"
chown -R root:${GID} /opt/scripts
chmod -R 750 /opt/scripts
chown ${UID}:${GID} /opt/config.tar
chmod 750 /opt/config.tar
chown -R ${UID}:${GID} ${DATA_DIR}
echo "---Starting...---"
term_handler() {
kill -SIGTERM "$killpid"
wait "$killpid" -f 2>/dev/null
kill -SIGINT $(pidof pidof eurotrucks2_server)
tail --pid=$(pidof pidof eurotrucks2_server) -f 2>/dev/null
exit 143;
}
@@ -38,4 +40,4 @@ while true
do
wait $killpid
exit 0;
done
done