├── .gitignore ├── etc ├── cfg │ ├── emptymapcycle.txt │ ├── rgl_6s_koth_match.cfg │ ├── rgl_6s_5cp_match.cfg │ ├── rgl_6s_5cp_cups.cfg │ ├── rgl_whitelist_6s.txt │ ├── rgl_whitelist_7s.txt │ ├── rgl_whitelist_HL.txt │ ├── rgl_whitelist_mm.txt │ ├── rgl_whitelist_pt.txt │ ├── rgl_whitelist_ud.txt │ ├── rgl_whitelist_6s_cups.txt │ ├── rgl_6s_koth_pro.cfg │ ├── rgl_ud_ultiduo.cfg │ ├── rgl_6s_koth_bo5.cfg │ ├── rgl_pt_push.cfg │ ├── rgl_7s_koth_bo5.cfg │ ├── rgl_HL_koth_bo5.cfg │ ├── rgl_mm_koth_bo5.cfg │ ├── rgl_7s_stopwatch.cfg │ ├── rgl_HL_stopwatch.cfg │ ├── rgl_mm_stopwatch.cfg │ ├── rgl_6s_koth.cfg │ ├── rgl_6s_koth_scrim.cfg │ ├── rgl_7s_koth.cfg │ ├── rgl_HL_koth.cfg │ ├── rgl_mm_koth.cfg │ ├── rgl_pt_custom.cfg │ ├── rgl_6s_custom.cfg │ ├── rgl_7s_custom.cfg │ ├── rgl_mm_5cp.cfg │ ├── rgl_HL_custom.cfg │ ├── rgl_any_custom.cfg │ ├── rgl_mm_custom.cfg │ ├── ugc_6v_stopwatch.cfg │ ├── ugc_6v_standard.cfg │ ├── ugc_6v_koth.cfg │ ├── ugc_6v_golden.cfg │ ├── rgl_6s_5cp_scrim.cfg │ ├── ugc_6v_standard_overtime.cfg │ ├── rgl_ud_base.cfg │ ├── ugc_6v_koth_overtime.cfg │ ├── rgl_mm_base.cfg │ ├── rgl_6s_koth_match_tf2halftime.cfg │ ├── rgl_7s_base.cfg │ ├── rgl_HL_base.cfg │ ├── rgl_6s_base.cfg │ ├── rgl_6s_5cp_gc.cfg │ ├── rgl_6s_5cp_match_half1.cfg │ ├── rgl_6s_5cp_match_pro.cfg │ ├── ugc_6v_custom.cfg │ ├── rgl_6s_5cp_match_tf2halftime.cfg │ ├── rgl_6s_5cp_match_half2.cfg │ ├── ugc_off.cfg │ ├── server.cfg │ ├── rgl_pt_base.cfg │ ├── ugc_6v_base.cfg │ ├── item_whitelist_ugc_6v6.txt │ ├── rgl_base.cfg │ └── rgl_off.cfg ├── entry.sh └── entry_x64.sh ├── .github └── FUNDING.yml ├── bookworm ├── x32 │ ├── hooks │ │ ├── push │ │ └── build │ └── Dockerfile └── x64 │ ├── hooks │ ├── push │ └── build │ └── Dockerfile ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | -------------------------------------------------------------------------------- /etc/cfg/emptymapcycle.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: CM2Walki 2 | -------------------------------------------------------------------------------- /bookworm/x32/hooks/push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker push --all-tags ${DOCKER_REPO} 3 | -------------------------------------------------------------------------------- /bookworm/x64/hooks/push: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker push --all-tags ${DOCKER_REPO} 3 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_koth_match.cfg: -------------------------------------------------------------------------------- 1 | // Config originally created September 20, 2022 2 | // This is a dummy config file to replace the previously used config file 3 | 4 | say "This config is now deprecated, please use the following configs instead" 5 | say "rgl_6s_koth - for RGL 6s KOTH Matches, 2 halves, first to 4 (NC-Adv)" 6 | say "rgl_6s_koth_pro - for RGL 6s KOTH Matches, 1 half, winlimit 4 (Invite+)" 7 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_5cp_match.cfg: -------------------------------------------------------------------------------- 1 | 2 | // Config originally created September 20, 2022 3 | // This is a dummy config file to replace the previously used config file 4 | 5 | say "This config is now deprecated, please use the following configs instead" 6 | say "rgl_6s_5cp_match_half1 - for RGL 6s 5CP Matches, 2 havles, 5mins round timer (NC-Adv)" 7 | say "rgl_6s_5cp_match_pro - for RGL 6s 5CP Matches using Improved Match Timer, 5mins round timer, 1 half winlimit 5 (Invite+)" -------------------------------------------------------------------------------- /bookworm/x64/hooks/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | BUILD_PATH=$(echo ${DOCKERFILE_PATH} | sed 's#/#..#g' | sed 's#[a-zA-Z0-9]\+#/#g' | cut -c 2- ) 3 | 4 | docker build --target=bookworm-base -f "$(basename ${DOCKERFILE_PATH})" -t $DOCKER_REPO:latest-x64 -t $DOCKER_REPO:base-x64 ${BUILD_PATH}. 5 | docker build --target=bookworm-metamod -f "$(basename ${DOCKERFILE_PATH})" -t $DOCKER_REPO:metamod-x64 ${BUILD_PATH}. 6 | docker build --target=bookworm-sourcemod -f "$(basename ${DOCKERFILE_PATH})" -t $DOCKER_REPO:sourcemod-x64 ${BUILD_PATH}. 7 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_5cp_cups.cfg: -------------------------------------------------------------------------------- 1 | // Cups config for RGL 6s 2 | // Config originally created December 13, 2023 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | mp_tournament_whitelist "cfg/rgl_whitelist_6s_cups.txt" // sets whitelist 6 | 7 | mp_tournament_restart // restarts the tournament to apply above settings 8 | sm_whitelist_id "14183" // downloads latest whitelist using Sourcemod Whitelist Downloader 9 | tftrue_whitelist_id "14183" // sets tftrue whitelist if you have tftrue installed 10 | 11 | say "RGL 6s Cups Config Executed." -------------------------------------------------------------------------------- /bookworm/x32/hooks/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | BUILD_PATH=$(echo ${DOCKERFILE_PATH} | sed 's#/#..#g' | sed 's#[a-zA-Z0-9]\+#/#g' | cut -c 2- ) 3 | 4 | docker build --target=bookworm-base -f "$(basename ${DOCKERFILE_PATH})" -t $DOCKER_REPO:latest -t $DOCKER_REPO:latest-x32 -t $DOCKER_REPO:base-x32 -t $DOCKER_REPO:base "${BUILD_PATH}". 5 | docker build --target=bookworm-metamod -f "$(basename ${DOCKERFILE_PATH})" -t $DOCKER_REPO:metamod -t $DOCKER_REPO:metamod-x32 "${BUILD_PATH}". 6 | docker build --target=bookworm-sourcemod -f "$(basename ${DOCKERFILE_PATH})" -t $DOCKER_REPO:sourcemod -t $DOCKER_REPO:sourcemod-x32 "${BUILD_PATH}". 7 | -------------------------------------------------------------------------------- /etc/cfg/rgl_whitelist_6s.txt: -------------------------------------------------------------------------------- 1 | This is just a placeholder file meant for development builds. The correct files are AUTOMATICALLY included in the release builds of the plugin. 2 | 3 | If you have this file downloaded, then you did not properly follow the instructions listed in the README.md: https://github.com/RGLgg/server-resources-updater/blob/master/README.md 4 | 5 | Please get the server-resources-udpater.zip file from here: https://github.com/RGLgg/server-resources-updater/releases/latest 6 | 7 | If you want to check to see what the latest whitelist being used by the plugin is, you can find them here: https://github.com/RGLgg/server-resources-updater/tree/updater/cfg 8 | -------------------------------------------------------------------------------- /etc/cfg/rgl_whitelist_7s.txt: -------------------------------------------------------------------------------- 1 | This is just a placeholder file meant for development builds. The correct files are AUTOMATICALLY included in the release builds of the plugin. 2 | 3 | If you have this file downloaded, then you did not properly follow the instructions listed in the README.md: https://github.com/RGLgg/server-resources-updater/blob/master/README.md 4 | 5 | Please get the server-resources-udpater.zip file from here: https://github.com/RGLgg/server-resources-updater/releases/latest 6 | 7 | If you want to check to see what the latest whitelist being used by the plugin is, you can find them here: https://github.com/RGLgg/server-resources-updater/tree/updater/cfg 8 | -------------------------------------------------------------------------------- /etc/cfg/rgl_whitelist_HL.txt: -------------------------------------------------------------------------------- 1 | This is just a placeholder file meant for development builds. The correct files are AUTOMATICALLY included in the release builds of the plugin. 2 | 3 | If you have this file downloaded, then you did not properly follow the instructions listed in the README.md: https://github.com/RGLgg/server-resources-updater/blob/master/README.md 4 | 5 | Please get the server-resources-udpater.zip file from here: https://github.com/RGLgg/server-resources-updater/releases/latest 6 | 7 | If you want to check to see what the latest whitelist being used by the plugin is, you can find them here: https://github.com/RGLgg/server-resources-updater/tree/updater/cfg 8 | -------------------------------------------------------------------------------- /etc/cfg/rgl_whitelist_mm.txt: -------------------------------------------------------------------------------- 1 | This is just a placeholder file meant for development builds. The correct files are AUTOMATICALLY included in the release builds of the plugin. 2 | 3 | If you have this file downloaded, then you did not properly follow the instructions listed in the README.md: https://github.com/RGLgg/server-resources-updater/blob/master/README.md 4 | 5 | Please get the server-resources-udpater.zip file from here: https://github.com/RGLgg/server-resources-updater/releases/latest 6 | 7 | If you want to check to see what the latest whitelist being used by the plugin is, you can find them here: https://github.com/RGLgg/server-resources-updater/tree/updater/cfg 8 | -------------------------------------------------------------------------------- /etc/cfg/rgl_whitelist_pt.txt: -------------------------------------------------------------------------------- 1 | This is just a placeholder file meant for development builds. The correct files are AUTOMATICALLY included in the release builds of the plugin. 2 | 3 | If you have this file downloaded, then you did not properly follow the instructions listed in the README.md: https://github.com/RGLgg/server-resources-updater/blob/master/README.md 4 | 5 | Please get the server-resources-udpater.zip file from here: https://github.com/RGLgg/server-resources-updater/releases/latest 6 | 7 | If you want to check to see what the latest whitelist being used by the plugin is, you can find them here: https://github.com/RGLgg/server-resources-updater/tree/updater/cfg 8 | -------------------------------------------------------------------------------- /etc/cfg/rgl_whitelist_ud.txt: -------------------------------------------------------------------------------- 1 | This is just a placeholder file meant for development builds. The correct files are AUTOMATICALLY included in the release builds of the plugin. 2 | 3 | If you have this file downloaded, then you did not properly follow the instructions listed in the README.md: https://github.com/RGLgg/server-resources-updater/blob/master/README.md 4 | 5 | Please get the server-resources-udpater.zip file from here: https://github.com/RGLgg/server-resources-updater/releases/latest 6 | 7 | If you want to check to see what the latest whitelist being used by the plugin is, you can find them here: https://github.com/RGLgg/server-resources-updater/tree/updater/cfg 8 | -------------------------------------------------------------------------------- /etc/cfg/rgl_whitelist_6s_cups.txt: -------------------------------------------------------------------------------- 1 | This is just a placeholder file meant for development builds. The correct files are AUTOMATICALLY included in the release builds of the plugin. 2 | 3 | If you have this file downloaded, then you did not properly follow the instructions listed in the README.md: https://github.com/RGLgg/server-resources-updater/blob/master/README.md 4 | 5 | Please get the server-resources-udpater.zip file from here: https://github.com/RGLgg/server-resources-updater/releases/latest 6 | 7 | If you want to check to see what the latest whitelist being used by the plugin is, you can find them here: https://github.com/RGLgg/server-resources-updater/tree/updater/cfg 8 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_koth_pro.cfg: -------------------------------------------------------------------------------- 1 | // KoTH Pro config for RGL 6s 2 | // Config originally created September 20, 2022 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_6s_base" 6 | 7 | servercfgfile "rgl_6s_koth_pro" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "4" // sets number of wins to win each half to 2 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL 6s KoTH Pro Config Executed." 18 | say "First to 4 wins the match." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_ud_ultiduo.cfg: -------------------------------------------------------------------------------- 1 | // Push config for RGL Ultiduo 2 | // Config originally created July 23, 2023 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_ud_base" 6 | 7 | servercfgfile "rgl_ud_push" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "2" // unsets server winlimit 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // sets maxrounds to 0 13 | mp_tournament_stopwatch "0" // sets stopwatch mode if applicable 14 | 15 | 16 | say "RGL Ultiduo Config Executed." 17 | say "First to win 2 rounds the match. First to 5 scores wins a round." 18 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 19 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_koth_bo5.cfg: -------------------------------------------------------------------------------- 1 | // KoTH Bo5 config for RGL 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_6s_base" 6 | 7 | servercfgfile "rgl_6s_koth_bo5" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "3" // sets # of wins to win the game to 3 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL 6s KoTH Config Executed." 18 | say "First to 3 wins the match. No halftime." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_pt_push.cfg: -------------------------------------------------------------------------------- 1 | // Push config for RGL Fours Pass Time 2 | // Config originally created July 23, 2023 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_pt_base" 6 | 7 | servercfgfile "rgl_pt_push" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "3" // unsets server winlimit 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // sets maxrounds to 2 13 | 14 | 15 | mp_tournament_restart // restarts the tournament to apply above settings 16 | 17 | 18 | say "RGL Fours Pass Time Push Config Executed." 19 | say "First to win 2 rounds wins the match. First to 5 scores wins a round." 20 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 21 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_7s_koth_bo5.cfg: -------------------------------------------------------------------------------- 1 | // KoTH Bo5 config for RGL Prolander 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_7s_base" 6 | 7 | servercfgfile "rgl_7s_koth_bo5" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "3" // sets number of wins to win the game to 3 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL Prolander KoTH Config Executed." 18 | say "First to 3 wins the match. No halftime." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_HL_koth_bo5.cfg: -------------------------------------------------------------------------------- 1 | // KoTH Bo5 config for RGL Highlander 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_HL_base" 6 | 7 | servercfgfile "rgl_HL_koth_bo5" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "3" // sets number of wins to win the game to 3 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL Highlander KoTH Config Executed." 18 | say "First to 3 wins the match. No halftime." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_mm_koth_bo5.cfg: -------------------------------------------------------------------------------- 1 | // KoTH Bo5 config for RGL No Restriction 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_mm_base" 6 | 7 | servercfgfile "rgl_mm_koth_bo5" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "3" // sets number of wins to win the game to 3 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL No Restriction 6s KoTH Config Executed." 18 | say "First to 3 wins the match. No halftime." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_7s_stopwatch.cfg: -------------------------------------------------------------------------------- 1 | // Stopwatch config for RGL Prolander 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_7s_base" 6 | 7 | servercfgfile "rgl_7s_stopwatch" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "0" // unsets server winlimit 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "2" // sets maxrounds to 2 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | say "RGL Prolander Stopwatch Config Executed." 17 | say "First to win 2 out of 3 halves wins the match. Half every 2 rounds." 18 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 19 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_HL_stopwatch.cfg: -------------------------------------------------------------------------------- 1 | // Stopwatch config for RGL Highlander 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_HL_base" 6 | 7 | servercfgfile "rgl_HL_stopwatch" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "0" // unsets server winlimit 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "2" // sets maxrounds to 2 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL Highlander Stopwatch Config Executed." 18 | say "First to win 2 out of 3 halves wins the match. Half every 2 rounds." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_mm_stopwatch.cfg: -------------------------------------------------------------------------------- 1 | // Stopwatch config for RGL No Restriction 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_mm_base" 6 | 7 | servercfgfile "rgl_mm_stopwatch" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "0" // unsets server winlimit 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "2" // sets maxrounds to 2 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL No Restriction 6s Stopwatch Config Executed." 18 | say "First to win 2 out of 3 halves wins the match. Half every 2 rounds." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_koth.cfg: -------------------------------------------------------------------------------- 1 | // KoTH Scrim config for RGL 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_6s_base" 6 | 7 | servercfgfile "rgl_6s_koth" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "2" // sets number of wins to win each half to 2 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL 6s KoTH Scrim/No Plugin Config Executed." 18 | say "First to 2 wins the match." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "You will need to reexec this config after a team wins a total of 2 rounds." 21 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_koth_scrim.cfg: -------------------------------------------------------------------------------- 1 | // koth config for RGL 6s scrims 2 | // Config originally created July 7th, 2020. 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_6s_base" 6 | 7 | servercfgfile "rgl_6s_koth_scrim" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // sets server timelimit to infinity! 10 | mp_winlimit "3" // sets number of wins to win the scrim to 3 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL 6s KoTH Scrim Config Executed." 18 | say "First to 3 wins! No halftime." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "To end the game early for whatever reason, simply reexec this config." 21 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_7s_koth.cfg: -------------------------------------------------------------------------------- 1 | // KoTH config for RGL Prolander 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_7s_base" 6 | 7 | servercfgfile "rgl_7s_koth" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "2" // sets number of wins to win each half to 2 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL 6s KoTH Config Executed." 18 | say "First to 4 wins the match. Half every 3 rounds." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "You will need to reexec this config after a team wins a total of 4 rounds." 21 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_HL_koth.cfg: -------------------------------------------------------------------------------- 1 | // KoTH config for RGL Highlander 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_HL_base" 6 | 7 | servercfgfile "rgl_HL_koth" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "2" // sets number of wins to win each half to 2 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL Highlander KoTH Config Executed." 18 | say "First to 4 wins the match. Half every 2 rounds." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "You will need to reexec this config after a team wins a total of 4 rounds." 21 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_mm_koth.cfg: -------------------------------------------------------------------------------- 1 | // KoTH config for RGL No Restriction 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_mm_base" 6 | 7 | servercfgfile "rgl_mm_koth" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "2" // sets number of wins to win each half to 2 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | mp_tournament_restart // restarts the tournament to apply above settings 15 | 16 | 17 | say "RGL No Restriction 6s KoTH Config Executed." 18 | say "First to 4 wins the match. Half every 2 rounds." 19 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 20 | say "You will need to reexec this config after a team wins a total of 4 rounds." 21 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_pt_custom.cfg: -------------------------------------------------------------------------------- 1 | // Push config for RGL Fours Pass Time 2 | // Config originally created July 23, 2023 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | //tv_maxclients "5" // source tv max clients. set it to something reasonable. default is most likely fine!! 6 | // tv_autorecord 1 // remove the two slashes at the very beginning of this line if you use a sourcemod plugin to autorecord stvs. 7 | 8 | // hostname "RGL Fours PASS Time Match" // server name in server browser. change this if you want 9 | // tv_name "RGL 4s PASS Time Match (STV)" // stv name in scoreboard and stv name in stv server browser 10 | // tv_port "27020" // STV port, uncomment and change it if you need to 11 | 12 | // sv_password "changeme" // server password. uncomment and set to whatever you want to have a custom password only for competitive matches >>>passwords are required for matches<<< 13 | // tv_password "changeme" // STV password, uncomment and set to whatever you want so randoms can't join your STV without a password -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_custom.cfg: -------------------------------------------------------------------------------- 1 | // custom user options config for RGL 6s 2 | // Config originally created May 11, 2019 -- Updated May 22, 2020 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | // tv_maxclients "5" // source tv max clients. set it to something reasonable. default is most likely fine!! 6 | // tv_autorecord 1 // remove the two slashes at the very beginning of this line if you use a sourcemod plugin to autorecord stvs. 7 | 8 | // hostname "RGL 6s Match" // server name in server browser. change this if you want 9 | // tv_name "RGL 6s Match (STV)" // stv name in scoreboard and stv name in stv server browser 10 | // tv_port "27020" // STV port, uncomment and change it if you need to 11 | 12 | // sv_password "changeme" // server password. uncomment and set to whatever you want to have a custom password only for competitive matches >>>passwords are required for matches<<< 13 | // tv_password "changeme" // STV password, uncomment and set to whatever you want so randoms can't join your STV without a password -------------------------------------------------------------------------------- /etc/cfg/rgl_7s_custom.cfg: -------------------------------------------------------------------------------- 1 | // custom user options config for RGL Prolander 2 | // Config originally created May 11, 2019 -- Updated May 22, 2020 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | //tv_maxclients "5" // source tv max clients. set it to something reasonable. default is most likely fine!! 6 | // tv_autorecord 1 // remove the two slashes at the very beginning of this line if you use a sourcemod plugin to autorecord stvs. 7 | 8 | // hostname "RGL Prolander Match" // server name in server browser. change this if you want 9 | // tv_name "RGL Prolander Match (STV)" // stv name in scoreboard and stv name in stv server browser 10 | // tv_port "27020" // STV port, uncomment and change it if you need to 11 | 12 | // sv_password "changeme" // server password. uncomment and set to whatever you want to have a custom password only for competitive matches >>>passwords are required for matches<<< 13 | // tv_password "changeme" // STV password, uncomment and set to whatever you want so randoms can't join your STV without a password -------------------------------------------------------------------------------- /etc/cfg/rgl_mm_5cp.cfg: -------------------------------------------------------------------------------- 1 | // 5cp config for RGL No Restriction 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_mm_base" 6 | 7 | servercfgfile "rgl_mm_5cp" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | 10 | mp_timelimit "0" // sets server timelimit to 30 minutes 11 | mp_winlimit "4" // sets number of wins to win the game to 4 12 | mp_windifference "0" // unsets windifference 13 | mp_maxrounds "0" // unsets maxrounds 14 | 15 | mp_tournament_restart // restarts the tournament to apply above settings 16 | 17 | 18 | say "RGL No Restriction 6s 5cp Config Executed." 19 | say "First to 4 wins! There is no timelimit." 20 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 21 | say "To end the game early for whatever reason, simply reexec this config." 22 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_HL_custom.cfg: -------------------------------------------------------------------------------- 1 | // custom user options config for RGL Highlander 2 | // Config originally created May 11, 2019 -- Updated May 22, 2020 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | //tv_maxclients "5" // source tv max clients. set it to something reasonable. default is most likely fine!! 6 | // tv_autorecord 1 // remove the two slashes at the very beginning of this line if you use a sourcemod plugin to autorecord stvs. 7 | 8 | // hostname "RGL Highlander Match" // server name in server browser. change this if you want 9 | // tv_name "RGL Highlander Match (STV)" // stv name in scoreboard and stv name in stv server browser 10 | // tv_port "27020" // STV port, uncomment and change it if you need to 11 | 12 | // sv_password "changeme" // server password. uncomment and set to whatever you want to have a custom password only for competitive matches >>>passwords are required for matches<<< 13 | // tv_password "changeme" // STV password, uncomment and set to whatever you want so randoms can't join your STV without a password -------------------------------------------------------------------------------- /etc/cfg/rgl_any_custom.cfg: -------------------------------------------------------------------------------- 1 | // custom user options config for any RGL gamemode 2 | // Config originally created May 11, 2019 -- Updated May 22, 2020 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | //tv_maxclients "5" // source tv max clients. set it to something reasonable. default is most likely fine!! 6 | // tv_autorecord 1 // remove the two slashes at the very beginning of this line if you use a sourcemod plugin to autorecord stvs. 7 | 8 | // hostname "RGL Prolander Match" // server name in server browser. change this if you want 9 | // tv_name "RGL Prolander Match (STV)" // stv name in scoreboard and stv name in stv server browser 10 | // tv_port "27020" // STV port, uncomment and change it if you need to 11 | 12 | // sv_password "changeme" // server password. uncomment and set to whatever you want to have a custom password only for competitive matches >>>passwords are required for matches<<< 13 | // tv_password "changeme" // STV password, uncomment and set to whatever you want so randoms can't join your STV without a password -------------------------------------------------------------------------------- /etc/cfg/rgl_mm_custom.cfg: -------------------------------------------------------------------------------- 1 | // custom user options config for RGL No Restrictions 6s 2 | // Config originally created May 11, 2019 -- Updated May 22, 2020 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | //tv_maxclients "5" // source tv max clients. set it to something reasonable. default is most likely fine!! 6 | // tv_autorecord 1 // remove the two slashes at the very beginning of this line if you use a sourcemod plugin to autorecord stvs. 7 | 8 | // hostname "RGL NR 6s Match" // server name in server browser. change this if you want 9 | // tv_name "RGL NR 6s Match (STV)" // stv name in scoreboard and stv name in stv server browser 10 | // tv_port "27020" // STV port, uncomment and change it if you need to 11 | 12 | // sv_password "changeme" // server password. uncomment and set to whatever you want to have a custom password only for competitive matches >>>passwords are required for matches<<< 13 | // tv_password "changeme" // STV password, uncomment and set to whatever you want so randoms can't join your STV without a password -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Walentin L. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /etc/cfg/ugc_6v_stopwatch.cfg: -------------------------------------------------------------------------------- 1 | //=== UGC 6vs6 TF2 MATCH Config 2 | //=== v.09-19-20 3 | //=== UPDATED by Kumori Sept 19, 2020 4 | //=== THIS CONFIG IS FOR STOPWATCH type Maps 5 | //=== Execute this CFG to start the match on Attack-Defend Maps like cp_gravelpit, pl_badwater 6 | //=== At match end, exec ugc_off.cfg to reset the server to your normal setup 7 | //=== Sets the league config as server default for duration of match 8 | //=== Need Help! go to http://ugcleague.com/contact_us.cfm to fine a way to contact us. 9 | 10 | //=== used for pure 2 player file consistency enforcement on all players on server 11 | servercfgfile "ugc_6v_stopwatch.cfg" 12 | 13 | //== Loads Basic League Settings and Custom cfg settings 14 | exec "ugc_6v_base.cfg" 15 | 16 | //=== Gameplay Settings for Payload & Attack-Defend type maps === 17 | mp_winlimit "0" 18 | mp_maxrounds "2" 19 | mp_timelimit "0" 20 | mp_tournament_stopwatch "1" 21 | 22 | mp_tournament_restart 23 | 24 | say "UGC TF2 6v6 Stopwatch cfg v.05-07-14 executed, reload map once before start" 25 | Say "Payload & Attack-Defend Map Rules = Winner is best 2/3 Stopwatch Halves" 26 | say "Exec ugc_off.cfg at match end to reset server." -------------------------------------------------------------------------------- /etc/cfg/ugc_6v_standard.cfg: -------------------------------------------------------------------------------- 1 | //=== UGC 6vs6 TF2 MATCH Config 2 | //=== v.09-19-20 3 | //=== UPDATED by Kumori Sept 19, 2020 4 | //=== This CONFIG IS FOR Standard CP MAP types 5 | //=== Execute this cfg to start matches on CP maps like cp_granary. 6 | //=== At match end, exec ugc_off.cfg to reset the server to your normal setup 7 | //=== Sets the league config as server default for duration of match 8 | //=== Need Help! go to http://ugcleague.com/contact_us.cfm to fine a way to contact us. 9 | 10 | //=== used for pure 2 player file consistency enforcement on all players on server 11 | servercfgfile "ugc_6v_standard.cfg" 12 | 13 | //== Loads Basic League Settings and Custom cfg settings 14 | exec "ugc_6v_base.cfg" 15 | 16 | //=== Gameplay Settings for Standard type maps === 17 | mp_winlimit "4" 18 | mp_maxrounds "0" 19 | mp_timelimit "30" 20 | mp_tournament_stopwatch "0" 21 | 22 | mp_tournament_restart 23 | 24 | say "UGC TF2 6v6 Standard cfg v.05-07-14 executed, reload map once before start" 25 | say "CP Rules - Match Winner is first to reach 5 TOTAL Caps" 26 | say "CP Rules - Max 4 caps or 30 mins allowed in round 1" 27 | say "Exec ugc_off.cfg at match end to reset server." -------------------------------------------------------------------------------- /etc/cfg/ugc_6v_koth.cfg: -------------------------------------------------------------------------------- 1 | //=== UGC 6vs6 TF2 MATCH Config 2 | //=== v.09-19-20 3 | //=== UPDATED by Kumori Sept 19, 2020 4 | //=== THIS CONFIG IS FOR King of the Hill MAP types 5 | //=== Execute this cfg to start matches on King of the Hill maps like koth_viaduct. 6 | //=== At match end, exec ugc_off.cfg to reset the server to your normal setup 7 | //=== Sets the league config as server default for duration of match 8 | //=== Need Help! go to http://ugcleague.com/contact_us.cfm to fine a way to contact us. 9 | 10 | //=== used for pure 2 player file consistency enforcement on all players on server 11 | servercfgfile "ugc_6v_koth.cfg" 12 | 13 | //== Loads Basic League Settings and Custom cfg settings 14 | exec "ugc_6v_base.cfg" 15 | 16 | //=== Gameplay Settings for King of the Hill type maps === 17 | mp_winlimit "3" 18 | mp_maxrounds "0" 19 | mp_timelimit "0" 20 | mp_tournament_stopwatch "0" 21 | 22 | mp_tournament_restart 23 | 24 | say "UGC TF2 6v6 KOTH cfg v.05-07-14, reload map once before start" 25 | say "King of the Hill Rules - Winner is first to reach 4 TOTAL Caps" 26 | say "King of the Hill Rules - Max 3 caps allowed in round 1" 27 | say "Exec ugc_off.cfg at match end to reset server." -------------------------------------------------------------------------------- /etc/cfg/ugc_6v_golden.cfg: -------------------------------------------------------------------------------- 1 | //=== UGC 6vs6 TF2 MATCH Config 2 | //=== v.09-19-20 3 | //=== UPDATED by Kumori Sept 19, 2020 4 | //=== THIS CONFIG IS FOR Standard CP MAP types 5 | //=== Execute this cfg to start matches on CP maps like cp_granary. 6 | //=== At match end, exec ugc_off.cfg to reset the server to your normal setup 7 | //=== Sets the league config as server default for duration of match 8 | //=== Need Help! go to http://ugcleague.com/contact_us.cfm to fine a way to contact us. 9 | 10 | //=== used for pure 2 player file consistency enforcement on all players on server 11 | servercfgfile "ugc_6v_golden.cfg" 12 | 13 | //== Loads Basic League Settings and Custom cfg settings 14 | exec "ugc_6v_base.cfg" 15 | 16 | //=== Gameplay Settings for Standard type maps === 17 | mp_winlimit "1" 18 | mp_maxrounds "0" 19 | mp_timelimit "10" 20 | mp_tournament_stopwatch "0" 21 | 22 | mp_tournament_restart 23 | 24 | say "UGC TF2 6v6 Golden cfg v.05-07-14 executed, reload map once before start" 25 | say "Golden Rules - Max 1 capture or team with mid capture in 10 minutes wins" 26 | say "Overtime! If match scores should be tied after 2 halves. Next Round Wins the Match" 27 | say "Exec ugc_off.cfg at match end to reset server." 28 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_5cp_scrim.cfg: -------------------------------------------------------------------------------- 1 | // 5cp config for RGL 6s scrims 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2019 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_6s_base" 6 | 7 | servercfgfile "rgl_6s_5cp_scrim" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | sm plugins load disabled/roundtimer_override // loads roundtimer_override 10 | sm plugins load roundtimer_override // loads roundtimer_override 11 | 12 | mp_timelimit "30" // sets server timelimit to 30 minutes 13 | mp_winlimit "5" // sets number of wins to win the scrim to 5 14 | mp_windifference "0" // unsets windifference 15 | mp_maxrounds "0" // unsets maxrounds 16 | 17 | round_time_override "240" // sets round timer to 4 minutes 18 | 19 | mp_tournament_restart // restarts the tournament to apply above settings 20 | 21 | 22 | say "RGL 6s 5cp Scrim Config Executed." 23 | say "First to 5 wins! No halftime." 24 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 25 | say "To end the game early for whatever reason, simply reexec this config." 26 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." 27 | -------------------------------------------------------------------------------- /etc/cfg/ugc_6v_standard_overtime.cfg: -------------------------------------------------------------------------------- 1 | //=== UGC 6vs6 TF2 MATCH Config 2 | //=== v.09-19-20 3 | //=== UPDATED by Kumori Sept 19, 2020 4 | //=== This CONFIG IS FOR Standard CP MAP types 5 | //=== Execute this cfg to start matches on CP maps like cp_granary. 6 | //=== At match end, exec ugc_off.cfg to reset the server to your normal setup 7 | //=== Sets the league config as server default for duration of match 8 | //=== Need Help! go to http://ugcleague.com/contact_us.cfm to fine a way to contact us. 9 | 10 | //=== used for pure 2 player file consistency enforcement on all players on server 11 | servercfgfile "ugc_6v_standard_overtime.cfg" 12 | 13 | //== Loads Basic League Settings and Custom cfg settings 14 | exec "ugc_6v_base.cfg" 15 | 16 | //=== Gameplay Settings for Standard type maps === 17 | mp_winlimit "1" 18 | mp_maxrounds "0" 19 | mp_timelimit "30" 20 | mp_tournament_stopwatch "0" 21 | 22 | mp_tournament_restart 23 | 24 | say "UGC 6v6 TF2 Standard Overtime cfg v.05-07-14 executed, reload map once before start" 25 | say "CP Rules - Match Winner is first to reach 5 TOTAL Caps" 26 | say "CP Rules - Max 4 caps or 30 mins allowed in round 1" 27 | say "Overtime! If match scores are tied after 2 halves. Next Round Wins the Match" 28 | say "Exec ugc_off.cfg at match end to reset server." -------------------------------------------------------------------------------- /etc/cfg/rgl_ud_base.cfg: -------------------------------------------------------------------------------- 1 | // base config specifically for RGL Ultiduo 2 | // Config originally created July 23, 2023 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | exec "rgl_base" // execs base config that every gamemode shares 6 | exec "rgl_any_custom" // execs the custom settings in any_custom 7 | exec "rgl_ultiduo_custom" // execs the custom settings in mm_custom 8 | 9 | 10 | mp_tournament_whitelist "cfg/rgl_whitelist_ud.txt" // sets whitelist 11 | sm_whitelist_id "rgl_whitelist_ud" // downloads latest whitelist using Sourcemod Whitelist Downloader 12 | tftrue_whitelist_id "rgl_whitelist_ud" // sets tftrue whitelist if you have tftrue installed 13 | 14 | tf_tournament_classlimit_scout "0" // unsets class limits 15 | tf_tournament_classlimit_soldier "1" // ^ 16 | tf_tournament_classlimit_pyro "0" // ^ 17 | tf_tournament_classlimit_demoman "0" // ^ 18 | tf_tournament_classlimit_heavy "0" // ^ 19 | tf_tournament_classlimit_engineer "0" // ^ 20 | tf_tournament_classlimit_medic "1" // ^ 21 | tf_tournament_classlimit_sniper "0" // ^ 22 | tf_tournament_classlimit_spy "0" // ^ 23 | 24 | -------------------------------------------------------------------------------- /etc/cfg/ugc_6v_koth_overtime.cfg: -------------------------------------------------------------------------------- 1 | //=== UGC 6vs6 TF2 MATCH Config 2 | //=== v.09-19-20 3 | //=== UPDATED by Kumori Sept 19, 2020 4 | //=== THIS CONFIG IS FOR King of the Hill MAP types 5 | //=== Execute this cfg to start matches on King of the Hill maps like koth_viaduct. 6 | //=== At match end, exec ugc_off.cfg to reset the server to your normal setup 7 | //=== Sets the league config as server default for duration of match 8 | //=== Need Help! go to http://ugcleague.com/contact_us.cfm to fine a way to contact us. 9 | 10 | //=== used for pure 2 player file consistency enforcement on all players on server 11 | servercfgfile "ugc_6v_koth_overtime.cfg" 12 | 13 | //== Loads Basic League Settings and Custom cfg settings 14 | exec "ugc_6v_base.cfg" 15 | 16 | //=== Gameplay Settings for King of the Hill type maps === 17 | mp_winlimit "1" 18 | mp_maxrounds "0" 19 | mp_timelimit "0" 20 | mp_tournament_stopwatch "0" 21 | 22 | mp_tournament_restart 23 | 24 | say "UGC TF2 6v6 KOTH cfg v.05-07-14, reload map once before start" 25 | say "King of the Hill Rules - Winner is first to reach 4 TOTAL Caps" 26 | say "King of the Hill Rules - Max 3 caps allowed in round 1" 27 | say "Overtime! If match scores are tied after 2 halves. Next Round Wins the Match" 28 | say "Exec ugc_off.cfg at match end to reset server." -------------------------------------------------------------------------------- /etc/cfg/rgl_mm_base.cfg: -------------------------------------------------------------------------------- 1 | // base config specifically for RGL 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | exec "rgl_base" // execs base config that every gamemode shares 6 | exec "rgl_any_custom" // execs the custom settings in any_custom 7 | exec "rgl_mm_custom" // execs the custom settings in mm_custom 8 | 9 | mp_tournament_whitelist "cfg/rgl_whitelist_mm.txt" // sets whitelist 10 | sm_whitelist_id "rgl_whitelist_mm" // downloads latest whitelist using Sourcemod Whitelist Downloader 11 | tftrue_whitelist_id "rgl_whitelist_mm" // sets tftrue whitelist if you have tftrue installed 12 | 13 | tf_tournament_classlimit_scout "-1" // unsets class limits 14 | tf_tournament_classlimit_soldier "-1" // ^ 15 | tf_tournament_classlimit_pyro "-1" // ^ 16 | tf_tournament_classlimit_demoman "-1" // ^ 17 | tf_tournament_classlimit_heavy "-1" // ^ 18 | tf_tournament_classlimit_engineer "-1" // ^ 19 | tf_tournament_classlimit_medic "-1" // ^ 20 | tf_tournament_classlimit_sniper "-1" // ^ 21 | tf_tournament_classlimit_spy "-1" // ^ 22 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_koth_match_tf2halftime.cfg: -------------------------------------------------------------------------------- 1 | // KoTH Match config for RGL 6s which uses tf2halftime plugin 2 | // Config originally created May 11, 2019 -- Updated September 20, 2022 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_6s_base" 6 | 7 | servercfgfile "rgl_6s_koth_match_tf2halftime" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | mp_timelimit "0" // unsets server timelimit 10 | mp_winlimit "0" // sets # of wins to win each half to 0 (gets overridden by the plugin) 11 | mp_windifference "0" // unsets windifference 12 | mp_maxrounds "0" // unsets maxrounds 13 | 14 | sm plugins load disabled/tf2Halftime // loads tf2Halftime plugin 15 | 16 | mp_tournament_restart // restarts the tournament to apply above settings 17 | 18 | 19 | say "RGL 6s KoTH Match Config Executed." 20 | say "First to 4 wins the match. Half every 2 rounds." 21 | say "If you are execing this config, you should have the tf2Halftime plugin installed. It will manage restarting the game after conditions for a halftime have been met." 22 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 23 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_7s_base.cfg: -------------------------------------------------------------------------------- 1 | // base config specifically for RGL Prolander 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2020 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | exec "rgl_base" // execs base config that every gamemode shares 6 | exec "rgl_any_custom" // execs the custom settings in any_custom 7 | exec "rgl_7s_custom" // execs the custom settings in 7s_custom 8 | 9 | 10 | mp_tournament_whitelist "cfg/rgl_whitelist_7s.txt" // sets whitelist 11 | sm_whitelist_id "rgl_whitelist_7s" // downloads latest whitelist using Sourcemod Whitelist Downloader 12 | tftrue_whitelist_id "rgl_whitelist_7s" // sets tftrue whitelist if you have tftrue installed 13 | 14 | tf_tournament_classlimit_scout "1" // class limit of 1 for all classes 15 | tf_tournament_classlimit_soldier "1" // ^ 16 | tf_tournament_classlimit_pyro "1" // ^ 17 | tf_tournament_classlimit_demoman "1" // ^ 18 | tf_tournament_classlimit_heavy "1" // ^ 19 | tf_tournament_classlimit_engineer "1" // ^ 20 | tf_tournament_classlimit_medic "1" // ^ 21 | tf_tournament_classlimit_sniper "1" // ^ 22 | tf_tournament_classlimit_spy "1" // ^ 23 | -------------------------------------------------------------------------------- /etc/cfg/rgl_HL_base.cfg: -------------------------------------------------------------------------------- 1 | // base config specifically for RGL Highlander 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2019 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | exec "rgl_base" // execs base config that every gamemode shares 6 | exec "rgl_any_custom" // execs the custom settings in any_custom 7 | exec "rgl_HL_custom" // execs the custom settings in HL_custom 8 | 9 | mp_tournament_whitelist "cfg/rgl_whitelist_HL.txt" // sets whitelist 10 | sm_whitelist_id "rgl_whitelist_HL" // downloads latest whitelist using Sourcemod Whitelist Downloader 11 | tftrue_whitelist_id "rgl_whitelist_HL" // sets tftrue whitelist if you have tftrue installed 12 | 13 | tf_tournament_classlimit_scout "-1" // unsets class limits because it's annoying in preround 14 | tf_tournament_classlimit_soldier "-1" // ^ 15 | tf_tournament_classlimit_pyro "-1" // ^ 16 | tf_tournament_classlimit_demoman "-1" // ^ 17 | tf_tournament_classlimit_heavy "-1" // ^ 18 | tf_tournament_classlimit_engineer "-1" // ^ 19 | tf_tournament_classlimit_medic "-1" // ^ 20 | tf_tournament_classlimit_sniper "-1" // ^ 21 | tf_tournament_classlimit_spy "-1" // ^ 22 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_base.cfg: -------------------------------------------------------------------------------- 1 | // base config specifically for RGL 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2019 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | exec "rgl_base" // execs base config that every gamemode shares 6 | exec "rgl_any_custom" // execs the custom settings in any_custom 7 | exec "rgl_6s_custom" // execs the custom settings in 6s_custom 8 | 9 | 10 | mp_tournament_whitelist "cfg/rgl_whitelist_6s.txt" // sets whitelist 11 | sm_whitelist_id "rgl_whitelist_6s" // downloads latest whitelist using Sourcemod Whitelist Downloader 12 | tftrue_whitelist_id "rgl_whitelist_6s" // sets tftrue whitelist if you have tftrue installed 13 | 14 | tf_tournament_classlimit_scout "2" // 2 scouts 15 | tf_tournament_classlimit_soldier "2" // 2 soldiers 16 | tf_tournament_classlimit_pyro "2" // max 2 pyros 17 | tf_tournament_classlimit_demoman "1" // 1 demoman 18 | tf_tournament_classlimit_heavy "1" // max 1 pootis 19 | tf_tournament_classlimit_engineer "1" // max 1 engineer 20 | tf_tournament_classlimit_medic "1" // 1 medic 21 | tf_tournament_classlimit_sniper "1" // max 1 sniper 22 | tf_tournament_classlimit_spy "2" // max 2 spies 23 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_5cp_gc.cfg: -------------------------------------------------------------------------------- 1 | // 5cp GOLDEN CAP config for RGL 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2019 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | sm plugins unload disabled/tf2Halftime // unloads tf2Halftime plugin as the config manages things just fine 6 | sm plugins load disabled/roundtimer_override // loads roundtimer_override 7 | sm plugins load roundtimer_override // loads roundtimer_override 8 | 9 | // exec "rgl_6s_base" // don't need to exec base cfg again, teams don't typically changelevel after 1st/2nd half anyway 10 | 11 | servercfgfile "rgl_6s_5cp_gc" // sets server cfg to this config so that it gets autoexeced on level change (if that happens) 12 | 13 | mp_timelimit "0" // unsets server timelimit 14 | mp_winlimit "1" // sets number of wins to win the match to 1 15 | mp_windifference "0" // unsets windifference 16 | mp_maxrounds "0" // unsets maxrounds 17 | 18 | round_time_override "240" // sets round timer to 4 minutes 19 | 20 | mp_tournament_restart // restarts the tournament to apply above settings 21 | 22 | say "RGL 6s GOLDEN CAP 5cp Config Executed." 23 | say "First team to cap the other's last point wins the match. There is no time limit." 24 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." 25 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_5cp_match_half1.cfg: -------------------------------------------------------------------------------- 1 | // 5cp Match (1st Half) config for RGL 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2019 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_6s_base" 6 | 7 | servercfgfile "rgl_6s_5cp_match_half1" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | sm plugins load disabled/roundtimer_override // loads roundtimer_override 10 | sm plugins load roundtimer_override // loads roundtimer_override 11 | 12 | mp_timelimit "30" // sets server timelimit to 30 minutes 13 | mp_winlimit "3" // sets number of wins to win each half to 3 14 | mp_windifference "0" // unsets windifference 15 | mp_maxrounds "0" // unsets maxrounds 16 | 17 | round_time_override "240" // sets round timer to 4 minutes 18 | 19 | mp_tournament_restart // restarts the tournament to apply above settings 20 | 21 | 22 | say "RGL 6s 5cp Match (1st Half) Config Executed." 23 | say "First to 5 wins the match. Half every 3 rounds, or when time runs out." 24 | say "You will need to exec the second config, rgl_6s_5cp_match_half2 , after one team wins a total of 3 rounds." 25 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 26 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." 27 | -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_5cp_match_pro.cfg: -------------------------------------------------------------------------------- 1 | // 5cp Match Progressive config for RGL 6s 2 | // Config originally created September 20, 2022 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_6s_base" 6 | 7 | servercfgfile "rgl_6s_5cp_match_pro" // sets server cfg to this config so that it gets autoexeced on level change 8 | mp_tournament_whitelist "cfg/rgl_whitelist_6s.txt" // sets whitelist 9 | 10 | sm plugins load improved_match_timer // loads the improved match timer 11 | 12 | mp_timelimit "30" // sets server timelimit to 30 minutes 13 | mp_winlimit "5" // sets number of wins to win each half to 5 14 | mp_windifference "0" // unsets windifference 15 | mp_maxrounds "0" // unsets maxrounds 16 | 17 | mp_timelimit_improved "1" // enables the Improved Match Timer plugin 18 | mp_roundtime "240" // sets round timer to 4 minutes 19 | 20 | mp_tournament_restart // restarts the tournament to apply above settings 21 | 22 | say "RGL 6s 5cp Match Progressive Config Executed." 23 | say "First to 5 wins the match or if time limit is hit, the new win limit is changed to 1 + current leading score. First team to hit the new win limit wins." 24 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 25 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/ugc_6v_custom.cfg: -------------------------------------------------------------------------------- 1 | //=== UGC customizable settings - executed by map type UGC 6vs6 configs 2 | //=== v.09-19-2020 3 | //=== UPDATED by Kumori Sept 19, 2020 4 | //=== THIS CONFIG IS AUTOMATICALLY EXECUTED BY GAMEMODE-SPECIFIC CONFIGS 5 | //=== DO NOT MANUALLY EXEC THIS CFG 6 | //=== Matches are started with map type cfgs, Exmaple: ugc_6v_stopwatch.cfg 7 | //=== Need Help! go to http://ugcleague.com/contact_us.cfm to fine a way to contact us. 8 | 9 | //=== SERVER ADMIN CUSTOMIZABLE == 10 | //=== SETTTINGS HERE are customizable by the server admin. 11 | //=== Be sure you set your rcon password and any join passwords in your server.cfg 12 | 13 | //Game Server name, you may add your Clan Tag to hostname 14 | hostname "UGC 6v6 Match" 15 | 16 | //SourceTV server name, you may add your Clan Tag 17 | tv_name "UGC 6v6 Match TV" 18 | 19 | //SourceTV bot name, as it will be visible on the in-game scoreboard 20 | tv_title "UGC 6v6 Match TV" 21 | 22 | //Set autorecord, you may disable this if your server uses an autorecord SM plugin 23 | tv_autorecord "1" 24 | //NOTE: You are required to keep a copy of SourceTV demos for two weeks after a Match - disable only if you record manually. 25 | 26 | //Optional, uncomment to set to your server 'max players' limit, to prevent sourcetv from adding a player slot, set to your server's SLOT LIMIT. 27 | sv_visiblemaxplayers "-1" 28 | 29 | //Optional, set spectators on SourceTV. May be necessary for certain server providers, you may also set it to a reasonable limit of spectators, uncomment to use. 30 | //tv_maxclients "0" -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_5cp_match_tf2halftime.cfg: -------------------------------------------------------------------------------- 1 | // 5cp Match config for RGL 6s which uses tf2halftime plugin 2 | // Config originally created May 11, 2019 -- Updated September 20, 2022 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | exec "rgl_6s_base" 6 | 7 | servercfgfile "rgl_6s_5cp_match_tf2halftime" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | sm plugins load improved_match_timer // loads the improved match timer 10 | 11 | mp_timelimit "30" // sets server timelimit to 30 minutes 12 | mp_winlimit "0" // sets number of wins to win each half to 0 (gets overridden by the plugin) 13 | mp_windifference "0" // unsets windifference 14 | mp_maxrounds "0" // unsets maxrounds 15 | 16 | mp_timelimit_improved "1" // enables the Improved Match Timer plugin 17 | mp_roundtime "240" // sets round timer to 4 minutes 18 | 19 | sm plugins load disabled/tf2Halftime // loads tf2Halftime plugin 20 | 21 | mp_tournament_restart // restarts the tournament to apply above settings 22 | 23 | 24 | say "RGL 6s 5cp Match Config Executed." 25 | say "First to 5 wins the match. Half when one team reaches 3 rounds, or when time runs out." 26 | say "If you are execing this config, you should have the tf2Halftime plugin installed. It will manage restarting the game after conditions for a halftime have been met." 27 | say "To be safe, please ***CHANGELEVEL*** to reload all settings properly and prevent any crashes." 28 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." -------------------------------------------------------------------------------- /etc/cfg/rgl_6s_5cp_match_half2.cfg: -------------------------------------------------------------------------------- 1 | // 5cp Match (2nd Half) config for RGL 6s 2 | // Config originally created May 11, 2019 -- Updated February 4th, 2019 3 | // EXEC THIS MANUALLY, DO NOT EXEC THE BASE.CFG 4 | 5 | // exec "rgl_6s_base" // don't need to exec base cfg again, teams don't typically changelevel after 1st half anyway 6 | 7 | servercfgfile "rgl_6s_5cp_match_half2" // sets server cfg to this config so that it gets autoexeced on level change 8 | 9 | sm plugins load disabled/roundtimer_override // loads roundtimer_override 10 | sm plugins load roundtimer_override // loads roundtimer_override 11 | 12 | mp_timelimit "30" // sets server timelimit to 30 minutes 13 | mp_winlimit "5" // sets number of wins to win each half to 3 14 | mp_windifference "0" // unsets windifference 15 | mp_maxrounds "0" // unsets maxrounds 16 | 17 | round_time_override "240" // sets round timer to 4 minutes 18 | 19 | mp_tournament_restart // restarts the tournament to apply above settings (this is only in here as a kludge because most teams reexec this cfg to end their games instead of rgl_off) 20 | 21 | 22 | say "RGL 6s 5cp Match (2nd Half) Config Executed." 23 | say "First to 5 wins the match." 24 | say "After one team has won a total of 5 rounds, end the game by issuing a mp_tournament_restart command to the server or by reexecing this config." 25 | say "If the score is tied after 60 minutes, exec rgl_6s_5cp_gc and ready up to begin a golden cap round. 26 | say "Exec rgl_off or restart your server 90 seconds after you have fully finished playing." 27 | -------------------------------------------------------------------------------- /etc/cfg/ugc_off.cfg: -------------------------------------------------------------------------------- 1 | //=== UGC TF2 Reset Config === 2 | //=== THIS CONFIG IS USED TO REMOVE LEAGUE SETTINGS AND TO RETURN THE SERVER TO ITS DEFAULT SERVER CFG FILE 3 | 4 | //=== Stops SourceTV demo and unloads the STV bot 5 | tv_stoprecord 6 | tv_stop 7 | tv_autorecord "0" 8 | tv_enable "0" 9 | 10 | //Closes current log file and opens a new one 11 | log on 12 | 13 | //Reset to standard Valve settings 14 | sv_contact "" 15 | tv_stoprecord 16 | tv_stop 17 | tv_autorecord "0" 18 | tv_enable "0" 19 | tv_maxclients "128" 20 | tv_dispatchmode "1" 21 | 22 | mp_autoteambalance "1" 23 | mp_bonusroundtime "15" 24 | mp_chattime "10" 25 | mp_logdetail "3" 26 | mp_match_end_at_timelimit "0" 27 | mp_maxrounds "0" 28 | mp_stalemate_timelimit "240" 29 | mp_timelimit "30" 30 | mp_tournament "0" 31 | mp_tournament_stopwatch "0" 32 | mp_teams_unbalance_limit "1" 33 | mp_winlimit "0" 34 | tf_damage_disablespread "0" 35 | tf_ctf_bonus_time "10" 36 | tf_weapon_criticals "1" 37 | tf_tournament_hide_domination_icons "0" 38 | tf_tournament_classlimit_demoman "-1" 39 | tf_tournament_classlimit_engineer "-1" 40 | tf_tournament_classlimit_heavy "-1" 41 | tf_tournament_classlimit_medic "-1" 42 | tf_tournament_classlimit_pyro "-1" 43 | tf_tournament_classlimit_scout "-1" 44 | tf_tournament_classlimit_sniper "-1" 45 | tf_tournament_classlimit_soldier "-1" 46 | tf_tournament_classlimit_spy "-1" 47 | sv_allow_color_correction "1" 48 | 49 | servercfgfile "server.cfg" 50 | 51 | say "executing ugc_off.cfg - reloading your server default configuration" 52 | 53 | //=== SET ALL OF YOUR CUSTOM SERVER SETTINGS IN YOUR OWN "server.cfg" 54 | //=== LOADS your default server cfg file 55 | exec server.cfg 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /bookworm/x64/Dockerfile: -------------------------------------------------------------------------------- 1 | ########################################################### 2 | # Dockerfile that builds a TF2 Gameserver 3 | ########################################################### 4 | FROM cm2network/steamcmd:root AS build_stage 5 | 6 | LABEL maintainer="walentinlamonos@gmail.com" 7 | 8 | ENV STEAMAPPID 232250 9 | ENV STEAMAPP tf 10 | ENV STEAMAPPDIR "${HOMEDIR}/${STEAMAPP}-dedicated" 11 | 12 | COPY "etc/entry_x64.sh" "${HOMEDIR}/entry_x64.sh" 13 | COPY "etc/cfg" "${STEAMAPPDIR}/${STEAMAPP}/cfg/" 14 | 15 | RUN set -x \ 16 | # Install, update & upgrade packages 17 | && apt-get update \ 18 | && apt-get install -y --no-install-recommends --no-install-suggests \ 19 | wget=1.21.3-1+deb12u1 \ 20 | ca-certificates=20230311+deb12u1 \ 21 | zlib1g=1:1.2.13.dfsg-1 \ 22 | libncurses5=6.4-4 \ 23 | libbz2-1.0=1.0.8-5+b1 \ 24 | libtinfo5=6.4-4 \ 25 | libcurl3-gnutls=7.88.1-10+deb12u5 \ 26 | && mkdir -p "${STEAMAPPDIR}" \ 27 | # Create autoupdate config 28 | && { \ 29 | echo '@ShutdownOnFailedCommand 1'; \ 30 | echo '@NoPromptForPassword 1'; \ 31 | echo 'force_install_dir '"${STEAMAPPDIR}"''; \ 32 | echo 'login anonymous'; \ 33 | echo 'app_update '"${STEAMAPPID}"''; \ 34 | echo 'quit'; \ 35 | } > "${HOMEDIR}/${STEAMAPP}_update.txt" \ 36 | && chmod +x "${HOMEDIR}/entry_x64.sh" \ 37 | && chown -R "${USER}:${USER}" "${HOMEDIR}/entry_x64.sh" "${STEAMAPPDIR}" "${HOMEDIR}/${STEAMAPP}_update.txt" \ 38 | # Clean up 39 | && rm -rf /var/lib/apt/lists/* 40 | 41 | FROM build_stage AS bookworm-base 42 | 43 | ENV SRCDS_FPSMAX=300 \ 44 | SRCDS_TICKRATE=66 \ 45 | SRCDS_PORT=27015 \ 46 | SRCDS_TV_PORT=27020 \ 47 | SRCDS_NET_PUBLIC_ADDRESS="0" \ 48 | SRCDS_IP="0" \ 49 | SRCDS_MAXPLAYERS=16 \ 50 | SRCDS_TOKEN=0 \ 51 | SRCDS_RCONPW="changeme" \ 52 | SRCDS_PW="changeme" \ 53 | SRCDS_STARTMAP="ctf_2fort" \ 54 | SRCDS_REGION=3 \ 55 | SRCDS_HOSTNAME="New \"${STEAMAPP}\" Server" \ 56 | SRCDS_WORKSHOP_START_MAP=0 \ 57 | SRCDS_HOST_WORKSHOP_COLLECTION=0 \ 58 | SRCDS_WORKSHOP_AUTHKEY="" \ 59 | SRCDS_CFG="server.cfg" \ 60 | SRCDS_MAPCYCLE="mapcycle.txt" \ 61 | SRCDS_SECURED=1 \ 62 | SRCDS_SDR_FAKEIP=0 63 | 64 | # Switch to user 65 | USER ${USER} 66 | 67 | WORKDIR ${HOMEDIR} 68 | 69 | CMD ["bash", "entry_x64.sh"] 70 | 71 | # Expose ports 72 | EXPOSE 27015/tcp \ 73 | 27015/udp \ 74 | 27020/udp 75 | 76 | FROM bookworm-base AS bookworm-metamod 77 | 78 | ENV METAMOD_VERSION 1.12 79 | 80 | FROM bookworm-metamod AS bookworm-sourcemod 81 | 82 | ENV SOURCEMOD_VERSION 1.12 83 | -------------------------------------------------------------------------------- /bookworm/x32/Dockerfile: -------------------------------------------------------------------------------- 1 | ########################################################### 2 | # Dockerfile that builds a TF2 Gameserver 3 | ########################################################### 4 | FROM cm2network/steamcmd:root AS build_stage 5 | 6 | LABEL maintainer="walentinlamonos@gmail.com" 7 | 8 | ENV STEAMAPPID 232250 9 | ENV STEAMAPP tf 10 | ENV STEAMAPPDIR "${HOMEDIR}/${STEAMAPP}-dedicated" 11 | 12 | COPY "etc/entry.sh" "${HOMEDIR}/entry.sh" 13 | COPY "etc/cfg" "${STEAMAPPDIR}/${STEAMAPP}/cfg/" 14 | 15 | RUN set -x \ 16 | # Add i386 architecture 17 | && dpkg --add-architecture i386 \ 18 | # Install, update & upgrade packages 19 | && apt-get update \ 20 | && apt-get install -y --no-install-recommends --no-install-suggests \ 21 | wget=1.21.3-1+deb12u1 \ 22 | ca-certificates=20230311+deb12u1 \ 23 | lib32z1=1:1.2.13.dfsg-1 \ 24 | libncurses5:i386=6.4-4 \ 25 | libbz2-1.0:i386=1.0.8-5+b1 \ 26 | libtinfo5:i386=6.4-4 \ 27 | libcurl3-gnutls:i386=7.88.1-10+deb12u5 \ 28 | && mkdir -p "${STEAMAPPDIR}" \ 29 | # Create autoupdate config 30 | && { \ 31 | echo '@ShutdownOnFailedCommand 1'; \ 32 | echo '@NoPromptForPassword 1'; \ 33 | echo 'force_install_dir '"${STEAMAPPDIR}"''; \ 34 | echo 'login anonymous'; \ 35 | echo 'app_update '"${STEAMAPPID}"''; \ 36 | echo 'quit'; \ 37 | } > "${HOMEDIR}/${STEAMAPP}_update.txt" \ 38 | && chmod +x "${HOMEDIR}/entry.sh" \ 39 | && chown -R "${USER}:${USER}" "${HOMEDIR}/entry.sh" "${STEAMAPPDIR}" "${HOMEDIR}/${STEAMAPP}_update.txt" \ 40 | # Clean up 41 | && rm -rf /var/lib/apt/lists/* 42 | 43 | FROM build_stage AS bookworm-base 44 | 45 | ENV SRCDS_FPSMAX=300 \ 46 | SRCDS_TICKRATE=66 \ 47 | SRCDS_PORT=27015 \ 48 | SRCDS_TV_PORT=27020 \ 49 | SRCDS_NET_PUBLIC_ADDRESS="0" \ 50 | SRCDS_IP="0" \ 51 | SRCDS_MAXPLAYERS=16 \ 52 | SRCDS_TOKEN=0 \ 53 | SRCDS_RCONPW="changeme" \ 54 | SRCDS_PW="changeme" \ 55 | SRCDS_STARTMAP="ctf_2fort" \ 56 | SRCDS_REGION=3 \ 57 | SRCDS_HOSTNAME="New \"${STEAMAPP}\" Server" \ 58 | SRCDS_WORKSHOP_START_MAP=0 \ 59 | SRCDS_HOST_WORKSHOP_COLLECTION=0 \ 60 | SRCDS_WORKSHOP_AUTHKEY="" \ 61 | SRCDS_CFG="server.cfg" \ 62 | SRCDS_MAPCYCLE="mapcycle.txt" \ 63 | SRCDS_SECURED=1 \ 64 | SRCDS_SDR_FAKEIP=0 65 | 66 | # Switch to user 67 | USER ${USER} 68 | 69 | WORKDIR ${HOMEDIR} 70 | 71 | CMD ["bash", "entry.sh"] 72 | 73 | # Expose ports 74 | EXPOSE 27015/tcp \ 75 | 27015/udp \ 76 | 27020/udp 77 | 78 | FROM bookworm-base AS bookworm-metamod 79 | 80 | ENV METAMOD_VERSION 1.12 81 | 82 | FROM bookworm-metamod AS bookworm-sourcemod 83 | 84 | ENV SOURCEMOD_VERSION 1.12 85 | -------------------------------------------------------------------------------- /etc/entry.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | mkdir -p "${STEAMAPPDIR}" || true 3 | 4 | bash "${STEAMCMDDIR}/steamcmd.sh" +force_install_dir "${STEAMAPPDIR}" \ 5 | +login anonymous \ 6 | +app_update "${STEAMAPPID}" \ 7 | +quit 8 | 9 | # Are we in a metamod container and is the metamod folder missing? 10 | if [ ! -z "$METAMOD_VERSION" ] && [ ! -d "${STEAMAPPDIR}/${STEAMAPP}/addons/metamod" ]; then 11 | LATESTMM=$(wget -qO- https://mms.alliedmods.net/mmsdrop/"${METAMOD_VERSION}"/mmsource-latest-linux) 12 | wget -qO- https://mms.alliedmods.net/mmsdrop/"${METAMOD_VERSION}"/"${LATESTMM}" | tar xvzf - -C "${STEAMAPPDIR}/${STEAMAPP}" 13 | fi 14 | 15 | # Are we in a sourcemod container and is the sourcemod folder missing? 16 | if [ ! -z "$SOURCEMOD_VERSION" ] && [ ! -d "${STEAMAPPDIR}/${STEAMAPP}/addons/sourcemod" ]; then 17 | LATESTSM=$(wget -qO- https://sm.alliedmods.net/smdrop/"${SOURCEMOD_VERSION}"/sourcemod-latest-linux) 18 | wget -qO- https://sm.alliedmods.net/smdrop/"${SOURCEMOD_VERSION}"/"${LATESTSM}" | tar xvzf - -C "${STEAMAPPDIR}/${STEAMAPP}" 19 | fi 20 | 21 | # Is the config missing? 22 | if [ -f "${STEAMAPPDIR}/${STEAMAPP}/cfg/server.cfg" ]; then 23 | # Change hostname on first launch (you can comment this out if it has done its purpose) 24 | sed -i -e 's/{{SERVER_HOSTNAME}}/'"${SRCDS_HOSTNAME}"'/g' "${STEAMAPPDIR}/${STEAMAPP}/cfg/server.cfg" 25 | fi 26 | 27 | # Believe it or not, if you don't do this srcds_run shits itself 28 | cd "${STEAMAPPDIR}" 29 | 30 | SERVER_SECURITY_FLAG=""; 31 | 32 | if [ "$SRCDS_SECURED" -eq 0 ]; then 33 | SERVER_SECURITY_FLAG="-insecure"; 34 | fi 35 | 36 | SERVER_FAKEIP_FLAG=""; 37 | 38 | if [ "$SRCDS_SDR_FAKEIP" -eq 1 ]; then 39 | SERVER_FAKEIP_FLAG="-enablefakeip"; 40 | fi 41 | 42 | bash "${STEAMAPPDIR}/srcds_run" -game "${STEAMAPP}" -console -autoupdate \ 43 | -steam_dir "${STEAMCMDDIR}" \ 44 | -steamcmd_script "${HOMEDIR}/${STEAMAPP}_update.txt" \ 45 | -usercon \ 46 | +fps_max "${SRCDS_FPSMAX}" \ 47 | -tickrate "${SRCDS_TICKRATE}" \ 48 | -port "${SRCDS_PORT}" \ 49 | +tv_port "${SRCDS_TV_PORT}" \ 50 | +clientport "${SRCDS_CLIENT_PORT}" \ 51 | +maxplayers "${SRCDS_MAXPLAYERS}" \ 52 | +map "${SRCDS_STARTMAP}" \ 53 | +sv_setsteamaccount "${SRCDS_TOKEN}" \ 54 | +rcon_password "${SRCDS_RCONPW}" \ 55 | +sv_password "${SRCDS_PW}" \ 56 | +sv_region "${SRCDS_REGION}" \ 57 | -ip "${SRCDS_IP}" \ 58 | -authkey "${SRCDS_WORKSHOP_AUTHKEY}" \ 59 | +servercfgfile "${SRCDS_CFG}" \ 60 | +mapcyclefile "${SRCDS_MAPCYCLE}" \ 61 | ${SERVER_SECURITY_FLAG} \ 62 | ${SERVER_FAKEIP_FLAG} 63 | -------------------------------------------------------------------------------- /etc/entry_x64.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | mkdir -p "${STEAMAPPDIR}" || true 3 | 4 | bash "${STEAMCMDDIR}/steamcmd.sh" +force_install_dir "${STEAMAPPDIR}" \ 5 | +login anonymous \ 6 | +app_update "${STEAMAPPID}" \ 7 | +quit 8 | 9 | # Are we in a metamod container and is the metamod folder missing? 10 | if [ ! -z "$METAMOD_VERSION" ] && [ ! -d "${STEAMAPPDIR}/${STEAMAPP}/addons/metamod" ]; then 11 | LATESTMM=$(wget -qO- https://mms.alliedmods.net/mmsdrop/"${METAMOD_VERSION}"/mmsource-latest-linux) 12 | wget -qO- https://mms.alliedmods.net/mmsdrop/"${METAMOD_VERSION}"/"${LATESTMM}" | tar xvzf - -C "${STEAMAPPDIR}/${STEAMAPP}" 13 | fi 14 | 15 | # Are we in a sourcemod container and is the sourcemod folder missing? 16 | if [ ! -z "$SOURCEMOD_VERSION" ] && [ ! -d "${STEAMAPPDIR}/${STEAMAPP}/addons/sourcemod" ]; then 17 | LATESTSM=$(wget -qO- https://sm.alliedmods.net/smdrop/"${SOURCEMOD_VERSION}"/sourcemod-latest-linux) 18 | wget -qO- https://sm.alliedmods.net/smdrop/"${SOURCEMOD_VERSION}"/"${LATESTSM}" | tar xvzf - -C "${STEAMAPPDIR}/${STEAMAPP}" 19 | fi 20 | 21 | # Is the config missing? 22 | if [ -f "${STEAMAPPDIR}/${STEAMAPP}/cfg/server.cfg" ]; then 23 | # Change hostname on first launch (you can comment this out if it has done its purpose) 24 | sed -i -e 's/{{SERVER_HOSTNAME}}/'"${SRCDS_HOSTNAME}"'/g' "${STEAMAPPDIR}/${STEAMAPP}/cfg/server.cfg" 25 | fi 26 | 27 | # Believe it or not, if you don't do this srcds_run shits itself 28 | cd "${STEAMAPPDIR}" 29 | 30 | SERVER_SECURITY_FLAG=""; 31 | 32 | if [ "$SRCDS_SECURED" -eq 0 ]; then 33 | SERVER_SECURITY_FLAG="-insecure"; 34 | fi 35 | 36 | SERVER_FAKEIP_FLAG=""; 37 | 38 | if [ "$SRCDS_SDR_FAKEIP" -eq 1 ]; then 39 | SERVER_FAKEIP_FLAG="-enablefakeip"; 40 | fi 41 | 42 | bash "${STEAMAPPDIR}/srcds_run_64" -game "${STEAMAPP}" -console -autoupdate \ 43 | -steam_dir "${STEAMCMDDIR}" \ 44 | -steamcmd_script "${HOMEDIR}/${STEAMAPP}_update.txt" \ 45 | -usercon \ 46 | +fps_max "${SRCDS_FPSMAX}" \ 47 | -tickrate "${SRCDS_TICKRATE}" \ 48 | -port "${SRCDS_PORT}" \ 49 | +tv_port "${SRCDS_TV_PORT}" \ 50 | +clientport "${SRCDS_CLIENT_PORT}" \ 51 | +maxplayers "${SRCDS_MAXPLAYERS}" \ 52 | +map "${SRCDS_STARTMAP}" \ 53 | +sv_setsteamaccount "${SRCDS_TOKEN}" \ 54 | +rcon_password "${SRCDS_RCONPW}" \ 55 | +sv_password "${SRCDS_PW}" \ 56 | +sv_region "${SRCDS_REGION}" \ 57 | -ip "${SRCDS_IP}" \ 58 | -authkey "${SRCDS_WORKSHOP_AUTHKEY}" \ 59 | +servercfgfile "${SRCDS_CFG}" \ 60 | +mapcyclefile "${SRCDS_MAPCYCLE}" \ 61 | ${SERVER_SECURITY_FLAG} \ 62 | ${SERVER_FAKEIP_FLAG} 63 | -------------------------------------------------------------------------------- /etc/cfg/server.cfg: -------------------------------------------------------------------------------- 1 | // General Settings // 2 | 3 | // Hostname for server. 4 | hostname "{{SERVER_HOSTNAME}}" 5 | 6 | // Overrides the max players reported to prospective clients 7 | sv_visiblemaxplayers 24 8 | 9 | // Maximum number of rounds to play before server changes maps 10 | mp_maxrounds 5 11 | 12 | // Set to lock per-frame time elapse 13 | host_framerate 0 14 | 15 | // Set the pause state of the server 16 | setpause 0 17 | 18 | // Control where the client gets content from 19 | // 0 = anywhere, 1 = anywhere listed in white list, 2 = steam official content only 20 | sv_pure 0 21 | 22 | // Is the server pausable 23 | sv_pausable 0 24 | 25 | // Type of server 0=internet 1=lan 26 | sv_lan 0 27 | 28 | // Collect CPU usage stats 29 | sv_stats 1 30 | 31 | 32 | 33 | // Execute Banned Users // 34 | exec banned_user.cfg 35 | exec banned_ip.cfg 36 | writeid 37 | writeip 38 | 39 | 40 | 41 | // Contact & Region // 42 | 43 | // Contact email for server sysop 44 | sv_contact test@example.com 45 | 46 | // The region of the world to report this server in. 47 | // -1 is the world, 0 is USA east coast, 1 is USA west coast 48 | // 2 south america, 3 europe, 4 asia, 5 australia, 6 middle east, 7 africa 49 | sv_region -1 50 | 51 | 52 | 53 | // Rcon Settings // 54 | 55 | // Password for rcon authentication (Remote CONtrol) 56 | rcon_password changeme 57 | 58 | // Number of minutes to ban users who fail rcon authentication 59 | sv_rcon_banpenalty 1440 60 | 61 | // Max number of times a user can fail rcon authentication before being banned 62 | sv_rcon_maxfailures 5 63 | 64 | 65 | 66 | // Log Settings // 67 | 68 | // Enables logging to file, console, and udp < on | off >. 69 | log on 70 | 71 | // Log server information to only one file. 72 | sv_log_onefile 0 73 | 74 | // Log server information in the log file. 75 | sv_logfile 1 76 | 77 | // Log server bans in the server logs. 78 | sv_logbans 1 79 | 80 | // Echo log information to the console. 81 | sv_logecho 1 82 | 83 | 84 | 85 | // Rate Settings // 86 | 87 | // Frame rate limiter 88 | fps_max 600 89 | 90 | // Min bandwidth rate allowed on server, 0 == unlimited 91 | sv_minrate 0 92 | 93 | // Max bandwidth rate allowed on server, 0 == unlimited 94 | sv_maxrate 20000 95 | 96 | // Minimum updates per second that the server will allow 97 | sv_minupdaterate 66 98 | 99 | // Maximum updates per second that the server will allow 100 | sv_maxupdaterate 66 101 | 102 | 103 | 104 | // Download Settings // 105 | 106 | // Allow clients to upload customizations files 107 | sv_allowupload 1 108 | 109 | // Allow clients to download files 110 | sv_allowdownload 1 111 | 112 | // Maximum allowed file size for uploading in MB 113 | net_maxfilesize 15 114 | 115 | 116 | 117 | // Team Balancing // 118 | 119 | // Enable team balancing 120 | mp_autoteambalance 1 121 | 122 | // Time after the teams become unbalanced to attempt to switch players. 123 | mp_autoteambalance_delay 60 124 | 125 | // Time after the teams become unbalanced to print a balance warning 126 | mp_autoteambalance_warning_delay 30 127 | 128 | // Teams are unbalanced when one team has this many more players than the other team. (0 disables check) 129 | mp_teams_unbalance_limit 1 130 | 131 | 132 | 133 | // Round and Game Times // 134 | 135 | // Enable timers to wait between rounds. WARNING: Setting this to 0 has been known to cause a bug with setup times lasting 5:20 (5 minutes 20 seconds) on some servers! 136 | mp_enableroundwaittime 1 137 | 138 | // Time after round win until round restarts 139 | mp_bonusroundtime 8 140 | 141 | // If non-zero, the current round will restart in the specified number of seconds 142 | mp_restartround 0 143 | 144 | // Enable sudden death 145 | mp_stalemate_enable 1 146 | 147 | // Timelimit (in seconds) of the stalemate round. 148 | mp_stalemate_timelimit 300 149 | 150 | // Game time per map in minutes 151 | mp_timelimit 35 152 | 153 | 154 | 155 | // Client CVars // 156 | 157 | // Restricts spectator modes for dead players 158 | mp_forcecamera 0 159 | 160 | // Toggles whether the server allows spectator mode or not 161 | mp_allowspectators 1 162 | 163 | // Toggles footstep sounds 164 | mp_footsteps 1 165 | 166 | // Toggles game cheats 167 | sv_cheats 0 168 | 169 | // After this many seconds without a message from a client, the client is dropped 170 | sv_timeout 900 171 | 172 | // Maximum time a player is allowed to be idle (in minutes), made this and sv_timeout equal same time? 173 | mp_idlemaxtime 15 174 | 175 | // Deals with idle players 1=send to spectator 2=kick 176 | mp_idledealmethod 2 177 | 178 | // Time (seconds) between decal sprays 179 | decalfrequency 30 180 | 181 | 182 | 183 | // Communications // 184 | 185 | // enable voice communications 186 | sv_voiceenable 1 187 | 188 | // Players can hear all other players, no team restrictions 0=off 1=on 189 | sv_alltalk 0 190 | 191 | // Amount of time players can chat after the game is over 192 | mp_chattime 10 193 | 194 | // Enable party mode 195 | tf_birthday 0 196 | -------------------------------------------------------------------------------- /etc/cfg/rgl_pt_base.cfg: -------------------------------------------------------------------------------- 1 | // base config specifically for RGL Fours Pass Time 2 | // Config originally created July 23, 2023 3 | // DO NOT EXEC THIS MANUALLY 4 | 5 | exec "rgl_base" // execs base config that every gamemode shares 6 | exec "rgl_any_custom" // execs the custom settings in any_custom 7 | exec "rgl_pt_custom" // execs the custom settings in mm_custom 8 | 9 | 10 | mp_tournament_whitelist "cfg/rgl_whitelist_pt.txt" // sets whitelist 11 | sm_whitelist_id "rgl_whitelist_pt" // downloads latest whitelist using Sourcemod Whitelist Downloader 12 | tftrue_whitelist_id "rgl_whitelist_pt" // sets tftrue whitelist if you have tftrue installed 13 | 14 | tf_tournament_classlimit_scout "0" // unsets class limits 15 | tf_tournament_classlimit_soldier "3" // ^ 16 | tf_tournament_classlimit_pyro "0" // ^ 17 | tf_tournament_classlimit_demoman "1" // ^ 18 | tf_tournament_classlimit_heavy "0" // ^ 19 | tf_tournament_classlimit_engineer "0" // ^ 20 | tf_tournament_classlimit_medic "1" // ^ 21 | tf_tournament_classlimit_sniper "0" // ^ 22 | tf_tournament_classlimit_spy "0" // ^ 23 | 24 | sm_projectiles_ignore_teammates "1" // ignore projectile 25 | sm_remove_pipe_spin "1" // ignore pipe spin 26 | 27 | // Valve Defaults 28 | tf_passtime_ball_damping_scale "0.01f" 29 | tf_passtime_ball_drag_coefficient "0.01f" 30 | tf_passtime_ball_inertia_scale "1.0f" 31 | tf_passtime_ball_mass "1.0f" 32 | tf_passtime_ball_model "models/passtime/ball/passtime_ball.mdl" 33 | tf_passtime_ball_reset_time "15" 34 | tf_passtime_ball_rotdamping_scale "1.0f" 35 | tf_passtime_ball_seek_range "128" 36 | tf_passtime_ball_seek_speed_factor "3f" 37 | tf_passtime_ball_sphere_collision "1" 38 | tf_passtime_ball_sphere_radius "7.2f" 39 | tf_passtime_ball_takedamage "1" 40 | tf_passtime_ball_takedamage_force "800.0f" 41 | tf_passtime_experiment_autopass "0" 42 | tf_passtime_experiment_instapass "0" 43 | tf_passtime_experiment_instapass_charge "0" 44 | tf_passtime_experiment_telepass "0" 45 | tf_passtime_flinch_boost "0" 46 | tf_passtime_mode_homing_lock_sec "1.5f" 47 | tf_passtime_mode_homing_speed "1000.0f" 48 | tf_passtime_pack_hp_per_sec "2.0f" 49 | tf_passtime_pack_range "512" 50 | tf_passtime_pack_speed "1" 51 | tf_passtime_player_reticles_enemies "1" 52 | tf_passtime_player_reticles_friends "2" 53 | tf_passtime_powerball_decay_delay "10" 54 | tf_passtime_powerball_decayamount "1" 55 | tf_passtime_powerball_decaysec "4.5f" 56 | tf_passtime_powerball_decaysec_neutral "1.5f" 57 | tf_passtime_powerball_maxairtimebonus "100" 58 | tf_passtime_powerball_threshold "80" 59 | tf_passtime_save_stats "0" 60 | tf_passtime_scores_per_round "5.0f" 61 | tf_passtime_speedboost_on_get_ball_time "2.0f" 62 | tf_passtime_steal_on_melee "1" 63 | tf_passtime_teammate_steal_time "45" 64 | tf_passtime_throwarc_heavy "0.175f" 65 | tf_passtime_throwarc_medic "0.0f" 66 | tf_passtime_throwarc_pyro "0.1f" 67 | tf_passtime_throwarc_scout "0.1f" 68 | tf_passtime_throwarc_sniper "0.0f" 69 | tf_passtime_throwarc_soldier "0.1f" 70 | tf_passtime_throwarc_spy "0.0f" 71 | tf_passtime_throwspeed_engineer "850.0f" 72 | tf_passtime_throwspeed_heavy "850.0f" 73 | tf_passtime_throwspeed_medic "900.0f" 74 | tf_passtime_throwspeed_pyro "750.0f" 75 | tf_passtime_throwspeed_scout "700.0f" 76 | tf_passtime_throwspeed_sniper "900.0f" 77 | tf_passtime_throwspeed_soldier "800.0f" 78 | tf_passtime_throwspeed_spy "900.0f" 79 | tf_passtime_throwspeed_velocity_scale "0.33f" // How much player velocity to add when tossing (0=none 1=100%) 80 | 81 | // Custom values 82 | tf_passtime_score_crit_sec "0" 83 | tf_passtime_powerball_passpoints "0" 84 | tf_passtime_powerball_airtimebonus "0" 85 | tf_passtime_overtime_idle_sec "30" 86 | tf_passtime_throwarc_demoman "0.1f" // set demo throw arc to soldier's value 87 | tf_passtime_throwarc_engineer "0.1f" 88 | tf_passtime_throwspeed_demoman "800.0f" // set demo throw speed to soldier's value 89 | 90 | // sv_client_cmdrate_difference "30" 91 | sv_quota_stringcmdspersecond "200" // prevent players from being kicked for issuing too many commands to the server 92 | tf_passtime_overtime_idle_sec "30" // extend overtime period before round reset to allow for more interesting play 93 | 94 | //Pass time plugin 95 | sm plugins load disabled/p4sstime // loads p4sstime 96 | 97 | sm_pt_stock_blocklist "1" 98 | sm_pt_block_instant_respawn "1" 99 | sm_pt_disable_intercept_blur "1" 100 | sm_pt_disable_jack_drop_item_collision "1" 101 | sm_pt_print_events "1" 102 | sm_pt_practice "0" 103 | sm_pt_medic_can_splash "1" // allows medic to arrow the ball to make it neutral -------------------------------------------------------------------------------- /etc/cfg/ugc_6v_base.cfg: -------------------------------------------------------------------------------- 1 | //=== UGC standard league settings - executed by map type UGC 6vs6 configs 2 | //=== v.09-19-20 3 | //=== UPDATED by Kumori Sept 19 ,2020 4 | //=== THIS CONFIG IS AUTOMATICALLY EXECUTED BY GAMEMODE-SPECIFIC CONFIGS 5 | //=== DO NOT MANUALLY EXEC THIS CFG 6 | //=== Matches are started with map type cfgs, Exmaple: ugc_6v_standard.cfg 7 | //=== Need Help! go to http://ugcleague.com/contact_us.cfm to find a way to contact us. 8 | 9 | //Server Logging Parameters 10 | log on 11 | mp_logdetail "3" 12 | sv_contact "ugcleague.com/contact_us.cfm" 13 | 14 | //Load customizable settings 15 | exec "ugc_6v_custom.cfg" 16 | 17 | //Item Whitelist 18 | mp_tournament_whitelist "cfg/item_whitelist_ugc_6v6.txt" 19 | tftrue_whitelist_id item_whitelist_ugc_6v6 20 | 21 | //Required SourceTV Settings - STV recording is mandatory 22 | tv_allow_camera_man "0" 23 | tv_allow_static_shots "0" 24 | tv_chattimelimit "2" 25 | tv_delay "90" 26 | tv_delaymapchange "1" 27 | tv_delaymapchange_protect "1" 28 | tv_enable "1" 29 | tv_maxrate "0" 30 | tv_relayvoice "0" 31 | tv_snapshotrate "66" 32 | tv_timeout "30" 33 | tv_transmitall "1" 34 | 35 | //Competitive Settings 36 | tf_allow_player_use "0" 37 | tf_allow_sliding_taunt "0" 38 | tf_arena_first_blood "0" 39 | tf_arena_round_time "0" 40 | tf_arena_use_queue "0" 41 | tf_avoidteammates_pushaway "0" 42 | tf_clamp_airducks "1" 43 | tf_ctf_bonus_time "0" 44 | tf_damage_disablespread "1" 45 | tf_flag_caps_per_round "0" 46 | tf_forced_holiday "0" 47 | tf_overtime_nag "0" 48 | tf_playergib "1" 49 | tf_player_spell_drop_on_death_rate "0" 50 | tf_preround_push_from_damage_enable "1" 51 | tf_spawn_glows_duration "5" 52 | tf_spec_xray "0" 53 | tf_spells_enabled "0" 54 | tf_teamtalk "1" 55 | tf_tournament_classlimit_scout "2" 56 | tf_tournament_classlimit_soldier "2" 57 | tf_tournament_classlimit_pyro "2" 58 | tf_tournament_classlimit_demoman "1" 59 | tf_tournament_classlimit_heavy "1" 60 | tf_tournament_classlimit_engineer "1" 61 | tf_tournament_classlimit_medic "1" 62 | tf_tournament_classlimit_sniper "2" 63 | tf_tournament_classlimit_spy "2" 64 | tf_tournament_hide_domination_icons "1" 65 | tf_use_fixed_weaponspreads "1" 66 | tf_weapon_criticals "0" 67 | tf_weapon_criticals_melee "0" 68 | 69 | //Game Specific 70 | mp_allowspectators "1" 71 | mp_autocrosshair "0" 72 | mp_autoteambalance "0" 73 | mp_bonusroundtime "0" 74 | mp_chattime "10" 75 | mp_disable_respawn_times "0" 76 | mp_enableroundwaittime "1" 77 | mp_fadetoblack "0" 78 | mp_falldamage "1" 79 | mp_footsteps "1" 80 | mp_forceautoteam "0" 81 | mp_forcecamera "1" 82 | mp_forcerespawn "1" 83 | mp_fraglimit "0" 84 | mp_friendlyfire "0" 85 | mp_highlander "0" 86 | mp_idledealmethod "0" 87 | mp_idlemaxtime "0" 88 | mp_match_end_at_timelimit "1" 89 | mp_respawnwavetime "10" 90 | mp_stalemate_enable "0" 91 | mp_stalemate_timelimit "0" 92 | mp_teamplay "0" 93 | mp_teams_unbalance_limit "0" 94 | mp_time_between_capscoring "30" 95 | mp_tournament "1" 96 | mp_tournament_allow_non_admin_restart "0" 97 | mp_tournament_readymode "0" 98 | mp_tournament_readymode_countdown "10" 99 | mp_tournament_readymode_min "2" 100 | mp_tournament_readymode_team_size "5" 101 | mp_weaponstay "0" 102 | 103 | //Base Rule set overwritten in gametype configs 104 | mp_windifference "0" 105 | mp_windifference_min "0" 106 | 107 | //Server Settings 108 | decalfrequency "60" 109 | host_framerate "0" 110 | sv_allow_color_correction "0" 111 | sv_allow_voice_from_file "0" 112 | sv_allow_votes "0" 113 | sv_allow_wait_command "0" 114 | sv_allowdownload "1" 115 | sv_allowupload "0" 116 | sv_alltalk "0" 117 | sv_cacheencodedents "1" 118 | sv_cheats "0" 119 | sv_consistency "1" 120 | sv_enableoldqueries "0" 121 | sv_forcepreload "1" 122 | sv_gravity "800" 123 | sv_lan "0" 124 | sv_pausable "1" 125 | sv_pure "2" 126 | sv_pure_kick_clients "1" 127 | sv_pure_trace "1" 128 | sv_rcon_log "1" 129 | sv_showladders "0" 130 | sv_specaccelerate "5" 131 | sv_specnoclip "1" 132 | sv_specspeed "3" 133 | sv_turbophysics "1" 134 | sv_voiceenable "1" 135 | sv_vote_allow_specators "0" 136 | sv_vote_issue_changelevel_allowed "0" 137 | sv_vote_issue_kick_allowed "0" 138 | sv_vote_issue_nextlevel_allowed "0" 139 | sv_vote_issue_nextlevel_allowextend "0" 140 | sv_vote_issue_nextlevel_choicesmode "0" 141 | sv_vote_issue_restart_game_allowed "0" 142 | sv_vote_issue_scramble_teams_allowed "0" 143 | sv_vote_kick_ban_duration "0" 144 | 145 | //Network Settings 146 | sv_client_cmdrate_difference "30" 147 | sv_client_max_interp_ratio "1" 148 | sv_client_min_interp_ratio "1" 149 | sv_client_predict "1" 150 | sv_maxrate "100000" 151 | sv_maxupdaterate "66" 152 | sv_maxcmdrate "66" 153 | sv_mincmdrate "50" 154 | sv_minrate "1500" 155 | sv_minupdaterate "50" -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Code Quality](https://img.shields.io/codacy/grade/5b35c73264f446c482d8076f53845f37)](https://hub.docker.com/r/cm2network/tf2/) [![Docker Build Status](https://img.shields.io/docker/cloud/build/cm2network/tf2.svg)](https://hub.docker.com/r/cm2network/tf2/) [![Docker Stars](https://img.shields.io/docker/stars/cm2network/tf2.svg)](https://hub.docker.com/r/cm2network/tf2/) [![Docker Pulls](https://img.shields.io/docker/pulls/cm2network/tf2.svg)](https://hub.docker.com/r/cm2network/tf2/) [![](https://img.shields.io/docker/image-size/cm2network/tf2)](https://microbadger.com/images/cm2network/tf2) [![Discord](https://img.shields.io/discord/747067734029893653)](https://discord.gg/7ntmAwM) 2 | # Supported tags and respective `Dockerfile` links 3 | - [`base-x32`, `latest-x32`, `base`, `latest` (*bookworm/x32/Dockerfile*)](https://github.com/CM2Walki/TF2/blob/master/bookworm/x32/Dockerfile) 4 | - [`metamod-x32`, `metamod` (*bookworm/x32/Dockerfile*)](https://github.com/CM2Walki/TF2/blob/master/bookworm/x32/Dockerfile) 5 | - [`sourcemod-x32`, `sourcemod` (*bookworm/x32/Dockerfile*)](https://github.com/CM2Walki/TF2/blob/master/bookworm/x32/Dockerfile) 6 | - [`base-x64`, (*bookworm/x64/Dockerfile*)](https://github.com/CM2Walki/TF2/blob/master/bookworm/x64/Dockerfile) 7 | - [`metamod-x64` (*bookworm/x64/Dockerfile*)](https://github.com/CM2Walki/TF2/blob/master/bookworm/x64/Dockerfile) 8 | - [`sourcemod-x64` (*bookworm/x64/Dockerfile*)](https://github.com/CM2Walki/TF2/blob/master/bookworm/x64/Dockerfile) 9 | 10 | # What is Team Fortress 2? 11 | Nine distinct classes provide a broad range of tactical abilities and personalities. Constantly updated with new game modes, maps, equipment and, most importantly, hats! 12 | This Docker image contains the dedicated server of the game. 13 | 14 | > [TF2](https://store.steampowered.com/app/440/Team_Fortress_2/) 15 | 16 | logo 17 | 18 | # How to use this image 19 | ## Hosting a simple game server 20 | 21 | Running on the *host* interface (recommended):
22 | ```console 23 | $ docker run -d --net=host --name=tf2-dedicated -e SRCDS_TOKEN={YOURTOKEN} cm2network/tf2 24 | ``` 25 | 26 | Running using a bind mount for data persistence on container recreation: 27 | ```console 28 | $ mkdir -p $(pwd)/tf2-data 29 | $ chmod 777 $(pwd)/tf2-data # Makes sure the directory is writeable by the unprivileged container user 30 | $ docker run -d --net=host -v $(pwd)/tf2-data:/home/steam/tf-dedicated/ --name=tf2-dedicated -e SRCDS_TOKEN={YOURTOKEN} cm2network/tf2 31 | ``` 32 | 33 | Running multiple instances (increment SRCDS_PORT and SRCDS_TV_PORT): 34 | ```console 35 | $ docker run -d --net=host --name=tf2-dedicated2 -e SRCDS_PORT=27016 -e SRCDS_TV_PORT=27021 -e SRCDS_TOKEN={YOURTOKEN} cm2network/tf2 36 | ``` 37 | 38 | `SRCDS_TOKEN` **is required to be listed & reachable. Generate one here using AppID `440`:** 39 | [https://steamcommunity.com/dev/managegameservers](https://steamcommunity.com/dev/managegameservers)

40 | `SRCDS_WORKSHOP_AUTHKEY` **is required to use workshop features:** 41 | [https://steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey)
42 | 43 | **It's also recommended to use "--cpuset-cpus=" to limit the game server to a specific core & thread.**
44 | **The container will automatically update the game on startup, so if there is a game update just restart the container.** 45 | 46 | ### Using docker compose 47 | Instead of using `docker run`, you can use `docker compose` as well, which removes the need for manually running long commands or scripts, especially useful if you want multiple servers. 48 | An example docker-compose.yml is provided below. 49 | ```yaml 50 | services: 51 | tf2: 52 | # Allocates a stdin (docker run -i) 53 | stdin_open: true 54 | # Allocates a tty (docker run -t) 55 | tty: true 56 | # Max CPUs to allocate, float, so e.g. 3.5 can be set. 57 | cpus: 4 58 | # Specific CPUs to allocate, 0-3 is first 4 CPUs, "0,1,2,3" can be used as well 59 | cpuset: 0-3 60 | # Use the host network, RECOMMENDED. 61 | network_mode: host 62 | # Binds /srv/tf2-dir to /home/steam/tf-dedicated in the container 63 | volumes: 64 | - /srv/tf2-dir:/home/steam/tf-dedicated 65 | container_name: tf2-dedicated 66 | environment: 67 | SRCDS_TOKEN: "0123456789DEADB33F" 68 | SRCDS_PW: "examplepassword" 69 | # Rest of your env vars... 70 | image: cm2network/tf2:latest 71 | ``` 72 | This will create a container called `tf2-dedicated`, with a bind mount for persistent data. This is especially recommended with compose, as `docker compose down` ***removes*** the defined containers.
73 | For environment variables, you can also use an `.env` file. 74 | 75 | # Configuration 76 | ## Environment Variables 77 | Feel free to overwrite these environment variables, using -e (--env): 78 | ```dockerfile 79 | SRCDS_TOKEN="changeme" (value is is required to be listed & reachable, retrieve token here (AppID 440): https://steamcommunity.com/dev/managegameservers) 80 | SRCDS_RCONPW="changeme" (value can be overwritten by tf/cfg/server.cfg) 81 | SRCDS_PW="changeme" (value can be overwritten by tf/cfg/server.cfg) 82 | SRCDS_PORT=27015 83 | SRCDS_TV_PORT=27020 84 | SRCDS_IP="0" (local ip to bind) 85 | SRCDS_FPSMAX=300 86 | SRCDS_TICKRATE=66 87 | SRCDS_MAXPLAYERS=14 88 | SRCDS_REGION=3 89 | SRCDS_STARTMAP="ctf_2fort" 90 | SRCDS_HOSTNAME="New TF Server" (first launch only) 91 | SRCDS_WORKSHOP_AUTHKEY="" (required to load workshop maps) 92 | SRCDS_CFG="server.cfg" 93 | SRCDS_MAPCYCLE="mapcycle_default.txt" (value can be overwritten by tf/cfg/server.cfg) 94 | SRCDS_SECURED=1 (0 to start the server as insecured) 95 | SRCDS_SDR_FAKEIP=0 (1 to allow for the Steam Datagram Relay, hiding the server's IP) 96 | ``` 97 | 98 | ## Config 99 | The image contains static copies of the competitive config files from [UGC League](https://www.ugcleague.com/files_tf26.cfm#) and [RGL.gg](https://rgl.gg/Public/About/Configs.aspx?r=24). 100 | 101 | You can edit the config using this command: 102 | ```console 103 | $ docker exec -it tf2-dedicated nano /home/steam/tf-dedicated/tf/cfg/server.cfg 104 | ``` 105 | Or if you want to explicitly specify a server config file, use the `SRCDS_CFG` environment variable. 106 | 107 | If you want to learn more about configuring a TF2 server check this [documentation](https://wiki.teamfortress.com/wiki/Dedicated_server_configuration). 108 | 109 | # Image Variants: 110 | The `tf2` images come in three flavors, each designed for a specific use case, with a 64-bit version if needed. 111 | 112 | ## `tf2:latest` 113 | This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is a bare-minimum TF2 dedicated server containing no 3rd party plugins.
114 | 115 | ## `tf2:metamod` 116 | This is a specialized image. It contains the plugin environment [Metamod:Source](https://www.sourcemm.net) which can be found in the addons directory. You can find additional plugins [here](https://www.sourcemm.net/plugins). 117 | 118 | ## `tf2:sourcemod` 119 | This is another specialized image. It contains both [Metamod:Source](https://www.sourcemm.net) and the popular server plugin [SourceMod](https://www.sourcemod.net) which can be found in the addons directory. [SourceMod](https://www.sourcemod.net) supports a wide variety of additional plugins that can be found [here](https://www.sourcemod.net/plugins.php). 120 | 121 | ## `tf2:[variant]-x64` 122 | A 64-bit version of all three variants, i.e. `latest-x64`, `metamod-x64`, and `sourcemod-x64`. This will run a fully 64-bit server, `srcds_linux64`, with a 64-bit version of Metamod or SourceMod. 123 | ### Which to use? 124 | If you require SourceMod and aren't fully sure whether your plugins work on 64-bit servers, it's better to use the normal 32-bit variant, `tf2:sourcemod`. If you want to run a server without any plugins, `tf2:latest-x64` is preferred. 125 | 126 | # Contributors 127 | [![Contributors Display](https://badges.pufler.dev/contributors/CM2Walki/tf2?size=50&padding=5&bots=false)](https://github.com/CM2Walki/tf2/graphs/contributors) 128 | -------------------------------------------------------------------------------- /etc/cfg/item_whitelist_ugc_6v6.txt: -------------------------------------------------------------------------------- 1 | // Whitelist generated at Sun, 02 Jan 2022 13:48:41 +0100 2 | // Whitelist: UGC 6v6 Server mp_tournament_whitelist file (ID: 11666) 3 | 4 | // Share or view this whitelist: 5 | // https://whitelist.tf/item_whitelist_ugc_6v6 6 | 7 | // New items added to the game are: allowed 8 | // Hats are: allowed 9 | // Miscs are: allowed 10 | // Pyrovision is: NOT allowed 11 | // Noisemakers are: NOT allowed 12 | // Restricted noisemakers are: NOT allowed 13 | // Halloween/Full Moon items are: allowed 14 | // Noise making miscs are: NOT allowed 15 | // Explosion on death miscs are: NOT allowed 16 | // Festive weapon reskins are: allowed 17 | // Botkiller weapon reskins are: allowed 18 | 19 | // Blocked weapons for Multiple classes 20 | // - Secondary 21 | // * B.A.S.E. Jumper 22 | // * Reserve Shooter 23 | 24 | // Blocked weapons for Scout 25 | // - Primary 26 | // * Soda Popper 27 | // - Secondary 28 | // * Bonk! Atomic Punch 29 | // * Crit-a-Cola 30 | // * Flying Guillotine 31 | // * Mad Milk 32 | 33 | // Blocked weapons for Soldier 34 | // - Primary 35 | // * Cow Mangler 5000 36 | // - Melee 37 | // * Disciplinary Action 38 | 39 | // Blocked weapons for Pyro 40 | // - Secondary 41 | // * Detonator 42 | // * Gas Passer 43 | // * Scorch Shot 44 | 45 | // Blocked weapons for Heavy 46 | // - Primary 47 | // * Natascha 48 | // - Secondary 49 | // * Buffalo Steak Sandvich 50 | // - Melee 51 | // * Fists of Steel 52 | 53 | // Blocked weapons for Engineer 54 | // - Primary 55 | // * Rescue Ranger 56 | // - Secondary 57 | // * Short Circuit 58 | // * Wrangler 59 | 60 | // Blocked weapons for Medic 61 | // - Secondary 62 | // * Quick-Fix 63 | // * Vaccinator 64 | 65 | // Blocked weapons for Sniper 66 | // - Primary 67 | // * Machina 68 | // * Sydney Sleeper 69 | // - Secondary 70 | // * Jarate 71 | 72 | // Blocked weapons for Spy 73 | // - Secondary 74 | // * Diamondback 75 | 76 | "item_whitelist" 77 | { 78 | "unlisted_items_default_to" "1" 79 | 80 | //------------- Blocked weapons/reskins (Total: 33) -------------\\ 81 | //______________________ Multiple classes _______________________\\ 82 | "The B.A.S.E. Jumper" "0" 83 | "The Reserve Shooter" "0" 84 | //____________________________ Scout ____________________________\\ 85 | "Bonk! Atomic Punch" "0" 86 | "Crit-a-Cola" "0" 87 | "Festive Bonk 2014" "0" 88 | "Mad Milk" "0" 89 | "Mutated Milk" "0" 90 | "Promo Flying Guillotine" "0" 91 | "The Flying Guillotine" "0" 92 | "The Soda Popper" "0" 93 | //___________________________ Soldier ___________________________\\ 94 | "The Cow Mangler 5000" "0" 95 | "The Disciplinary Action" "0" 96 | //____________________________ Pyro _____________________________\\ 97 | "The Detonator" "0" 98 | "The Gas Passer" "0" 99 | "The Scorch Shot" "0" 100 | //____________________________ Heavy ____________________________\\ 101 | "Deflector" "0" 102 | "Fists of Steel" "0" 103 | "Natascha" "0" 104 | "The Buffalo Steak Sandvich" "0" 105 | //__________________________ Engineer ___________________________\\ 106 | "Festive Wrangler" "0" 107 | "The Giger Counter" "0" 108 | "The Rescue Ranger" "0" 109 | "The Short Circuit" "0" 110 | "The Wrangler" "0" 111 | //____________________________ Medic ____________________________\\ 112 | "The Quick-Fix" "0" 113 | "The Vaccinator" "0" 114 | //___________________________ Sniper ____________________________\\ 115 | "Festive Jarate" "0" 116 | "Jarate" "0" 117 | "Shooting Star" "0" 118 | "The Machina" "0" 119 | "The Self-Aware Beauty Mark" "0" 120 | "The Sydney Sleeper" "0" 121 | //_____________________________ Spy _____________________________\\ 122 | "The Diamondback" "0" 123 | 124 | //------------- ConTrabanned ConTracker (Total: 1) --------------\\ 125 | //_________________________ All classes _________________________\\ 126 | "Activated Campaign 3 Pass" "0" 127 | 128 | //----- Globally Competitive League banned items (Total: 1) -----\\ 129 | //____________________________ Scout ____________________________\\ 130 | "The Corpse Carrier" "0" 131 | 132 | //------------------- Noisemakers (Total: 14) -------------------\\ 133 | "Charity Noise Maker - Bell" "0" 134 | "Charity Noise Maker - Tingsha" "0" 135 | "Halloween Noise Maker - Banshee" "0" 136 | "Halloween Noise Maker - Black Cat" "0" 137 | "Halloween Noise Maker - Crazy Laugh" "0" 138 | "Halloween Noise Maker - Gremlin" "0" 139 | "Halloween Noise Maker - Stabby" "0" 140 | "Halloween Noise Maker - Werewolf" "0" 141 | "Halloween Noise Maker - Witch" "0" 142 | "Noise Maker - TF Birthday" "0" 143 | "Noise Maker - Vuvuzela" "0" 144 | "Noise Maker - Winter 2011" "0" 145 | "Promotional Noise Maker - Fireworks" "0" 146 | "Promotional Noise Maker - Koto" "0" 147 | 148 | //-------------- Pyro/Romevision items (Total: 8) ---------------\\ 149 | //_________________________ All classes _________________________\\ 150 | "Autogrant Pyrovision Goggles" "0" 151 | "Pet Balloonicorn" "0" 152 | "Pet Reindoonicorn" "0" 153 | "Pyrovision Goggles" "0" 154 | //____________________________ Pyro _____________________________\\ 155 | "The Burning Bongos" "0" 156 | "The Infernal Orchestrina" "0" 157 | "The Lollichop" "0" 158 | "The Rainblower" "0" 159 | 160 | //------ Noise making/Explosion on death miscs (Total: 9) -------\\ 161 | "Elf-Made Bandanna" "0" 162 | "Jolly Jingler" "0" 163 | "Reindoonibeanie" "0" 164 | "Seasonal Employee" "0" 165 | "The Bootie Time" "0" 166 | "Elf Defence" "0" 167 | "Elf Ignition" "0" 168 | "The Jingle Belt" "0" 169 | "Elf Care Provider" "0" 170 | 171 | //--------------------- Taunts (Total: 47) ----------------------\\ 172 | //_________________________ All classes _________________________\\ 173 | "Conga Taunt" "0" 174 | "Flippin' Awesome Taunt" "0" 175 | "High Five Taunt" "0" 176 | "RPS Taunt" "0" 177 | "Skullcracker Taunt" "0" 178 | "Square Dance Taunt" "0" 179 | "Taunt: Kazotsky Kick" "0" 180 | "Taunt: Mannrobics" "0" 181 | "Taunt: The Fist Bump" "0" 182 | "Taunt: The Victory Lap" "0" 183 | "Taunt: Zoomin' Broom" "0" 184 | //____________________________ Scout ____________________________\\ 185 | "Taunt: Runner's Rhythm" "0" 186 | "Taunt: Spin-to-Win" "0" 187 | "Taunt: The Boston Boarder" "0" 188 | "Taunt: The Bunnyhopper" "0" 189 | "Taunt: The Carlton" "0" 190 | "Taunt: The Homerunner's Hobby" "0" 191 | "Taunt: The Scooty Scoot" "0" 192 | //___________________________ Soldier ___________________________\\ 193 | "Taunt: Panzer Pants" "0" 194 | "Taunt: Rocket Jockey" "0" 195 | "Taunt: The Profane Puppeteer" "0" 196 | //____________________________ Pyro _____________________________\\ 197 | "Pool Party Taunt" "0" 198 | "Taunt: Scorcher's Solo" "0" 199 | "Taunt: The Balloonibouncer" "0" 200 | "Taunt: The Hot Wheeler" "0" 201 | "Taunt: The Skating Scorcher" "0" 202 | //___________________________ Demoman ___________________________\\ 203 | "Taunt: Scotsmann's Stagger" "0" 204 | "Taunt: The Drunken Sailor" "0" 205 | "Taunt: The Pooped Deck" "0" 206 | //____________________________ Heavy ____________________________\\ 207 | "Taunt: Bare Knuckle Beatdown" "0" 208 | "Taunt: The Boiling Point" "0" 209 | "Taunt: The Russian Arms Race" "0" 210 | "Taunt: The Soviet Strongarm" "0" 211 | "Taunt: The Table Tantrum" "0" 212 | //__________________________ Engineer ___________________________\\ 213 | "Rancho Relaxo Taunt" "0" 214 | "Taunt: Bucking Bronco" "0" 215 | "Taunt: Texas Truckin" "0" 216 | "Taunt: The Dueling Banjo" "0" 217 | "Taunt: The Jumping Jack" "0" 218 | //____________________________ Medic ____________________________\\ 219 | "Taunt: Doctor's Defibrillators" "0" 220 | "Taunt: Surgeon's Squeezebox" "0" 221 | "Taunt: The Mannbulance!" "0" 222 | "Taunt: Time Out Therapy" "0" 223 | //___________________________ Sniper ____________________________\\ 224 | "Taunt: Didgeridrongo" "0" 225 | "Taunt: Shooter's Stakeout" "0" 226 | //_____________________________ Spy _____________________________\\ 227 | "Taunt: Luxury Lounge" "0" 228 | "Taunt: The Boxtrot" "0" 229 | 230 | //------------------ UGC exceptions (Total: 1) ------------------\\ 231 | //_________________________ All classes _________________________\\ 232 | "The Grandmaster" "0" 233 | } -------------------------------------------------------------------------------- /etc/cfg/rgl_base.cfg: -------------------------------------------------------------------------------- 1 | // base config for all gamemodes 2 | // All RGL.gg configs originally created from scratch by stephanie (/id/stephanielgbt) 3 | // Created May 11, 2019 -- Updated May 22, 2020 4 | // DO NOT EXEC THIS MANUALLY 5 | 6 | sm plugins load rglqol // loads the qol plugin in RGL configs 7 | sm plugins reload updater // reloads updater to prevent issues where it refuses to update on changelevel 8 | sm_updater 2 // sets updater to download only plugins/cfgs 9 | sm_updater_forcecheck // forces autoupdates to prevent tampering with non custom cfgs 10 | sm_updater_check // autoupdates to prevent tampering with non custom cfgs 11 | sm plugins unload disabled/roundtimer_override // unloads the old improved match timer from any server that may still have it enabled 12 | sm plugins unload roundtimer_override // unloads the old improved match timer from any server that may still have it enabled 13 | sm plugins unload improved_match_timer // unloads the improved match timer, not used by all formats 14 | sm plugins unload tf2Halftime // unloads tf2Halftime plugin 15 | sm plugins unload disabled/p4sstime // unloads p4sstime plugin 16 | 17 | // TF2 Comp Fixes 18 | sm_deterministic_fall_damage 0 // patched by Valve July 7, 2022 with tf_fall_damage_disablespread 19 | sm_empty_active_ubercharges_when_dropped 0 20 | sm_fix_ghost_crossbow_bolts 0 // patched by Valve June 21, 2022 21 | sm_fix_post_pause_state 0 22 | sm_fix_reflect_self_damage 1 23 | sm_fix_slope_bug 1 24 | sm_fix_sticky_delay 1 25 | sm_inhibit_extendfreeze 1 26 | sm_override_pipe_size 0 // patched by Valve July 7, 2022 27 | sm_projectiles_collide_with_cylinders 0 28 | sm_projectiles_ignore_teammates 0 29 | sm_remove_halloween_souls 1 30 | sm_remove_pipe_spin 0 31 | sm_rest_in_peace_rick_may 128 32 | sm_grounded_rj_resistance 0 33 | sm_gunboats_always_apply 0 34 | sm_prevent_respawning 0 35 | sm_remove_medic_attach_speed 0 36 | sm_solid_buildings 0 37 | sm_winger_jump_bonus_when_fully_deployed 0 38 | 39 | //Improved Match Timer 40 | mp_timelimit_improved "0" // disables the Improved Match Timer plugin 41 | mp_roundtime "-1" // default round timer 42 | 43 | // Removes holiday events 44 | tf_forced_holiday 0 45 | tf_birthday 0 46 | tf_birthday_ball_chance 0 47 | 48 | con_timestamp "1" // timestamps console log 49 | sv_rcon_log "1" // turns on rcon logging 50 | sv_log_onefile "0" // don't log everything to one file 51 | // sv_logfilename_format "rgl_conlog_%x_%X" // sets logs to get sent to the log folder instead of clumping up in one single file - currently breaks tftrue 52 | log_verbose_enable "1" // enables verbose server log 53 | log_verbose_interval "60" // sets verbose logging to happen every 60 seconds 54 | log on // turns on server log 55 | 56 | sv_contact "https://rgl.gg" // contact us here! 57 | 58 | mp_tournament "1" // enables tournament mode 59 | mp_tournament_allow_non_admin_restart "0" // prevents non admins from restarting your game 60 | mp_tournament_stopwatch "1" // sets stopwatch mode if applicable 61 | mp_tournament_readymode "0" // traditional whole team ready up 62 | mp_teams_unbalance_limit "0" // disables team balance checking 63 | 64 | sv_mincmdrate "66" // sets the min value for cl_cmdrate to 66 ticks/sec 65 | sv_maxcmdrate "66" // sets the max value for cl_cmdrate to 66 ticks/sec 66 | sv_minrate "80000" // sets min acceptable client rate to 80000 packets/sec, tf2's default rate 67 | sv_maxrate "0" // sets max acceptable client rate to "unlimited", tho anything higher than 1048576 is ignored as it is tf2's "max" rate. 68 | sv_minupdaterate "66" // sets min rate of requestable packets from server to client to 66 per sec 69 | sv_maxupdaterate "66" // sets max rate of requestable packets from server to client to 66 per sec 70 | sv_client_min_interp_ratio "1" // clamps min client interp settings 71 | sv_client_max_interp_ratio "2" // clamps max client interp settings 72 | sv_client_cmdrate_difference "0" // clamps client cmdrate 73 | sv_client_predict "1" // forces cl_predict 1, essentially 74 | 75 | // sv_clockcorrection_msecs "15" // attempts to better synchronize client's ticks closer to server's ticks. currently commented while i test possible hitreg issues 76 | // ^ more info: https://github.com/VSES/SourceEngine2007/blob/master/se2007/game/server/player.cpp#L3036 77 | // sm_cvar sv_maxusrcmdprocessticks_holdaim 2 // prevents pSilentAim from working (hopefully) 78 | // sm_cvar tf_flamethrower_vecrand 0 // fixes random flamethrower velocity 79 | 80 | mp_fadetoblack "0" // doesn't fade player's screen to black on death 81 | mp_enableroundwaittime "1" // pauses server timer after winning a round 82 | mp_fraglimit "0" // disables max/any frag limit 83 | mp_forcecamera "1" // prevents third person/map view cameras when dead 84 | mp_footsteps "1" // turns on footstep noises 85 | mp_match_end_at_timelimit "1" // forces match to end at the end of the server timelimit 86 | mapcyclefile "emptymapcycle.txt" // prevents server from following mapcycle due to above command (aka prevents automatic changelevel after timelimit runs out) 87 | sm_nextmap "" // ^ 88 | nextlevel "" // ^ 89 | mp_respawnwavetime "10" // sets respawn wave to happen every 10 seconds 90 | mp_stalemate_enable "0" // disables stalemate mode 91 | mp_stalemate_timelimit "0" // ^ 92 | mp_bonusroundtime "10" // sets time after round (post game frags) to minimum 93 | mp_idledealmethod "2" // sets autokick for idle players (to prevent people from hanging around in servers for several hours after a game) 94 | mp_idlemaxtime "180" // sets autokick time to 3 hours 95 | mp_tournament_prevent_team_switch_on_readyup "1" // prevent old "auto switch" behavior on rup, fixes needing to switch teams in stopwatch mode 96 | 97 | sv_cheats "0" // turns cheats off 98 | sv_gravity "800" // Sets gravity to default (800) 99 | sv_pure "2" // Sets sv_pure to 2. Don't touch this 100 | sv_pure_kick_clients "1" // kick clients violating or attempting to violate sv_pure 101 | sv_pure_trace "1" // sets the server to print a message whenever a client is verifying a CRC for a file 102 | sv_pure_consensus "5" // minimum file hash checks for sv_pure 103 | 104 | host_framerate "0" // unlocks server framerate, essentially 105 | 106 | tf_allow_player_use "0" // disallows use command 107 | tf_clamp_airducks "1" // clamps amount of times player is able to duck in the air 108 | tf_allow_taunt_switch "0" // disallows switching weapons during taunting 109 | tf_avoidteammates_pushaway "0" // prevents stupid "pushing" of your own teammates, like in pubs 110 | tf_damage_disablespread "1" // disables damage spread 111 | tf_overtime_nag "0" // turns off the announcer freaking about about overtime 112 | tf_spells_enabled "0" // disables spells 113 | tf_powerup_mode "0" // turns off mannpower mode if it's on for some reason 114 | tf_use_fixed_weaponspreads "1" // forces fixed weapon spread. Essential 115 | tf_weapon_criticals "0" // forces random crits off. Essential 116 | tf_weapon_criticals_melee "0" // forces random melee crits off. Essential 117 | tf_preround_push_from_damage_enable "1" // turns on the ability to rollout in spawn. useful. who knew 118 | tf_spawn_glows_duration "0" // turns off spawn glow 119 | tf_spec_xray "0" // disallows xray 120 | tf_arena_first_blood "0" // turns off first blood nonsense 121 | tf_flag_caps_per_round "0" // sets flag caps per round in ctf to 0 122 | tftrue_logs_accuracy "1" // sets accuracy to be on if the server has tftrue installed, for both anticheat and general purposes 123 | tf_tournament_hide_domination_icons "1" // hides dom icons 124 | tf_fall_damage_disablespread "1" // disable random fall damage (default: 0) 125 | 126 | mp_autoteambalance "0" // sets autobalance to be off 127 | mp_disable_respawn_times "0" // enables respawn times 128 | mp_friendlyfire "0" // disables friendly fire 129 | mp_highlander "0" // disables highlander mode 130 | mp_show_voice_icons "0" // hides voice icons as well 131 | 132 | tv_autorecord "1" // autorecords sourcetv when it's enabled/active 133 | tv_allow_camera_man "0" // prevent spectators from becoming camera-people 134 | tv_allow_static_shots "0" // prevent auto director from using fixed level cameras for shots 135 | tv_chattimelimit "5" // sets time limit so that tv spectators can only chat every 5 seconds 136 | tv_delay "90" // sets stv to be 90 seconds behind to prevent cheating 137 | tv_delaymapchange "1" // Delays map change until broadcast is complete 138 | tv_delaymapchange_protect "1" // Protects against manual mapchange until broadcast is complete 139 | tv_maxrate "0" // sets STV maxrate to unlimited 140 | tv_msg "" // turns off any previously set tv_msg stuff 141 | tv_relayvoice "0" // turns off voice in STV 142 | tv_snapshotrate "66" // broadcasts 66 STV snapshots per second 143 | tv_deltacache "2" // forces full ticks to be sent to stv as opposed to delta ticks - reverted change(0) back to original(2) , awaiting further tests 144 | tv_timeout "10" // sets STV timeout to 10 seconds 145 | tv_transmitall "1" // transmits all entity data from STV, not just visible entities 146 | // ^ THIS DOES NOT REPLACE SOURCETV+, which can be found here: https://github.com/dalegaard/srctvplus 147 | tv_enable "1" // enables Source TV 148 | 149 | sv_turbophysics "1" // prevents people from moving physics objects by shooting them or running into them when combined with disabling +use. results in less CPU usage on the server 150 | sv_alltalk "0" // sets alltalk off 151 | sv_pausable "1" // enables the ability to pause 152 | sv_allow_wait_command "0" // disables wait command 153 | sv_restrict_aspect_ratio_fov "2" // prevents fov cheating with huge ultrawide monitors 154 | sv_allow_color_correction "0" // disallow color correction 155 | sv_cacheencodedents "1" // according to developer.valvesoftware.com , "does an optimization to prevent extra SendTable_Encode calls." 156 | sv_forcepreload "1" // forces server to preload assets 157 | sv_specaccelerate "5" // default value for spectator acceleration speed 158 | sv_specnoclip "1" // default value for ability to noclip as a spectator 159 | sv_specspeed "3" // default value for speed at which spectators can noclip through map (?) 160 | sv_allow_voice_from_file "0" // disallows clients from using voice_inputfromfile 161 | sv_allowupload "0" // disable spray uploading, therefore disabling sprays 162 | sv_allowdownload "1" // allow file downloads >from< server 163 | sv_allow_votes "0" // disables vote system 164 | sv_vote_allow_spectators "0" // disallow spectators from voting 165 | sv_vote_creation_timer "86400" // functionally prevents calling a vote after the previous one fails by the same person. sets time to vote to 1 day 166 | sv_vote_failure_timer "86400" // functionally prevents voting on the same issue if the previous vote fails by setting time to vote to 1 day 167 | sv_vote_issue_autobalance_allowed "0" // obvious 168 | sv_vote_issue_changelevel_allowed "0" // obvious 169 | sv_vote_issue_classlimits_allowed "0" // obvious 170 | sv_vote_issue_extendlevel_allowed "0" // obvious 171 | sv_vote_issue_kick_allowed "0" // obvious 172 | sv_vote_issue_nextlevel_allowed "0" // obvious 173 | sv_vote_issue_restart_game_allowed "0" // obvious 174 | sv_vote_issue_scramble_teams_allowed "0" // obvious 175 | sv_vote_ui_hide_disabled_issues "1" // prevent listing of the disabled vote issues in the vote setup screen 176 | 177 | sm plugins info rglupdater // lists rglupdater plugin info for conlog 178 | sm plugins list // lists plugins for conlog 179 | -------------------------------------------------------------------------------- /etc/cfg/rgl_off.cfg: -------------------------------------------------------------------------------- 1 | // Config for unexecing any RGL config 2 | // Config originally created May 11, 2019 -- Updated May 22, 2020 3 | // EXEC THIS TO RESET YOUR SERVER TO DEFAULT VALVE SETTINGS 4 | // PLUS YOUR SERVER.CFG SETTINGS 5 | // Only exec this after waiting 90 seconds after game end! 6 | 7 | tv_stoprecord // stops stv recording 8 | // tv_stop *DOESNT* stop stv bot because STV in TF2 is incredibly buggy and reads the wrong values from the wrong cvars 9 | // read more at https://github.com/ValveSoftware/Source-1-Games/issues/2778 10 | 11 | // sv_visiblemaxplayers "-1" // doesn't reset visible maxplayers because of above buggyness with stv. 12 | 13 | log off // turns off server log 14 | log_verbose_enable "0" // disables verbose server log 15 | log_verbose_interval "3" // sets verbose logging to happen every 3 seconds (default) 16 | 17 | con_timestamp "0" // turns off console log timestamping 18 | con_logfile "" // stops printing console i/o to file 19 | 20 | sv_rcon_log "1" // turns on rcon logging (default) 21 | 22 | 23 | // TF2 Comp Fixes 24 | // Keep bug fixes enabled even if cfg is off 25 | // TF2 Comp Fixes 26 | sm_deterministic_fall_damage 0 27 | sm_empty_active_ubercharges_when_dropped 0 28 | sm_fix_ghost_crossbow_bolts 0 29 | sm_fix_post_pause_state 0 30 | sm_fix_reflect_self_damage 0 31 | sm_fix_slope_bug 0 32 | sm_fix_sticky_delay 0 33 | sm_inhibit_extendfreeze 0 34 | sm_override_pipe_size 0 35 | sm_projectiles_collide_with_cylinders 0 36 | sm_projectiles_ignore_teammates 0 37 | sm_remove_halloween_souls 0 38 | sm_remove_pipe_spin 0 39 | sm_rest_in_peace_rick_may 0 40 | sm_grounded_rj_resistance 0 41 | sm_gunboats_always_apply 0 42 | sm_prevent_respawning 0 43 | sm_remove_medic_attach_speed 0 44 | sm_solid_buildings 0 45 | sm_winger_jump_bonus_when_fully_deployed 0 46 | 47 | //Improved Match Timer 48 | mp_timelimit_improved "0" // disables the Improved Match Timer plugin 49 | mp_roundtime "-1" // default round timer 50 | 51 | sv_contact "" // unsets contact info 52 | 53 | 54 | mp_tournament_allow_non_admin_restart "1" // allows non admins to restart tournament mode 55 | mp_tournament_stopwatch "1" // sets stopwatch mode if applicable (default) 56 | 57 | mp_tournament_whitelist "item_whitelist.txt" // sets tournament whitelist to default 58 | tftrue_whitelist_id "" // ^ 59 | 60 | mp_teams_unbalance_limit "1 " // sets team balance check to default 61 | 62 | 63 | sv_mincmdrate "10" // sets the min value for cl_cmdrate to default 64 | sv_maxcmdrate "66" // sets the max value for cl_cmdrate to default 65 | sv_minrate "3500" // sets min acceptable client rate to default 66 | sv_maxrate "0" // sets max acceptable client rate to default 67 | sv_minupdaterate "10" // sets min rate of requestable packets from server to client to default 68 | sv_maxupdaterate "66" // sets max rate of requestable packets from server to client to default 69 | 70 | 71 | mp_fadetoblack "0" // doesn't fade player's screen to black on death (default) 72 | 73 | mp_enableroundwaittime "1" // pauses server timer after winning a round (default) 74 | mp_fraglimit "0" // disables max/any frag limit (default) 75 | mp_forcecamera "0" // allows third person/map view cameras when dead 76 | mp_footsteps "1" // turns on footstep noises (default) 77 | mp_match_end_at_timelimit "0" // doesn't immediately force match to end at the end of the timelimit, as this would exclude overtime (default) 78 | mapcyclefile "mapcycle.txt" // defaults mapcycle file 79 | mp_respawnwavetime "10" // sets respawn wave to happen every 10 seconds (default) 80 | mp_stalemate_enable "0" // disables stalemate mode (default) 81 | mp_stalemate_timelimit "0" // ^ 82 | mp_bonusroundtime "15" // sets time after round (post game frags) to 15 secs 83 | mp_idledealmethod "1" // sets autokick for idle players 84 | 85 | 86 | sv_cheats "0" // turns cheats off (default) 87 | sv_gravity "800" // Sets gravity to default (800) (default) 88 | sv_pure "1" // defaults sv_pure value 89 | sv_pure_kick_clients "1" // kick clients violating or attempting to violate sv_pure (default) 90 | sv_pure_trace "0" // the server won't print a message whenever a client is verifying a CRC for a file 91 | sv_pure_consensus "5" // minimum file hash checks for sv_pure (default) 92 | 93 | tf_allow_player_use "0" // disallows use command (default) 94 | 95 | tf_spec_xray "1" // allows xray (default) 96 | 97 | 98 | 99 | tf_clamp_airducks "1" // clamps amount of times player is able to duck in the air (default) 100 | host_framerate "0" // unlocks server framerate, essentially (default) 101 | 102 | tf_allow_taunt_switch "0" // disallows switching weapons during taunting (default) 103 | tf_avoidteammates_pushaway "1" // enables stupid "pushing" of your own teammates, like in pubs 104 | tf_damage_disablespread "1" // disables damage spread (default) 105 | tf_overtime_nag "0" // turns off the announcer freaking about about overtime. (default) 106 | tf_spells_enabled "0" // disables spells (default) 107 | tf_powerup_mode "0" // turns off mannpower mode if it's on for some reason. (default) 108 | tf_use_fixed_weaponspreads "0" // turns off fixed weapon spread 109 | tf_weapon_criticals "1" // turns random crits on. 110 | tf_weapon_criticals_melee "1" // turns random melee crits on. 111 | 112 | tf_preround_push_from_damage_enable "0" // turns off the ability to rollout in spawn 113 | tf_spawn_glows_duration "10" // sets teammates to glow for 10 seconds after respawning, if feature is enabled client side 114 | tf_arena_first_blood "1" // turns on first blood nonsense 115 | tf_ctf_bonus_time "10" // turns on cap crits in CTF 116 | sm_cvar spec_freeze_time "4" // defaults freezetime for killcam 117 | mp_autoteambalance "1" // sets autobalance to be on 118 | mp_disable_respawn_times "0" // enables respawn times (default) 119 | mp_friendlyfire "0" // disables friendly fire (default) 120 | mp_highlander "0" // disables highlander mode (default) 121 | tf_flag_caps_per_round "3" // sets flag caps per round in ctf to 3 122 | tf_fall_damage_disablespread "0" // disable random fall damage (default: 0) 123 | mp_time_between_capscoring "30" // delay between scoring of owned capture points. 124 | 125 | // Passtime 126 | tf_passtime_score_crit_sec "5.0f" // how long a scoring team's crits last 127 | tf_passtime_powerball_passpoints "25" // how many ball meter points are awarded for a complete pass 128 | tf_passtime_powerball_airtimebonus "40" // ball meter points added per second of time a pass is in the air. 129 | tf_passtime_overtime_idle_sec "5" // defaults to 5 130 | tf_passtime_throwarc_demoman "0.15f" 131 | tf_passtime_throwspeed_demoman "850.0f" 132 | tf_passtime_throwarc_engineer "0.2f" 133 | 134 | 135 | tf_tournament_classlimit_scout "-1" // defaults tf_tourney classlimits 136 | tf_tournament_classlimit_soldier "-1" // ^ 137 | tf_tournament_classlimit_pyro "-1" // ^ 138 | tf_tournament_classlimit_demoman "-1" // ^ 139 | tf_tournament_classlimit_heavy "-1" // ^ 140 | tf_tournament_classlimit_engineer "-1" // ^ 141 | tf_tournament_classlimit_medic "-1" // ^ 142 | tf_tournament_classlimit_sniper "-1" // ^ 143 | tf_tournament_classlimit_spy "-1" // ^ 144 | 145 | 146 | tf_tournament_hide_domination_icons "0" // unhides dom icons 147 | 148 | 149 | tv_autorecord "0" // unsets stv autorecording 150 | tv_allow_camera_man "1" // allow spectators to become camera-people 151 | tv_allow_static_shots "1" // allow auto director to use fixed level cameras for shots 152 | tv_chattimelimit "8" // resets time limit so that tv spectators can only chat every 8 seconds 153 | tv_delay "30" // sets stv to be 30 seconds behind 154 | tv_delaymapchange "0" // unsets delaying auto mapchanges to protect stvs 155 | tv_delaymapchange_protect "1" // Protects against manual mapchange until broadcast is complete (default) 156 | tv_maxrate "8000" // sets STV maxrate to default 157 | tv_msg "" // unsets tv_msg 158 | tv_relayvoice "1" // turns on voice in STV 159 | tv_snapshotrate "16" // broadcasts 16 STV snapshots per second 160 | tv_timeout "30" // sets STV timeout to 30 seconds 161 | tv_transmitall "0" // doesn't transmit all data from STV, only from visible entities 162 | //tv_maxclients "10" // sets stv maxclients to a reasonable number because stv is still left on because of https: // github.com/ValveSoftware/Source-1-Games/issues/2778 163 | //hostname "TF2 Server" // sets server name in server browser. this should get overwritten by server.cfg 164 | //tv_title "TF2 Server (STV)" // server name in >stv< server browser. this should get overwritten by server.cfg 165 | 166 | 167 | sv_turbophysics "1" // prevents people from moving physics objects by shooting them or running into them when combined with disabling +use. results in less CPU usage on the server (default) 168 | sv_alltalk "0" // sets alltalk off (default) 169 | sv_pausable "0" // disables the ability to pause 170 | sv_allow_wait_command "1" // allows wait command 171 | 172 | sv_allow_color_correction "1" // allows color correction 173 | 174 | sv_cacheencodedents "1" // according to developer.valvesoftware.com , "does an optimization to prevent extra SendTable_Encode calls." (default) 175 | sv_forcepreload "0" // doesn't force server to preload assets 176 | sv_specaccelerate "5" // default value for spectator acceleration speed 177 | sv_specnoclip "1" // default value for ability to noclip as a spectator 178 | sv_specspeed "3" // default value for speed at which spectators can noclip through map (?) 179 | sv_allow_voice_from_file "1" // allows clients to use voice_inputfromfile 180 | sv_allowupload "1" // allows spray uploading 181 | sv_allowdownload "1" // allow file downloads >from< server (default) 182 | 183 | sv_client_min_interp_ratio "1" // clamps client interp settings (default) 184 | sv_client_max_interp_ratio "5" // ^ 185 | sv_client_predict "-1" // does not force cl_predict 1 186 | 187 | sv_quota_stringcmdspersecond "40" // reset to default 188 | 189 | sv_allow_votes "1" // enables vote system 190 | 191 | sv_vote_allow_spectators "0" // disallow spectators from voting (default) 192 | sv_vote_creation_timer "150" // default vote time 193 | sv_vote_failure_timer "300" // default revote time after a failed vote 194 | sv_vote_issue_autobalance_allowed "0" // obvious (default) 195 | sv_vote_issue_changelevel_allowed "0" // obvious (default) 196 | sv_vote_issue_classlimits_allowed "0" // obvious (default) 197 | sv_vote_issue_extendlevel_allowed "1" // allows votes to extend the level 198 | sv_vote_issue_kick_allowed "0" // obvious (default) 199 | sv_vote_issue_nextlevel_allowed "1" // allows nextlevel votes 200 | sv_vote_issue_restart_game_allowed "0" // obvious (default) 201 | sv_vote_issue_scramble_teams_allowed "1" // allows scramble votes 202 | sv_vote_ui_hide_disabled_issues "1" // prevent listing of the disabled vote issues in the vote setup screen (default) 203 | 204 | mp_timelimit "0" // unsets timelimit 205 | mp_winlimit "0" // unsets winlimit 206 | mp_windifference "0" // unsets windifference 207 | mp_maxrounds "0" // unsets maxrounds 208 | 209 | sv_password "" // defaults server password. overwritten by password in server.cfg, if you have one set 210 | tv_password "" // defaults stv password 211 | 212 | sm plugins unload rglqol // unloads the qol plugin so that it does not interfer with any other config. 213 | sm plugins unload improved_match_timer // unloads the improved match timer 214 | 215 | //Pass time plugin 216 | sm plugins unload disabled/p4sstime // unloads passtimecontrol 217 | 218 | exec "server" // execs the settings in your server.cfg 219 | servercfgfile "server" // execs your server cfg file on map change 220 | 221 | // turned off due to https://github.com/stephanieLGBT/rgl-server-resources/issues/14 222 | //sv_shutdown_timeout_minutes "0" // sets server to never forcibly restart with players in it 223 | //sv_shutdown // sets a graceful shutdown to occur when server is empty 224 | 225 | say "Thanks for playing! Please note that STV is not immediately unloaded via this config, as slot count issues would occur and lead to potentional crashes." 226 | // say "A server restart has been scheduled to occur when all players have left the server to turn off STV. Use sv_shutdown_cancel to prevent this." --------------------------------------------------------------------------------