├── .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 | [](https://hub.docker.com/r/cm2network/tf2/) [](https://hub.docker.com/r/cm2network/tf2/) [](https://hub.docker.com/r/cm2network/tf2/) [](https://hub.docker.com/r/cm2network/tf2/) [](https://microbadger.com/images/cm2network/tf2) [](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 |
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 | [](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."
--------------------------------------------------------------------------------