TTT (Trouble In Terrorist Town)
PLEASE DO NOT REPORT BUGS/REQUEST FEATURES IN THE COMMENTS. CREATE AN ISSUE INSTEAD.
What is TTT?
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.
Note: This plugin requires the latest version of Steel.
Documentation (commands, permissions, tutorials, etc.)
Rich Documentation (GitHub wiki)
Legacy Documentation (BukkitDev)
Help, It's Broken!
If you should encounter a bug not listed on this BukkitDev project, please create an issue explaining in detail the bug and the steps taken to produce it. Please include an error log (if applicable), as I generally can't do anything without it. Please refrain from reporting bugs in the comments!
Translating TTT
I've set up a Crowdin page to help organize translations for the plugin. If you speak a language other than English, you can head over and contribute translations which will eventually be included in the plugin. It's really easy to use, and has an intuitive interface to make translating as painless as possible.
bStats/Telemetry
This plugin is designed to submit anonymous usage statistics to bStats.org. This includes a UUID, the Java version, online mode, plugin version, server version, OS version and arch, CPU core count, player count, and metrics version. This may be toggled via the plugin-metrics
config key. Click here to see them.
Additionally, TTT submits anonymous usage data to a remote server. This includes a UUID, the plugin version, the Flint API level, the plugin's operating mode, and summary statistics regarding arenas and rounds. This may be toggled via the enable-telemetry
config key.
Disclaimer
TTT includes an auto-updater which will automatically download new updates to the plugin by default. This may be toggled via the auto-update
key in the config.
External Links
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.
PLEASE DO NOT REPORT BUGS/REQUEST FEATURES IN THE COMMENTS. CREATE AN ISSUE INSTEAD.
@Mortalsinn
No, they automatically roll back once a round is complete.
Does the server have to shut down when resetting the worlds?
@Speedrod99
/ttt quit ;)
Would you mind filing tickets for the bugs you mentioned? It would make things a bit easier, as I can just reference tickets when updating.
EDIT: I've fixed both of these problems, and pushed the new code to the Github repo.
Can you make a /ttt leave command? When the game lags out and players rejoin, they cannot break blocks. It would help :)
@Speedrod99
The server will automatically regenerate the uid.dat file inside a folder once a world is loaded. The plugin now removes the uid.dat from the original folder when copying, so re-importing should solve the problem.
@nikgro
As in, have different arenas in the same world? No, I don't think so; that would make rolling the worlds back a massive pain. :/
There is still the bug with UID.dat inside the TTT_village or whatever map. The plugin generated the TTT_village map and when you finish a game, the bug keeps regenerating itself.
could u do that you mustnt create a new world for each arena?
@caseif
Could you add the source? So I could try to help you with the test
If you wish, I could assist in testing releases before you officially release them. I could look for bugs and stuff :D
@Speedrod99
Well, glad to hear you resolved it. I suppose I should have the plugin remove uid.dat as well as session.lock, seeing as the latter has caused some problems in the past.
Just deleted the other comment, I found that the main cause was that the UID.dat files in TTT_villagewithskies was a duplicate of that of the regular maps'. It was a conflicting error which resulted in the bug with the command execution. Thank you for helping me though :D It's a great plugin :D
@Speedrod99
Hmm...
Alright, I see what you mean. That could be a little tricky to do, so it will probably be done in a later update.
@Speedrod99
Alright, I'll look into it. For future reference, if you find any bugs, please file a ticket rather than posting a comment.
EDIT: On second thought, given the line that it occurred on, it could be hard to reproduce this. Could you please file a ticket explaining exactly how to reproduce it? (The report needs to be gruelingly detailed, or I won't be able help you. :P)
@caseif
I mean like, a command that you do, like /ttt setspawn player1, to make it so that for the first player in the game, they spawn on the block you are standing on.
@Speedrod99
I don't think I'll be adding this any time soon. First, there's the issue of figuring out where the spawn points should be, and there could also be a chance of spawning the player outside the arena.
Next feature you should begin working on is seperate spawns for each player :)
@Dreamiix3
Sign support will be added in a later update. Currently, my priorities are detectives, karma, then signs, respectively.
Sign support was nice... i mean: [TTT] map name Player/Player
@Speedrod99
Ah, right. I forgot to add in a page listing commands. I'll add a commands page in a bit, but for now, I'll just tell you. First, you need to import a map. It can be named anything, so long as it doesn't start with "TTT_". Type /ttt import [folder name] to import the world into the plugin, then join a game with /ttt join [map name]. The game will automatically start when the number of players in a map is greater than or equal to the minimum-players value in the config (defaults to 3).
What are some commands? How do I start a game? It seems very lovely but I need some help :D
@Kartikitrak
With the way it's designed, it should take up a very small amount of the server's memory, and as such, could be simply run as a minigame.