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.
Let's Talk about Java Versions
Java 8 was recently released, and yet some of you are still on Java 6. While I will continue to compile TTT with JDK 1.6 since I don't feel like re-configuring my build server, I highly recommend that you update to Java 7 or 8, because other devs may not stick to 6, as it's now two versions behind.
When Will You Release the Next Update?
I recently started a new project called MGLib. It's basically a library designed to ease the creation of minigame plugins. As such, I'm going to be devoting most of my coding time to it over the next few weeks. Its backend will be based on TTT, so it will in many ways be similar. My ultimate goal is to recode TTT to use MGLib. This will result in the implementation of plenty of promised features such as multiple arenas per world and dedicated mode. However, development on TTT will be put on hold until I can get a working beta of MGLib out.
Update: MGLib 0.3.0 should be generally available within a week or two. In the meantime, I've started porting TTT to the snapshot builds. The aim is to release TTT 0.6.0 and MGLib 0.3.0 at the same time. The initial process is mostly complete as of 7/24, but it still requires a ton of testing. I'll update this blurb as the porting continues.
- 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 ghost, 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.
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
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.
- Multiple maps in one world (available in 0.6.0 snapshots)
- Multiple spawnpoints per map (available in 0.6.0 snapshots)
- 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.7.0)
- A credit system similar to the one in the actual game (Will likely be included by 0.8.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. Please do not create tickets for features which are already on this list!
Current Version (0.5)
- New Features
- Add lobby system
- Lobby signs are protected from direct and indirect destruction
- Two types of signs: "status" and "players"
- Add "/ttt help lobby" command
- Add build stability checker (reports stability of current build when plugin is loaded)
- DNA scanners spin when no sample has been collected
- Add esES locale
- Add itIT locale
- Add plPL locale
- Add output to /ttt ss command
- Bug Fixes
- Fix "IOException: String length longer than maximum allowed (X > 16)"
- Fix improper round conclusion on server reload/restart (before, players in rounds would lose their inventory and remain in the arena)
- Fix conflicts with Multiverse
- Fix potential memory leaks on server reload due to static variables
- Change gamemode to survival on round join
- Fix IllegalPluginAccessException on disable
- Fix StringIndexOutOfBoundsException when importing world
- Internal Changes
- Refactor project to "TTT"
- Load all config values on plugin enable so as not to continually reference it while running
- Update MCStats to Revision 7
- Change encoding of source files and in turn strings in binaries to UTF-8 without BOM
- Change encoding of locales to UTF-8 without BOM, fixing special characters being displayed incorrectly
- Change updater class so as to comply with ToS changes
- Compile with Java 7
- Messages introduced in 0.5 may not be 100% accurate for some locales; namely: deDE, nlNL, plPL, and ptBR
- Lobby signs may not update properly upon round end
Help, It's Broken!
If you should encounter a bug not listed on this BukkitDev site, 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. Bug reports posted in the comments of this page will be ignored!
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.
I also accept various cryptocurrencies. Here are my addresses:
We need translators to help translate this plugin into as many languages as possible. If you speak English and your native language has not yet been localized (or has, but is inaccurate), we encourage you to download the English localization file and translate it for us. Make sure not to touch the keys, only the messages! You'll receive credit for translating it on the plugin's page. Each update usually adds new messages to the plugin, so we ask that you be able to translate a few additional messages each month or so (the typical time between updates). If a release is delayed while waiting for translations, we will unfortunately need to use Google Translate for any missing messages.
The plugin is currently localized in:
- enUS (Default locale)
- ptBR (Translated by TheGuigs007)
- deDE (Translated by MeinPvP & XpertHax)
- daDK (Translated by jon674)
- frFR (Translated by JeyWake)
- nlNL (Translated by SuicideSilence_)
- roRO (Translated by RokkeyCX)
- nbNO (Translated by Rocoty)
- plPL (Translated by gasacz)
- esES (Translated by victormac)
- itIT (Translated by Nikkolo94)
Development builds of this project can be acquired at the provided continuous integration (Jenkins) server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
This plugin is designed to submit anonymous usage statistics to MCStats.org. Click the below graphs to see them:
If you want to keep up with the development of the plugin, be sure to check out my Twitter feed here. I'll be posting updates as to each update's progress, along with anticipated release dates.
Special thanks to HostHorde for supporting TTT! Make sure to check them out!
Table of contents
- 1 Let's Talk about Java Versions
- 2 When Will You Release the Next Update?
- 3 Features
- 4 How to Use
- 5 Maps
- 6 Commands, Configuration, and Permissions
- 7 Planned Features
- 8 Changelog
- 9 Known Bugs
- 10 Help, It's Broken!
- 11 Donate Maybe?
- 12 Translators Needed
- 13 Bleeding-edge Builds
- 14 Source Code
- 15 MCStats
- 16 Status Updates
- 17 Sponsor
- Date created
- Feb 22, 2013
- Last update
- Jan 02, 2014
- Development stage
- GNU General Public License version 3 (GPLv3)
- Curse link
- TTT (Trouble In Terrorist Town)
- Recent files
- B: TTT v0.5-pre5 (Prerelease #5) for CB 1.7.2-R0.2 Jan 02, 2014
- R: Trouble In Terrorist Town v0.4.1 for CB 1.6.2-R1.0 Jul 31, 2013
- R: Trouble In Terrorist Town v0.3 for CB 1.5.2-R0.1 Jun 11, 2013
- R: Trouble In Terrorist Town v0.2 for CB 1.5.2-R0.1 May 04, 2013
- R: Trouble In Terrorist Town v0.1.1 for CB 1.4.7-R1.0 Mar 02, 2013