From c2b8e2935fbc35919d1cee7be5349fa730f9606a Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Fri, 28 Sep 2018 14:53:30 +0200 Subject: [PATCH] + prepared master merge --- .travis.yml | 8 +++++ LICENSE | 21 ++++++++++++ README.md | 33 ++++++++++++++++++ server.cfg | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 160 insertions(+) create mode 100644 .travis.yml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 server.cfg diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..5b5050d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,8 @@ +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" \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a6e2b23 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..b2ef4d1 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# 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 + diff --git a/server.cfg b/server.cfg new file mode 100644 index 0000000..0c5a0a0 --- /dev/null +++ b/server.cfg @@ -0,0 +1,98 @@ +// 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 \ No newline at end of file