~ created minimal test
This commit is contained in:
		
							
								
								
									
										11
									
								
								.project
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								.project
									
									
									
									
									
								
							@@ -1,11 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					 | 
				
			||||||
<projectDescription>
 | 
					 | 
				
			||||||
	<name>docker-ttt</name>
 | 
					 | 
				
			||||||
	<comment></comment>
 | 
					 | 
				
			||||||
	<projects>
 | 
					 | 
				
			||||||
	</projects>
 | 
					 | 
				
			||||||
	<buildSpec>
 | 
					 | 
				
			||||||
	</buildSpec>
 | 
					 | 
				
			||||||
	<natures>
 | 
					 | 
				
			||||||
	</natures>
 | 
					 | 
				
			||||||
</projectDescription>
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
services:
 | 
					 | 
				
			||||||
  - docker
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
script:
 | 
					 | 
				
			||||||
  - docker build -t "jusito/docker-ttt:develop" .
 | 
					 | 
				
			||||||
  - docker volume create TTT
 | 
					 | 
				
			||||||
  - docker run -d -P -e INSTALL_CSS=true -e WORKSHOP_COLLECTION_ID=899062542 --name "TTT" -p 27015:27015/tcp -p 27015:27015/udp -v "TTT:/home/steam/server:rw" \
 | 
					 | 
				
			||||||
  "jusito/docker-ttt:develop" "testing"
 | 
					 | 
				
			||||||
							
								
								
									
										24
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -6,39 +6,23 @@ ENV STEAM_PATH="/home/steam" \
 | 
				
			|||||||
	SERVER_PATH="/home/steam/server" \
 | 
						SERVER_PATH="/home/steam/server" \
 | 
				
			||||||
	GROUP_ID=10000 \
 | 
						GROUP_ID=10000 \
 | 
				
			||||||
	USER_ID=10000 \
 | 
						USER_ID=10000 \
 | 
				
			||||||
	DOCKER_USER=steam \
 | 
						DOCKER_USER=steam
 | 
				
			||||||
	\
 | 
					 | 
				
			||||||
	WORKSHOP_COLLECTION_ID= \
 | 
					 | 
				
			||||||
	INSTALL_CSS=false \
 | 
					 | 
				
			||||||
	INSTALL_HL2=false \
 | 
					 | 
				
			||||||
	INSTALL_HLDM=false \
 | 
					 | 
				
			||||||
	INSTALL_TF2=false \
 | 
					 | 
				
			||||||
	\
 | 
					 | 
				
			||||||
	CSS_PATH="/home/steam/addons/css" \
 | 
					 | 
				
			||||||
	HL2_PATH="/home/steam/addons/hl2" \
 | 
					 | 
				
			||||||
	HLDM_PATH="/home/steam/addons/hldm" \
 | 
					 | 
				
			||||||
	TF2_PATH="/home/steam/addons/tf2" \
 | 
					 | 
				
			||||||
	\
 | 
					 | 
				
			||||||
	USE_MY_REPLACER_CONFIG=false
 | 
					 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
ENTRYPOINT ["./home/entrypoint.sh"]
 | 
					ENTRYPOINT ["./home/entrypoint.sh"]
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
COPY ["entrypoint.sh", "installAndMountAddons.sh", "forceWorkshopDownload.sh", "experimental.sh", "/home/"]
 | 
					COPY ["entrypoint.sh", "/home/"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# removed dep. lib32gcc1 libtcmalloc-minimal4:i386 gdb
 | 
					# removed dep. lib32gcc1 libtcmalloc-minimal4:i386 gdb
 | 
				
			||||||
RUN dpkg --add-architecture i386 && \
 | 
					RUN dpkg --add-architecture i386 && \
 | 
				
			||||||
	apt-get update -y && \
 | 
						apt-get update -y && \
 | 
				
			||||||
	apt-get install -y wget tar gzip ca-certificates lib32stdc++6 lib32tinfo5 \
 | 
						apt-get install -y wget tar gzip ca-certificates lib32stdc++6 \
 | 
				
			||||||
	lib32gcc1 libtcmalloc-minimal4:i386 gdb && \
 | 
						\
 | 
				
			||||||
	groupadd -g $GROUP_ID $DOCKER_USER && \
 | 
						groupadd -g $GROUP_ID $DOCKER_USER && \
 | 
				
			||||||
	useradd -d /home/steam/ -g $GROUP_ID -u $USER_ID -m $DOCKER_USER && \
 | 
						useradd -d /home/steam/ -g $GROUP_ID -u $USER_ID -m $DOCKER_USER && \
 | 
				
			||||||
	chown "$DOCKER_USER:$DOCKER_USER" /home/entrypoint.sh && \
 | 
						chown "$DOCKER_USER:$DOCKER_USER" /home/entrypoint.sh && \
 | 
				
			||||||
	mkdir -p "$SERVER_PATH" && \
 | 
						mkdir -p "$SERVER_PATH" && \
 | 
				
			||||||
	chown -R "$DOCKER_USER:$DOCKER_USER" "$STEAM_PATH" && \
 | 
						chown -R "$DOCKER_USER:$DOCKER_USER" "$STEAM_PATH" && \
 | 
				
			||||||
	chmod a=rx /home/entrypoint.sh && \
 | 
						chmod a=rx /home/entrypoint.sh && \
 | 
				
			||||||
	chmod a=rx /home/installAndMountAddons.sh && \
 | 
					 | 
				
			||||||
	chmod a=rx /home/forceWorkshopDownload.sh && \
 | 
					 | 
				
			||||||
	chmod a=rx /home/experimental.sh && \
 | 
					 | 
				
			||||||
	ulimit -n 2048 && \
 | 
						ulimit -n 2048 && \
 | 
				
			||||||
	\
 | 
						\
 | 
				
			||||||
	locale-gen en_US.UTF-8
 | 
						locale-gen en_US.UTF-8
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										21
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								LICENSE
									
									
									
									
									
								
							@@ -1,21 +0,0 @@
 | 
				
			|||||||
MIT License
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Copyright (c) 2018 jusito
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
					 | 
				
			||||||
of this software and associated documentation files (the "Software"), to deal
 | 
					 | 
				
			||||||
in the Software without restriction, including without limitation the rights
 | 
					 | 
				
			||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
					 | 
				
			||||||
copies of the Software, and to permit persons to whom the Software is
 | 
					 | 
				
			||||||
furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The above copyright notice and this permission notice shall be included in all
 | 
					 | 
				
			||||||
copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
					 | 
				
			||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
					 | 
				
			||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
					 | 
				
			||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
					 | 
				
			||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
					 | 
				
			||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
					 | 
				
			||||||
SOFTWARE.
 | 
					 | 
				
			||||||
							
								
								
									
										33
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								README.md
									
									
									
									
									
								
							@@ -1,33 +0,0 @@
 | 
				
			|||||||
# docker-ttt
 | 
					 | 
				
			||||||
GMOD TTT server image, https://hub.docker.com/r/jusito/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## TODO
 | 
					 | 
				
			||||||
- use readme template
 | 
					 | 
				
			||||||
- create script which adds all workshop donwloads to lua (arg host_workshop_collection)
 | 
					 | 
				
			||||||
  - \lua\autorun\server\workshop.lua, resource.AddWorkshop( "943738100" )
 | 
					 | 
				
			||||||
- force cleanup of downloaded elements => removed workshop elements are otherwise used
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## run example
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
docker run -d -p 27015:27015/tcp -p 27015:27015/udp -e WORKSHOP_COLLECTION_ID=123456 -e INSTALL_CSS=true "jusito/docker-ttt" +host_workshop_collection 123456 +map ttt_rooftops_2016_v1 -maxplayers 16 -hostname "New Server"
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
-d exit if entrypoint exits
 | 
					 | 
				
			||||||
tcp port for rcon
 | 
					 | 
				
			||||||
udp port for game traffic
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## environment variables
 | 
					 | 
				
			||||||
If set every workshop item at the collection is added as forced, that means its automatically downloaded on connecting. Don't add collections with maps here just like weapons aso.
 | 
					 | 
				
			||||||
WORKSHOP_COLLECTION_ID=
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If set to "true" the game is installed and mounted, most of the time you want to add the css content.
 | 
					 | 
				
			||||||
INSTALL_CSS=false
 | 
					 | 
				
			||||||
INSTALL_HL2=false
 | 
					 | 
				
			||||||
INSTALL_HLDM=false
 | 
					 | 
				
			||||||
INSTALL_TF2=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## server config
 | 
					 | 
				
			||||||
http://ttt.badking.net/config-and-commands/convars
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Path in container is:
 | 
					 | 
				
			||||||
docker cp "your server.cfg path" CONTAINER:/home/steam/server/garrysmod/cfg/server.cfg
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -3,64 +3,21 @@
 | 
				
			|||||||
echo "starting entrypoint.sh"
 | 
					echo "starting entrypoint.sh"
 | 
				
			||||||
set -e
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEBUG_MODE=false
 | 
					 | 
				
			||||||
if [ "$1" = "testing" ]; then
 | 
					 | 
				
			||||||
	DEBUG_MODE=true
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
echo "installing / updating steamcmd in $STEAM_PATH"
 | 
					echo "installing / updating steamcmd in $STEAM_PATH"
 | 
				
			||||||
cd "$STEAM_PATH"
 | 
					cd "$STEAM_PATH"
 | 
				
			||||||
wget -q -O - "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar -zxvf -
 | 
					wget -q -O - "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar -zxvf -
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ -e "${STEAM_PATH}/server/steam_cache" ]; then
 | 
					 | 
				
			||||||
	echo "clearing steam cache"
 | 
					 | 
				
			||||||
	rm -rf "${STEAM_PATH}/server/steam_cache/"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
if [ -e "${STEAM_PATH}/server/garrysmod/cache" ]; then
 | 
					 | 
				
			||||||
	echo "clearing cache"
 | 
					 | 
				
			||||||
	rm -rf "${STEAM_PATH}/server/garrysmod/cache/*"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
echo "testing steamcmd"
 | 
					echo "testing steamcmd"
 | 
				
			||||||
chmod ug=rwx,o= steamcmd.sh
 | 
					 | 
				
			||||||
./steamcmd.sh -noasync +login anonymous +quit
 | 
					./steamcmd.sh -noasync +login anonymous +quit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "installing / validating ttt"
 | 
					echo "installing / validating ttt"
 | 
				
			||||||
cd "$STEAM_PATH"
 | 
					cd "$STEAM_PATH"
 | 
				
			||||||
./steamcmd.sh -noasync +login anonymous +force_install_dir "$STEAM_PATH/server/" +app_update 4020 validate +quit || \
 | 
					./steamcmd.sh -noasync +login anonymous +force_install_dir "$STEAM_PATH/server/" +app_update 4020 validate +quit
 | 
				
			||||||
	(echo '[error][1] catched => printing stderr.txt:' && \
 | 
					 | 
				
			||||||
		cat "Steam/logs/stderr.txt" && \
 | 
					 | 
				
			||||||
		echo '[error][1] <= printed' && \
 | 
					 | 
				
			||||||
		./steamcmd.sh -noasync +login anonymous +force_install_dir "$STEAM_PATH/server/" +app_update 4020 validate +quit) || \
 | 
					 | 
				
			||||||
	(echo '[error][2] catched => printing stderr.txt:' && \
 | 
					 | 
				
			||||||
		cat "Steam/logs/stderr.txt" && \
 | 
					 | 
				
			||||||
		echo '[error][2] <= printed' && \
 | 
					 | 
				
			||||||
		./steamcmd.sh -noasync +login anonymous +force_install_dir "$STEAM_PATH/server/" +app_update 4020 validate +quit)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
echo "processing scripts before start"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
echo "experimental.sh"
 | 
					 | 
				
			||||||
bash /home/experimental.sh
 | 
					 | 
				
			||||||
#echo "forceWorkshopDownload.sh"
 | 
					 | 
				
			||||||
#bash /home/forceWorkshopDownload.sh
 | 
					 | 
				
			||||||
#echo "installAndMountAddons.sh"
 | 
					 | 
				
			||||||
#bash /home/installAndMountAddons.sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ -e "$SERVER_PATH/custom.sh" ]; then
 | 
					 | 
				
			||||||
	echo "existing: $SERVER_PATH/custom.sh"
 | 
					 | 
				
			||||||
	bash "$SERVER_PATH/custom.sh"
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
	echo "not existing: $SERVER_PATH/custom.sh"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# todo catch => send killserver / quit
 | 
					# todo catch => send killserver / quit
 | 
				
			||||||
cd "$STEAM_PATH/server/"
 | 
					cd "$STEAM_PATH/server/"
 | 
				
			||||||
trap 'pkill -15 srcds_run' SIGTERM
 | 
					trap 'pkill -15 srcds_run' SIGTERM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ "$DEBUG_MODE" != "true" ]; then
 | 
					#-console -game garrysmod +gamemode terrortown
 | 
				
			||||||
	./srcds_run -console -game garrysmod +gamemode terrortown "$@" &
 | 
					./srcds_run "$@" &
 | 
				
			||||||
	wait "$!"
 | 
					wait "$!"
 | 
				
			||||||
else
 | 
					 | 
				
			||||||
	echo "debug ended"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
@@ -1,19 +0,0 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set -e
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#create default server.config
 | 
					 | 
				
			||||||
#TODO || [ cat "${SERVER_PATH}/garrysmod/cfg/server.cfg" ] check if empty (only whitespaces)
 | 
					 | 
				
			||||||
#TODO don't miss to change to master!
 | 
					 | 
				
			||||||
# not empty: grep -q '[^[:space:]]' < 'server.cfg' && echo "not empty"
 | 
					 | 
				
			||||||
if [ ! -e "${SERVER_PATH}/garrysmod/cfg/server.cfg" ] || [ "0" = "$(grep -o '[^[:space:]]' "${SERVER_PATH}/garrysmod/cfg/server.cfg" | wc -l)" ]; then
 | 
					 | 
				
			||||||
	mkdir -p "${SERVER_PATH}/garrysmod/cfg"
 | 
					 | 
				
			||||||
	wget -O "${SERVER_PATH}/garrysmod/cfg/server.cfg" "https://raw.githubusercontent.com/jusito/docker-ttt/develop/server.cfg"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#this is a simple option for myself, but you can use it too
 | 
					 | 
				
			||||||
if [ "$USE_MY_REPLACER_CONFIG" = "true" ]; then
 | 
					 | 
				
			||||||
	mkdir -p "${SERVER_PATH}/garrysmod/data/jusito_ttt_entity_replace"
 | 
					 | 
				
			||||||
	wget -O "${SERVER_PATH}/garrysmod/data/jusito_ttt_entity_replace/config.txt" "https://raw.githubusercontent.com/jusito/ttt_entity_replace/master/config.txt.example_fas2"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,28 +0,0 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set -e
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#using WORKSHOP_COLLECTION_ID
 | 
					 | 
				
			||||||
LUA_PATH="${SERVER_PATH}/garrysmod/lua/autorun/server"
 | 
					 | 
				
			||||||
LUA_FILE="${LUA_PATH}/workshop_autoload.lua"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#remove old file
 | 
					 | 
				
			||||||
if [ -e "$LUA_FILE" ]; then
 | 
					 | 
				
			||||||
	rm "$LUA_FILE"
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
	mkdir -p "$LUA_PATH"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ "$WORKSHOP_COLLECTION_ID" = "0" ] || [ "$WORKSHOP_COLLECTION_ID" = "" ]; then
 | 
					 | 
				
			||||||
	echo "given ID is default, no workshop download"
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
	touch "$LUA_FILE"
 | 
					 | 
				
			||||||
	arr="$(wget -q -O - https://steamcommunity.com/sharedfiles/filedetails/?id=${WORKSHOP_COLLECTION_ID} | tr '\n' ' ' | grep -Po '"workshopItem"[^"]+"https://steamcommunity.com/sharedfiles/filedetails/\?id=(\d+)' | grep -Po '\d\d\d+' )"
 | 
					 | 
				
			||||||
	str=""
 | 
					 | 
				
			||||||
	for i in ${arr[@]}
 | 
					 | 
				
			||||||
	do
 | 
					 | 
				
			||||||
		str=${str}"resource.AddWorkshop( \"${i}\" )"$'\n'
 | 
					 | 
				
			||||||
	done
 | 
					 | 
				
			||||||
	echo "$str" > "$LUA_FILE"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,48 +0,0 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set -e
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
mount='"mountcfg"'$'\n{\n'
 | 
					 | 
				
			||||||
if [ "$INSTALL_CSS" = "true" ]; then
 | 
					 | 
				
			||||||
	echo "installing & mounting css"
 | 
					 | 
				
			||||||
	./steamcmd.sh +login anonymous +force_install_dir "$CSS_PATH" +app_update 232330 validate +quit
 | 
					 | 
				
			||||||
	mount=${mount}'        "cstrike"    "'"${CSS_PATH}/cstrike"$'"\n'
 | 
					 | 
				
			||||||
	if [ "$INSTALL_HL2" != "true" ]; then
 | 
					 | 
				
			||||||
		mount=${mount}'        "hl2"    "'"${CSS_PATH}/hl2"$'"\n'
 | 
					 | 
				
			||||||
	fi
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
if [ "$INSTALL_HL2" = "true" ]; then
 | 
					 | 
				
			||||||
	echo "installing & mounting hl2"
 | 
					 | 
				
			||||||
	./steamcmd.sh +login anonymous +force_install_dir "$HL2_PATH" +app_update 232370 validate +quit
 | 
					 | 
				
			||||||
	mount=${mount}'        "hl2"    "'"${HL2_PATH}/hl2"$'"\n'
 | 
					 | 
				
			||||||
	mount=${mount}'        "hl2mp"    "'"${HL2_PATH}/hl2mp"$'"\n'
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
if [ "$INSTALL_TF2" = "true" ]; then
 | 
					 | 
				
			||||||
	echo "installing & mounting tf2"
 | 
					 | 
				
			||||||
	./steamcmd.sh +login anonymous +force_install_dir "$TF2_PATH" +app_update 232250 validate +quit
 | 
					 | 
				
			||||||
	mount=${mount}'        "tf2"    "'"${TF2_PATH}/tf"$'"\n'
 | 
					 | 
				
			||||||
	if [ "$INSTALL_CSS" != "true" ] && [ "$INSTALL_HL2" != "true" ]; then
 | 
					 | 
				
			||||||
		mount=${mount}'        "hl2"    "'"${TF2_PATH}/hl2"$'"\n'
 | 
					 | 
				
			||||||
	fi
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
if [ "$INSTALL_HLDM" = "true" ]; then
 | 
					 | 
				
			||||||
	echo "installing & mounting hldm"
 | 
					 | 
				
			||||||
	./steamcmd.sh +login anonymous +force_install_dir "$HLDM_PATH" +app_update 255470 validate +quit
 | 
					 | 
				
			||||||
	mount=${mount}'        "hl1"    "'"${HLDM_PATH}/hl1"$'"\n'
 | 
					 | 
				
			||||||
	mount=${mount}'        "hldm"    "'"${HLDM_PATH}/hldm"$'"\n'
 | 
					 | 
				
			||||||
	if [ "$INSTALL_CSS" != "true" ] && [ "$INSTALL_HL2" != "true" ] && [ "$INSTALL_TF2" != "true" ]; then
 | 
					 | 
				
			||||||
		mount=${mount}'        "hl2"    "'"${HLDM_PATH}/hl2"$'"\n'
 | 
					 | 
				
			||||||
	fi
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
mount=${mount}$'}\n'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ ! -e "${SERVER_PATH}/garrysmod/cfg" ]; then
 | 
					 | 
				
			||||||
	mkdir -p "${SERVER_PATH}/garrysmod/cfg"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
if [ -e "${SERVER_PATH}/garrysmod/cfg/mount.cfg" ]; then
 | 
					 | 
				
			||||||
	rm "${SERVER_PATH}/garrysmod/cfg/mount.cfg"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
touch "${SERVER_PATH}/garrysmod/cfg/mount.cfg"
 | 
					 | 
				
			||||||
echo "$mount" > "${SERVER_PATH}/garrysmod/cfg/mount.cfg"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
							
								
								
									
										98
									
								
								server.cfg
									
									
									
									
									
								
							
							
						
						
									
										98
									
								
								server.cfg
									
									
									
									
									
								
							@@ -1,98 +0,0 @@
 | 
				
			|||||||
// server name
 | 
					 | 
				
			||||||
hostname "New Server"
 | 
					 | 
				
			||||||
sv_contact "unknown"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// rcon passsword
 | 
					 | 
				
			||||||
sv_rcon_banpenalty 5
 | 
					 | 
				
			||||||
sv_rcon_maxfailures 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//DNA
 | 
					 | 
				
			||||||
ttt_killer_dna_range 300
 | 
					 | 
				
			||||||
ttt_killer_dna_basetime 100
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//Prep
 | 
					 | 
				
			||||||
ttt_firstpreptime 60
 | 
					 | 
				
			||||||
ttt_preptime_seconds 30
 | 
					 | 
				
			||||||
ttt_posttime_seconds 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//Round length
 | 
					 | 
				
			||||||
ttt_haste 0
 | 
					 | 
				
			||||||
// ttt_haste_starting_minutes 5
 | 
					 | 
				
			||||||
// ttt_haste_minutes_per_death 0.5
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ttt_roundtime_minutes 10
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//Map Switching
 | 
					 | 
				
			||||||
ttt_round_limit 10
 | 
					 | 
				
			||||||
ttt_time_limit_minutes 75
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//ttt_always_use_mapcycle 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//Player Counts
 | 
					 | 
				
			||||||
ttt_minimum_players 2
 | 
					 | 
				
			||||||
ttt_traitor_pct 0.4
 | 
					 | 
				
			||||||
ttt_traitor_max 32
 | 
					 | 
				
			||||||
ttt_detective_pct 0.1
 | 
					 | 
				
			||||||
ttt_detective_max 32
 | 
					 | 
				
			||||||
ttt_detective_min_players 6
 | 
					 | 
				
			||||||
ttt_detective_karma_min 600 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//Karma
 | 
					 | 
				
			||||||
ttt_karma 1
 | 
					 | 
				
			||||||
ttt_karma_strict 1
 | 
					 | 
				
			||||||
ttt_karma_starting 1000
 | 
					 | 
				
			||||||
ttt_karma_max 1000
 | 
					 | 
				
			||||||
ttt_karma_ratio 0.001
 | 
					 | 
				
			||||||
ttt_karma_kill_penalty 50
 | 
					 | 
				
			||||||
ttt_karma_round_increment 5
 | 
					 | 
				
			||||||
ttt_karma_clean_bonus 30
 | 
					 | 
				
			||||||
ttt_karma_traitordmg_ratio 0.0003
 | 
					 | 
				
			||||||
ttt_karma_traitorkill_bonus 100
 | 
					 | 
				
			||||||
ttt_karma_low_autokick 1
 | 
					 | 
				
			||||||
ttt_karma_low_amount 300
 | 
					 | 
				
			||||||
ttt_karma_low_ban 0
 | 
					 | 
				
			||||||
ttt_karma_low_ban_minutes 60
 | 
					 | 
				
			||||||
ttt_karma_persist 1
 | 
					 | 
				
			||||||
ttt_karma_clean_half 0.25
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//Other
 | 
					 | 
				
			||||||
ttt_postround_dm 0
 | 
					 | 
				
			||||||
ttt_no_nade_throw_during_prep 0
 | 
					 | 
				
			||||||
ttt_weapon_carrying 1
 | 
					 | 
				
			||||||
ttt_weapon_carrying_range 50
 | 
					 | 
				
			||||||
ttt_teleport_telefrags 1
 | 
					 | 
				
			||||||
ttt_ragdoll_pinning 1
 | 
					 | 
				
			||||||
ttt_ragdoll_pinning_innocents 1
 | 
					 | 
				
			||||||
ttt_use_weapon_spawn_scripts 1
 | 
					 | 
				
			||||||
ttt_spawn_wave_interval 2
 | 
					 | 
				
			||||||
ttt_allow_discomb_jump 1
 | 
					 | 
				
			||||||
ttt_debug_preventwin 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// server logging
 | 
					 | 
				
			||||||
log on
 | 
					 | 
				
			||||||
sv_logbans 1
 | 
					 | 
				
			||||||
sv_logecho 1
 | 
					 | 
				
			||||||
sv_logfile 0
 | 
					 | 
				
			||||||
sv_log_onefile 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// operation
 | 
					 | 
				
			||||||
sv_lan 0
 | 
					 | 
				
			||||||
sv_region 3 //Europa
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// traitor
 | 
					 | 
				
			||||||
ttt_credits_detectivekill 2
 | 
					 | 
				
			||||||
ttt_credits_award_repeat 0.5
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// fastdl
 | 
					 | 
				
			||||||
sv_allowdownload 1
 | 
					 | 
				
			||||||
sv_allowupload 0
 | 
					 | 
				
			||||||
// sv_downloadurl "your url"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
exec banned_user.cfg
 | 
					 | 
				
			||||||
exec banned_ip.cfg 
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user