Trouble in Terrorist Town GMod 10 (Fretta) gamemode *** Description: Disaster strikes in the Terrorist team! These plucky bomb-planting fighters have traitors in their midst who are looking to kill them all! But who are the traitors... and who will come out of this alive? *** Fretta: TTT is Fretta-compatible, which in this case means players get the chance to vote in order to switch to a different Fretta gamemode. If you run a server with only TTT on it, you can disable the voting by putting: fretta_voting 0 In your server.cfg file. This will pretty much make TTT act like a non-Fretta gamemode. *** Installation: Extract .zip contents into: X:\Steam\steamapps\your@account\garrysmod\garrysmod\ Or for a dedicated server: X:\srcds\orangebox\garrysmod\ So that you get a \garrysmod\gamemodes\terrortown\ directory, and several textures are placed under \garrysmod\materials\ (eg. \materials\VGUI\ttt\*). Only the server needs to manually install it. Clients will automatically receive the necessary files when they connect. *** Dedicated server (srcds) preparation: The gamemode _requires_ CS:S content to be installed. The Garry's Mod wiki has some information on this (and other srcds setup procedures) here: http://wiki.garrysmod.com/?title=Dedicated_Server_Setup#Extra_content Note that in order to run the game in "Detective mode" (ie. extra detective- like gameplay elements such as hiding who died until the body has been found) you should enable GMod's ScriptEnforcer functionality. Without it, cheating will be very easy. The gamemode includes a ScriptEnforcer manifest file (which defines what scripts clients are allowed to run), so ideally all you should need to do is set sv_scriptenforcer to 1. *** Convars: (Scroll down for concommands) Something you should know to understand these settings: A round in TTT has the following phases: Preparation phase -> [1] -> Round is happening -> [2] -> Post-round phase. During the preparation phase players cannot hurt each other or destroy explosive props. It's a ceasefire situation while everyone gets a chance to spread out and gather items. At [1], the traitors are picked, and newly connected players will spawn as spectator. After this point the game is on, you could say. It keeps going until at [2] a victory condition happens: either the traitors win, or the innocents win, or the timelimit is reached. Then a moment of contemplation and review occurs in the form of the post-round phase. **** Round structure convars: ttt_roundtime_minutes (def. 10): The time limit for each round, given in minutes. ttt_preptime_seconds (def. 30): 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_posttime_seconds (def. 30): The length of time after a round has ended before the next cycle of begins. The round report is displayed at the start of this phase. During this phase, stats/points are no longer tracked. Specified in seconds again. ttt_round_limit (def. 6): The max number of rounds until the map is switched (needs a mapcycle.txt). ttt_time_limit_minutes (def. 75): The max number of minutes until the map is switched (needs mapcycle.txt) ttt_spawn_wave_interval (def. 0): If 0, spawns all players at once, and will attempt to rig extra spawnpoints if there are not enough. Can result in players spawning in walls. If larger than 0, spawns players in waves, where each wave spawns as many players as there are spawnpoints. The time between each wave is the value of the convar in seconds, so setting it to 5 will mean waves are 5 seconds apart. Spawn waves are probably the best method for large servers. IMPORTANT: make sure your ttt_preptime_seconds is large enough to fit all waves in it. Odd behaviour can occur if that is not the case. **** Gameplay convars: ttt_sherlock_mode (def. 1): Enables a large set of gameplay elements that make the game more detective-like. Most importantly, when a player dies this is no longer immediately visible on the scoreboard. Rather, his body has to be found to confirm his death. ttt_traitor_pct (def. 0.25): 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_max (def. 32): 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_detective_pct (def. 0.13): Percentage of total players that will be a detective (detective innocent). Handled similar to traitor_pct (rounded down etc). ttt_detective_max (def. 32): Maximum number of detectives. Can be used to cap or disable detectives. ttt_detective_min_players (def. 10): 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_karma (def. 600): If a player's Karma falls below this point, his chances of being selected as detective are reduced. ttt_minimum_players (def. 2): 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_postround_dm (def. 0): Enables damage after a round has ended. Kills are not recorded for scoring purposes, so it's a free for all. ttt_dyingshot (def. 0): 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 dying shot. **** Karma convars: ttt_karma (def. 0): 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. Lowered karma results in a damage penalty. The loss is exponential-ish, so going from 1000->900 only reduces your damage by a percent or two, whereas a karma of 600 or so will halve your damage. Besides the damage penalty, other players will have less incentive to hold their fire if you have terrible karma, because it will not cost them as much karma to kill you. The penalty is based on the victim's karma, after all. So kill a clean player and you will get penalised a lot, but kill an overly aggressive trigger-happy player or a griefer and your penalty will likely be much smaller. The damage penalty is computed at the start of the round. The karma at that time is the base karma, it's shown on the scoreboard and players have a karma status description like "Reputable" when you target them. During a round, as people kill each other, karma is adjusted as that happens, but players cannot see the "live" value (because it would betray who is innocent). The "live" karma is used in the penalty computations, so if you see a guy kill 5 others, you can kill him knowing he is either a traitor or his karma will be low. See the other karma convars for more details. ttt_karma_starting (def. 1000): 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_max (def. 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_ratio (def. 0.001): The ratio of the damage that is used to compute how much of the victim's karma is subtracted from the attacker's. You can make penalties larger by slightly(!) increasing this, to eg. 0.0015, or smaller by reducing it. ttt_karma_kill_penalty (def. 15): All karma penalties are based on damage dealt. The kill penalty is just an extra amount of "damage" dealt when you kill someone. So if this was 100, and you headshot someone with a rifle, it would penalise you as if you dealt 200 damage. ttt_karma_round_increment (def. 5): The base amount by which everyone's karma is "healed" at the end of every round. ttt_karma_clean_bonus (def. 20): If a player has not hurt or killed a teammate this round, he will be "healed" an extra 20 karma (for a total of 25, under default settings). So if you have bad karma it is rewarding to lie low. ttt_karma_traitordmg_ratio (def. 0.0003): Like ttt_karma_ratio, but for the karma reward for damaging a traitor. By default damaging a traitor is rewarded roughly 1/4th of the penalty you'd get if it were a full-karma innocent. ttt_karma_traitorkill_bonus (def. 40): Bonus karma for killing a traitor. Scaled by the traitordmg_ratio. ttt_karma_debugspam (def. 0): Enables debug output to console about karma changes. **** Map-related convars: ttt_use_weapon_spawn_scripts (def. 1): Toggles whether weapon scripts will be used. These .txt files in the /maps/ folder can be used to override or add weapon, ammo and player spawnpoints in a map. This is very useful for CS:S or HL2DM maps. **** Traitor equipment credits convars: ttt_credits_starting (def. 1): Number of credits traitors start with. Traitors can spend credits on special equipment. ttt_credits_award_pct (def. 0.35): When this percentage of the innocent players are dead, traitors are awarded more credits. ttt_credits_award_size (def. 1): The number of credits awarded. ttt_credits_award_repeat (def. 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_detectivekill (def. 1): Number of credits a traitor receives when he kills a detective (detective) player. **** Detective equipment credits convars: ttt_det_credits_starting (def. 1): Number of credits detective players start with. ttt_det_credits_traitorkill (def. 1): Number of credits detectives receive when they kill a traitor. **** Misc. convars: ttt_bots_are_spectators (def. 0): Bots are spawned as spectators and will never be traitor. Useful for sourcetv. ttt_debug_preventwin (def. 0, ie. disabled): Prevents the round from ending, useful for testing on your own, but little else. ttt_idle_limit (def. 180): Time in seconds a player is allowed to be idle after a round has started before he is moved to spectator. *** Concommands: ttt_roundrestart: Triggers the round to restart, will go immediately to a new round in the form of a new preparation phase. Requires GMod admin/superadmin status, or sv_cheats enabled. ttt_version: Prints current version number. ttt_print_traitors: Prints who are the traitors. Requires admin status, or RCON. ttt_print_adminreport: Prints who killed who. Requires admin status/RCON. ttt_print_usergroups: Prints everyone's usergroup, for debugging gmod admin status. ttt_dropweapon: Will drop your current weapon. By default the key that would open the GMod spawn menu (default: Q) instead performs this action. You can manually bind it to other keys using this concommand. ttt_spectate: Moves you onto the spectator team. You will not spawn as Terrorist until you use "ttt_spectate 0" to turn this off again. ttt_force_terror: Forces you to spawn as a Terrorist. Cheat. ttt_force_traitor: Forces your status to traitor. Cheat. ttt_cheat_credits: Gives you equipment credits. Cheat. *** Credits: Bad King Urgrain made this in 2009/2010 Weapon/ammo/player spawn placement scripts included in TTT (such as those for the CS:S maps) were contributed by the following people: Ajunk Broadsword eeny JossiRossi that guy worbat