TTT (Trouble In Terrorist Town)


Inspired by the popular Garry's Mod gamemode Trouble In Terrorist Town, this plugin attempts to emulate the game in Minecraft. At the start of a round, players are assigned a role: Innocent, or Traitor. It is the job of each group to eliminate the other. While the traitors are outnumbered, they have the advantage of knowing the role of all players. It will be up to the Innocents to decide who should live, and who's a traitor.


  • Traitors are automatically selected at a configurable rate
  • Players are automatically given a "crowbar" and a "gun" when entering a game
  • Ingame players may not chat with players outside the arena
  • Dead players receive messages of the living, but not vice versa
  • When a player dies, he becomes a spectator, not visible to other players
  • Dead players leave behind "bodies", or chests detailing their role
  • Rounds automatically start once enough players have entered an arena
  • Detective roles are randomly assigned to players at a configurable ratio to total players
  • Players' ingame actions affect their karma level in the exact same configurable way that it does in the real Trouble In Terrorist Town game
  • Players' karma is displayed on an ingame scoreboard along with their alive status
  • Fully functional lobby system, allowing for automated minigame servers
  • Admins can import worlds from folders in the server's root directory
  • When a dev, tester, or translator of the plugin joins a round, the message announcing the event will state their role.
  • Automatic build stability checker. When a build is marked as unstable, a warning will be displayed to the console when the plugin loads, and to administrators when they join. (Note: this means the plugin must connect to my web server to retrieve the build status as a string.)

How to Use

To start, you'll need to import a TTT map. This is done by placing the folder containing the map into your server's root directory, then type /ttt import [world name]. Now that your world is imported, you'll need to join the map with /ttt join [world name]. Once a certain number of players (defined in the config) have joined a map, the round preparation timer will automatically start, and after that, the round. Once all innocents or traitors have been eliminated, players will be teleported out of the world, which will be rolled back. Lobby Help

English Video Tutorial


Some friends have assisted me in making maps for this plugin, and many of them will soon be available for download right here. You must simply copy the world folder from the ZIP archive for each map into your server's root directory, then run /ttt import to import it into the plugin.

Commands, Configuration, and Permissions




Planned Features

Items are organized by priority, highest to lowest. This list is subject to change, and as such, version predictions are not set in stone. They do, however, give a general idea of how long it will be before a feature is added. Major updates (where the first or second digit of the version number changes) typically take one to two months to release.

  • Custom map data: when a map creator makes a TTT map, he or she will have the option to define areas which will function as traitor rooms, traitor testers, and ammo crates. This will be stored in and loaded from a single file in the TTT world directory. (Will likely be included in 0.8.0)
  • A credit system similar to the one in the actual game (Will likely be included by 0.9.0)
  • More guns! (This could take a while, as it would take a lot of code to make each gun unique)
  • Implement vanilla spectating (sometime after MC 1.8 is released)

If you would like a feature added which is not on this list, please create a ticket explaining it in detail.


Current Version (0.6.0)

New Features

  • Arenas may be created based on locations, rather than having to import an entire world
  • Arenas may have multiple spawn points
  • Add support for Minecraft 1.6.x and earlier (untested)
  • Add preemptive support via MGLib for vanilla spectator gamemode (untested, obviously)
  • Add custom Metrics graph for MGLib version
  • Lobby signs now count up if time is unlimited

Bug Fixes

  • Fix incompatibility with MultiVerse
  • Fix karma clean bonus being improperly calculated
  • Fix players becoming stuck if they fall into the void while preparing
  • Fix scoreboard not always being properly updated
  • Fix bodies forming double chests
  • Fix a load of NullPointerExceptions

Internal Changes

  • Rebuild project to use MGLib instead of an integrated engine
  • Refactor permissions (old ones work, but are deprecated)
  • Modify certain subsystems to use UUIDs instead of usernames

Click here to view the changelog for all versions

Known Bugs

  • Messages introduced in 0.5 and later may not be 100% accurate for some locales; namely: deDE, nlNL, plPL, and ptBR

Help, It's Broken!

If you should encounter a bug not listed on this BukkitDev page, please create a ticket explaining in detail the bug and the steps taken to produce it. Please include an error log (if applicable), as we generally can't do anything without it. Please refrain from reporting bugs in the comments!

Donate Maybe?

Hey, I just met you And this is crazy But here's my plugin So donate maybe?

I... I'm sorry. I literally wrote that in 5 seconds right before I typed it. Joke's on me, because now that song is stuck in my head. Anyway, if you'd like to support my work, feel free to click that donate button up at the top.

Translators Needed

Starting with v0.7.0, TTT will no longer ship with locales apart from enUS and deDE. The reason for this is that I'm still adding messages at a very high rate, and I can't reasonably hope to maintain eleven translations, ten of which I don't understand at all. However, I will keep legacy locales on my website, along with any that are sent to me. Remember that you can always provide a custom locale in the plugins folder under "locales".

[Legacy Locales](

Bleeding-edge Builds

Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk. Additionally, these builds often undergo little to no testing, so there is no guarantee they will function properly. You can download them here.

Build Status

Steam Group

Source Code


This plugin is designed to submit anonymous usage statistics to Click the below graphs to see them:




Special thanks to HostHorde for supporting TTT! Make sure to check them out!


You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of caseif caseif Jan 17, 2015 at 15:16 UTC - 0 likes

    @dumski: Go

    MGLib (TTT's backend) relies on UUIDs, which it can't retrieve for accounts that don't exist. So unfortunately, cracked servers are not supported.

    MGLib: Minigames Made Easy My Blog
  • Avatar of dumski dumski Jan 17, 2015 at 12:52 UTC - 0 likes

    Hey, At first:This plugin is awesome! But I have a problem,some players can't join in a game,I think it's because they have cracked minecraft.How can i fix that? (Sorry for my bad englisch,I'm from Germany)

  • Avatar of BaneOfSmite BaneOfSmite Dec 31, 2014 at 11:16 UTC - 0 likes

    @djoveryde: Go

    maybe set a warp using another plugin? >.<

  • Avatar of caseif caseif Dec 20, 2014 at 01:02 UTC - 0 likes

    @djoveryde: Go

    Hm, that's odd. What versions of TTT and MGLib are you using? (You can find the exact string by running /ttt or /mglib).

  • Avatar of djoveryde djoveryde Dec 19, 2014 at 11:12 UTC - 0 likes

    I have created a multiverse world for both Slender and SkyBowl but when i join them all i get is new world render. Any idea how I stop it from constantly dropping me in the wrong location

  • Avatar of caseif caseif Nov 08, 2014 at 15:54 UTC - 0 likes

    @thedeadx: Go

    I may release a patch to make it configurable, but I would want to wait for a couple other small features to add as well. I'll keep you posted though.

  • Avatar of thedeadx thedeadx Nov 08, 2014 at 11:06 UTC - 0 likes

    okay there is one thing. If you rightclick with the gun it disappears (second time clicking its back). Would be really nice if you could fix this one thing :3. Or just make a part in the config where you can chance the item for the gun. For example just a horsearmor :).

  • Avatar of caseif caseif Oct 28, 2014 at 18:53 UTC - 0 likes

    @thedeadx: Go

    Sorry to say, I don't intend to add any major features to the Bukkit version of this plugin going forward. Instead, I'd like to focus on porting the plugin to Sponge, and once that's done, I'll update that version as I normally would. However, I'm not completely dropping support, and I'm always happy to fix bugs if you should find any in the future.

  • Avatar of thedeadx thedeadx Oct 28, 2014 at 17:49 UTC - 0 likes

    We didn't found any problematic bug in the newest snapshot yet.

    But it would be really great if you could upload a version where you can get more ammo ;). That would be really nice :D.

  • Avatar of caseif caseif Sep 21, 2014 at 20:59 UTC - 0 likes

    @thedeadx: Go

    I'd highly recommend sticking to the latest release (0.6.0), since I'll be doing a bunch of weird conversion stuff that will probably cause the snapshots to break. I don't intend to do anything substantial in terms of features other than switch the software I'm developing for, anyway, so rest assured you're not missing out. :)

Which feature do you want to see most in 0.7.0?

  1. Choice:

  1. Results
  2. 0 comments


Date created
Feb 22, 2013
Last update
Sep 10, 2014
Development stage
  • deDE
  • enUS
  • esES
  • frFR
  • itIT
  • plPL
  • ptBR
MIT License
Curse link
TTT (Trouble In Terrorist Town)
Recent files