TTT – Trouble in Terrorist Town

Traitors are hiding among the players. The Innocents have to find them before they are all dead themselves, and the Detectives help them. It plays like on GommeHD:

  • Chests with weapons and the traitor tester
  • Corpses that you identify
  • Karma and a points shop for Traitors and Detectives
  • Passes that you buy with coins

TTT is a game mode (license gm:ttt); everything can be configured per task.

Setting up

  1. Create a task: Cloud → Spielmodi ("Game modes") → TTT → Task erstellen ("Create task"). 1.5 GB RAM is enough for 24 players.
  2. Maps: at least one waiting lobby and one arena. Several arenas are better, because then there is a map vote.
  3. Set markers on the setup server (/gsetup tp <Karte>, /gsetup marker <Typ>):
MarkerMapCountHow to set
lobby-spawnWaiting lobbyexactly 1stand there
spawnArenaat least 4, ideally as many as there are slotsstand there (viewing direction counts)
spectatorArenaexactly 1stand there: the dead and spectators appear here
tester-insideArena0–1stand there: whoever stands here (1.5 blocks) gets tested
tester-buttonArena0–1look at the button
tester-lampArena0–8look at the lamp blocks (they light up green or red)
tester-doorArena0–16look at each block of the closed door (e.g. iron blocks in the entrance): open during the round, closed while testing, so the tested player is locked in
trap-buttonArena0–1look at the button of the traitor trap
  1. Chests you simply build into the map: every chest (trapped chests too) gives a random item when opened and disappears. An ender chest gives the strong item (default: iron sword).
  2. Finish setup.

How a round works

PhaseWhat happens
LobbyPlayers wait in the waiting lobby. From Minimum players (Mindestspieler) on, the countdown runs; when the round is full it jumps to Countdown when full (Countdown bei voller Runde). At 10 seconds the map is fixed.
Grace periodEveryone starts on the spawns. No damage, loot the chests.
RoundThe roles are assigned. A team wins when the other one is dead; if time runs out, the Innocents win.
EndThe winners and all roles are shown, along with karma, coins and statistics. Then everyone goes back to the lobby, and the server makes room for a fresh round.

Roles:

  • Traitors: players × Traitor share (Anteil Traitor), at least 1.
  • Detectives: only from Detectives from players (Detective ab Spielern) on; they are visible to everyone (blue name, blue helmet).
  • Innocents: everyone else.

Traitors see the other Traitors in red and write in the traitor chat (@Nachricht, i.e. @ followed by the message, or /tc). The dead and spectators only chat among themselves and see all roles.

Corpses

Whoever dies stays behind as a corpse with their head („Unbekannte Leiche“, "Unknown corpse"). A right-click identifies it; everyone then learns who it was and which role they had. Detectives additionally see how long the person has been dead. Optionally they also see whether the killer was a Traitor (Detective sees killer's role, Detective sieht Täterrolle).

Traitor tester

One player stands on the tester spot, another one presses the tester button. After the Test duration (Prüfdauer) the lamps light up red (Traitor) or green; after that the tester needs a cooldown.

The traitor trap: once per round a Traitor presses the trap button. The tester then always shows green for a while.

Karma

EventKarma (default)
Killed an enemy+20
Killed an ally (Innocent ↔ Detective are one team)−50
Damage to an ally−3 per heart
Finished the round without a wrong kill+5
  • Starting value: Everyone starts with 1000, which is also the maximum.
  • Less damage: With Damage by karma (Schaden nach Karma), players below the starting karma deal less damage (karma ÷ start, at least 50 %).
  • Lockout: With Lockout below karma (Sperre unter Karma), players with too little karma are no longer allowed to play at all.

Shop

Traitors and Detectives get a shop item (emerald, right-click). Payment is in points: Starting points (Startpunkte) at the start of the round, plus Points per kill (Punkte pro Kill) for every enemy.

ItemTraitorDetectiveEffect
Healing potion11Right-click: 4 hearts
Speed11Right-click: 20 s Speed II
Knockback stick1–Stick with Knockback III, 3 hits
Invisibility2–15 s invisible (armor stays visible)
Creeper bow2–5 arrows that cause a small explosion on impact
Fake chest1–Place it: explodes when a non-Traitor opens it
Jihad bomb3–Right-click: big explosion after 3 s, for you too
Radar2160 s: compass and level point to the nearest player
Healing station–2Place it: heals players next to it (30 heals)

Every price is configurable. With 0, an item is not in the shop. Kills by explosions count for whoever triggered them. The map itself always stays intact.

Passes

With a Traitor or Detective pass you are guaranteed the role as long as slots are free.

  • How many: At most Max. via pass (Höchstens per Pass) of the slots, by default half.
  • Redeeming: in the lobby via the pass item. The pass is only used up once you actually get the role.
  • Buying: in the same menu with coins (Traitor pass price (Preis Traitor-Pass) and Detective pass price (Preis Detective-Pass); 0 = cannot be bought).
  • Free: Anyone with eternal.ttt.pass.free redeems passes for free.
  • Granting: /ttt givepass <player> <traitor|detective> [amount] (permission eternal.ttt.pass.give; minus takes away) or in the dashboard under Cloud → Gamemodes → task → Pässe, with a history.
  • Web shop (real money too): REST API with an API key or the permission eternal.web.gamemodes.passes:
POST /api/gamemodes/ttt/passes/player/{name or UUID}
{ "kind": "traitor", "amount": 1, "reference": "order-1234", "reason": "Web shop" }
→ { "ok": true, "duplicate": false, "count": 3, "uuid": "…", "name": "…" }
  • A reference (order id) is booked once: if the payment provider repeats the call, the answer is "duplicate": true and no second pass is granted.
  • A negative amount takes passes away (e.g. for a chargeback); if the player has fewer, the API answers 409.
  • A UUID also works for players who have never joined.
  • GET /api/gamemodes/ttt/passes/player/{player} returns count and history, GET /api/gamemodes/ttt/passes/reference/{reference} the booking of an order.
    • Passes belong to the player network-wide. Buying, granting and redeeming are separate bookings; nothing overwrites anything (not even while the player is in a round).

Rewards and statistics

Coins are awarded for a win (Coins per win (Coins für Sieg), everyone in the winning team) and for every enemy kill (Coins per kill (Coins pro Kill)). For this the server needs the Coins module. If a coins cluster is set on the TTT server, they go into that cluster's balance.

/ttt stats [Spieler] shows:

  • Games, wins and karma
  • Kills (correct and wrong), deaths and K/D
  • Wins per role and your own passes

The data applies across the whole network and to all TTT tasks.

Commands

CommandPermissionEffect
/ttt stats [Spieler]– (others: eternal.ttt.stats.others)Statistics
/ttt vote · /ttt pass–Map vote, passes (lobby)
/tc <Text>–Traitor chat
/ttt starteternal.ttt.startCountdown to 10 s
/ttt map <Karte>eternal.ttt.forcemapFix the map (before the map vote)
/ttt forcestarteternal.ttt.adminStart even with fewer players (at least 2)
/ttt givepass <player> <traitor|detective> [amount]eternal.ttt.pass.giveGrant passes (minus takes away)

Permissions and packages

PermissionEffect
eternal.ttt.vote.doubleYour map vote counts twice
eternal.ttt.forcemap/ttt map
eternal.ttt.start/ttt start
eternal.ttt.joinfullJoin a full lobby (a player without the permission has to leave)
eternal.ttt.pass.freeFree passes
eternal.ttt.pass.give/ttt givepass
eternal.ttt.spectateJoin running rounds as a spectator
eternal.ttt.stats.othersOther players' statistics
eternal.ttt.adminSetup, /ttt forcestart, building in creative mode

Packages:

  • TTT Premium: double vote, join full rounds, spectate.
  • TTT YouTuber: additionally fix the map and shorten the start.
  • TTT Team: eternal.ttt.*.

Assigned under Task → Rechte-Pakete ("Permission packages"), see Game modes.

Settings

All values are in the dashboard under Task → Einstellungen ("Settings") and are explained there one by one:

GroupWhat you configure
Runde ("Round")Minimum and maximum players, countdowns, grace period, round duration, end screen, map vote
Rollen ("Roles")Share of Traitors and Detectives, minimum number for Detectives, Traitors see each other, traitor chat prefix, dead chat
Karmaon/off, start, maximum, all plus and minus values, damage by karma, lockout
Punkte & Shop ("Points & shop")on/off, starting points, points per kill, price of every item per role
Kisten ("Chests")Chest contents (lines MATERIAL;Menge;Gewicht – material;amount;weight – modern names also on 1.8), ender chest item, ender chest only after the grace period, weapon limit
Tester & Leichen ("Tester & corpses")Tester on/off, test duration, cooldown, trap, sabotage duration, corpses, killer's role for Detectives
Pässe & Belohnungen ("Passes & rewards")Passes on/off, prices, share via pass, coins for win and kill
Tip

For a quick test, Minimum players 2, Lobby countdown (Lobby-Countdown) 15 and Grace period (Schutzzeit) 5 are enough.