Skip to content

Instantly share code, notes, and snippets.

@Steffo99
Created September 16, 2022 19:47
Show Gist options
  • Save Steffo99/c098052a6f7524cd859a9dbc7d9a59a8 to your computer and use it in GitHub Desktop.
Save Steffo99/c098052a6f7524cd859a9dbc7d9a59a8 to your computer and use it in GitHub Desktop.
Advanced config file for GMod TTT Servers.
// Forked from: https://gist.github.com/RalphORama/438085f1751ecd4916ec29b352d86dc0
// Make sure Terrorists can't hear Traitor radio
sv_alltalk "0"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Preparation and post-round
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// The length of the preparation phase that occurs after players spawn in and
// before traitors are selected and a new round begins.
// Specified in seconds.
ttt_preptime_seconds "30"
// The length of the preparation phase for only the first round after a map loads.
// It is useful to make this higher than ttt_preptime_seconds so that players
// do not have to sit out a round just because they loaded slightly too slowly.
ttt_firstpreptime "120"
// The length of time after a round has ended before the next
// preparation phase begins.
// The round report is displayed at the start of this phase.
// During this phase, stats/points are no longer tracked.
ttt_posttime_seconds "30"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Round length
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Enables Haste Mode. In Haste Mode, the initial round time is short.
// Every death increases it by some amount.
// Puts pressure on traitors to keep things moving,
// which is more interesting for the innocent players
ttt_haste "1"
// Replaces ttt_roundtime_minutes when Haste Mode is on.
// Sets the initial time limit.
ttt_haste_starting_minutes "6"
// Specifies the number of minutes that is added to the round time for each death.
// Setting this to 0.5 will result in 0.5 * 60 = 30 seconds being added.
ttt_haste_minutes_per_death "0.33"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Map switching and voting
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// The max number of rounds until the map is switched.
ttt_round_limit "8"
// The max number of minutes until the map is switched or a vote is started
ttt_time_limit_minutes "45"
// Enables the use of your mapcycle.txt even if voting is enabled.
// Since GMod 13 no voting exists (at the time of writing), so this does nothing.
ttt_always_use_mapcycle "0"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Traitor and Detective counts
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Percentage of total players that will be a traitor.
// The number of players will be multiplied by this number, and then rounded down.
// If the result is less than 1 or more than the player count,
// it is clamped to those values.
ttt_traitor_pct "0.25"
// Maximum number of traitors.
// Customize this if you want to finetune the number of traitors at your
// server's max playercount, for example to make sure there are max 3 traitors
// on a 16 player server.
// By default there is basically no max.
ttt_traitor_max "32"
// Percentage of total players that will be a detective (detective innocent).
// Handled similar to traitor_pct
ttt_detective_pct "0.15"
// Maximum number of detectives. Can be used to cap or disable detectives.
ttt_detective_max "32"
// Minimum number of players before detectives enter play.
// At lower playercounts it will be purely normal innocents vs traitors,
// at higher ones some innocents will be detective.
ttt_detective_min_players "5"
// If a player's Karma falls below this point,
// his chances of being selected as detective are reduced.
ttt_detective_karma_min "1000"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Voicechat battery
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Enables the voicechat battery feature. Voicechatting reduces a battery meter,
// when it's empty the player can't voicechat and must wait a few seconds
// for it to recharge.
ttt_voice_drain "1"
// Battery drain per tick of voicechat for normal players.
// "Tick" refers to a game tick, ie. 1/66th of a second.
// When full the battery meter is at 100.
// With the power of math, we can see that the default setting allows you to
// speak continuously for 100 / (0.2 * 66) = 7.6 seconds before any recharging
// is needed.
ttt_voice_drain_normal "0.05"
// Battery drain per tick of voicechat for both admins and Detectives.
// Set to 0 to allow infinite mic usage.
ttt_voice_drain_admin "0.05"
// Battery recharge rate per tick of not voicechatting.
ttt_voice_drain_recharge "0.02"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Other gameplay settings
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Number of players that must be present before the round begins.
// This is checked before the preparation phase starts, and before the actual
// round begins.
ttt_minimum_players "2"
// Enables damage after a round has ended.
// Kills are not recorded for scoring purposes, so it’s a free for all.
ttt_postround_dm "1"
// Experimental.
// Enables a feature that causes a player who is using his ironsights and is
// killed (by a gun, and not a headshot) to fire an inaccurate shot the
// moment they are killed.
ttt_dyingshot "1"
// Prevents the throwing of grenades during the preparation phase.
ttt_no_nade_throw_during_prep "1"
// Enables the carrying of weapons with the Magneto-stick.
// If you are experiencing crashes, try disabling this.
// When the pickup range is short, as it is by default, crashes seem very rare.
ttt_weapon_carrying "1"
// Range at which weapons can be picked up for carrying with the
// Magneto-stick, see ttt_weapon_carrying.
ttt_weapon_carrying_range "50"
// If 1, the Teleporter weapon will kill players standing on the teleport
// destination.
// If 0, the Teleporter user will instead not be able to teleport if
// someone is in the way.
ttt_teleport_telefrags "1"
// Lets traitors pin corpses to walls using the Magneto-stick.
// If you are experiencing lag due to the increased physics simulation required
// due to players moving ragdolls around often, it may be best to disable this.
ttt_ragdoll_pinning "0"
// Lets non-traitor players pin corpses as well. Not recommended.
ttt_ragdoll_pinning_innocents "0"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Karma
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Enables the karma system. Players start with a certain amount of karma,
// and lose it when they damage/kill “teammates” (ie. innocent if they’re
// innocent, traitor if traitor).
// The amount you lose is dependent on the karma of the person you hurt or
// killed.
ttt_karma "1"
// If enabled, the damage penalty increases more quickly as karma goes down.
// When strict is off, the damage penalty is very low when people stay above
// 800.
// Enabling strict mode makes karma play a larger role in discouraging any
// unnecessary kills, while disabling it results in a more “loose” game where
// karma only hurts players who constantly teamkill.
ttt_karma_strict "1"
// Karma players start out with.
// If you want players to be able to “earn” a damage bonus, you could set
// this to 850 or so.
// Playing clean rounds will let them increase it to a 1000 and do a few
// percent more damage than a new player.
ttt_karma_starting "1000"
// Maximum karma a player can have.
// Note that increasing it above 1000 does not mean players with 1100 karma
// will get a damage bonus. It would just give them a "buffer" before they
// get a damage penalty.
ttt_karma_max "1200"
// If a player has not hurt or killed a teammate this round,
// he will be "healed" an extra 30 karma (for a total of 35, under default
// settings). So if you have bad karma it is rewarding to lie low.
ttt_karma_clean_bonus "25"
// Bonus karma for killing a traitor.
ttt_karma_traitorkill_bonus "25"
// The karma threshold at which players get kicked.
ttt_karma_low_amount "0"
// Automatically kick players who get a low karma level at the end of a round.
ttt_karma_low_autokick "0"
// The karma threshold at which players get kicked.
ttt_karma_low_amount "0"
// When autokicking, also ban players if this is enabled.
// No effect if autokick is off.
ttt_karma_low_ban "0"
// Minutes to ban players, 0 should be perma.
ttt_karma_low_ban_minutes "5"
// Stores the karma of a player in persistent storage,
// at the end of the round or if they disconnect.
// Then upon reconnection it will be loaded.
// This means the karma will persist even when the map changes.
ttt_karma_persist "1"
// Enables debug output to console about karma changes.
ttt_karma_debugspam "0"
// When a player’s Karma is above the starting level (meaning the karma max
// has been configured to be higher than that), all his karma increases will
// be reduced based on how far his karma is above that starting level.
// So it goes up slower the higher it is.
//
// This reduction goes in a curve of exponential decay: initially it’s fast,
// and it slows down as the increment gets smaller.
// This convar sets at what point the bonus has been halved (so the half-life).
// With the default value of 0.25, if a the starting amount of karma is 1000
// and the max 1500, and a player has karma 1125 ((1500 - 1000) * 0.25 = 125),
// then his clean round bonus will be 30 / 2 = 15.
// So to make the bonus go down faster you’d set this convar lower, to make
// it go down slower you’d increase it towards 1.
ttt_karma_clean_half "1"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Traitor credits
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Number of credits traitors start with.
// Traitors can spend credits on special equipment.
ttt_credits_starting "1"
// When this percentage of the innocent players are dead,
// traitors are awarded more credits.
ttt_credits_award_pct "0.20"
// The number of credits awarded.
ttt_credits_award_size "1"
// Whether the credit award is handed out multiple times.
// if for example you set the percentage to 0.25, and enable this, traitors
// will be awarded credits at 25% killed, 50% killed, and 75% killed.
ttt_credits_award_repeat "1"
// Number of credits a traitor receives when he kills a detective (detective) player.
ttt_credits_detectivekill "1"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Detective credits
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Number of credits detective players start with.
ttt_det_credits_starting "3"
// Number of credits detectives receive when they kill a traitor.
ttt_det_credits_traitorkill "0"
// Number of credits detectives receive when a traitor dies, no matter what killed him.
ttt_det_credits_traitordead "0"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Prop possession
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Toggle whether spectators can possess props.
ttt_spec_prop_control "1"
// Number of prop punches in a filled punch-o-meter with no score modifier.
ttt_spec_prop_base "5"
// Maximum decrease of the punch-o-meter limit for a negative score.
ttt_spec_prop_maxpenalty "0"
// Maximum increase of the punch-o-meter limit for a positive score.
ttt_spec_prop_maxbonus "0"
// Amount of force by which each punch moves the prop.
ttt_spec_prop_force "250"
// Number of seconds for one point in the punch-o-meter to recharge.
ttt_spec_prop_rechargetime "1"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Admin-related
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Time in seconds a player is allowed to be idle after a round has started
// before he is moved to spectator.
ttt_idle_limit "900"
// Time in minutes to ban players who changed their name. Set to 0 to disable.
ttt_namechange_bantime "0"
// Specifies how automatic bans made by TTT (low karma, namechange, etc)
// should be performed. This lets you specify whether TTT should use
// an admin plugin to ban, which can then make it easier to remove or adjust
// those bans using your admin plugin's interface.
//
// Possible settings for this convar:
//
// autodetect: Will detect the Lua-based plugins ULX and Evolve if present,
// else it will use standard “banid” bans.
// gmod: Uses standard “banid” to ban.
// ulx: Force the use of ULX/Ulib to ban.
// evolve: Force the use of Evolve to ban.
// sm: Will use Sourcemod’s sm_ban command. Note that SM is not auto-detected.
//
// Note that this functionality is old and may not work if the admin plugins
// have changed in the meantime.
ttt_ban_type "ulx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Miscellaneous
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Enable to make detectives get a special hat. May be buggy (but worth it).
ttt_detective_hats "1"
// Sets player coloring mode.
// 0 = off, 1 = muted/dark colors only,
// 2 = select from a larger list of colors including brighter ones,
// 3 = fully random colors.
ttt_playercolor_mode "3"
// By default ragdolls will not collide with other ragdolls and some small
// physics objects (or doors set not to collide with debris).
// Enabling ragdoll collision will change that.
// Earlier versions of TTT had ragdoll collision, but this allowed griefers
// to create situations where ragdolls were physics-glitched to constantly
// collide, causing serious lag.
// Some maps may expect ragdolls to collide though. Use with care.
ttt_ragdoll_collide "0"
// Bots are spawned as spectators and will never be traitor.
// Useful for sourceTV.
ttt_bots_are_spectators "0"
// Prevents the round from ending, useful for testing on your own,
// but little else.
ttt_debug_preventwin "0"
// Toggles locational 3D voicechat sound for living players.
ttt_locational_voice "1"
// Enable to make the Discombobulator push force reliable for the thrower.
// This means you can easily perform discomb jumps,
// which is fun but exploitable on certain maps.
ttt_allow_discomb_jump "1"
// Spawns players in waves,
// where each wave spawns as many players as there are spawnpoints.
ttt_spawn_wave_interval "5"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// LICENSE
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// The MIT License (MIT)
// Copyright (c) 2016 RalphORama
// Copyright (c) 2022 Steffo
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment