• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 08:37
CET 14:37
KST 22:37
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL22] Finals Preview: Sweet Victory!12[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5
Community News
[BSL23] RO16 Group Stage0Weekly Cups (Nov 2-8): herO back on top?1Weekly Cups (Oct 26 - Nov 1): MaxPax, herO, Solar win0Weekly Cups (October 19-25): Clem triples first in 5.0.175Evil Geniuses - shutting down23
StarCraft 2
General
Weekly Cups (Nov 2-8): herO back on top? Serral's getting trashed by New Catsle's Mind No more SC2 streamers on team liquid? StarCraft open world shooter announced at BlizzCon [D] Hacker peak in sc2 ?
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament SC2 iNu's Battles #22 SC4ALL: II Venue Change Announcement! WardiTV Mondays ISSL (IntoTheTV x SOOP SC2 League): Premier
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
Starcraft 2 Advance [G] How to playtest arcade maps [D] the control group Simple Questions/Answers
External Content
The PondCast: SC2 News & Results Mutation # 551 Robotic Revival Mutation # 550 Graveyard Shift Mutation # 549 Endless Sparkles
Brood War
General
List of top players active on ShieldBattery BGH Auto Balance -> http://bghmmr.eu/ [BSL23] RO16 Group Stage Rollback Netcode in Brood War [Megathread] Daily Funny Videos
Tourneys
[$1250] International ShieldBattery League 2v2v2v2 Tournament Stage 1: Community Poll [Megathread] Daily Proleagues Small VOD Thread 2.0
Strategy
Nuke strategy worked in K-League 2026-11-09 50,000-Word Terran Builds Memo 2026-10-22 Cliff Jump Revisited (1 in a 1000 strategy)
Other Games
General Games
Nintendo Switch Thread ZeroSpace Early Access is Now Live! Path of Exile General RTS Discussion Thread Stormgate/Frost Giant Megathread
Dota 2
Dota 2 Champions League Season 3 Begins April 25!
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Trading/Investing Thread Russo-Ukrainian War Thread Dating: How's your luck? Things Aren’t Peaceful in Palestine
Fan Clubs
Fan Club Resource Thread Reynor Fan Club The Flash Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread [Manga] One Piece
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
The time I organised my…
AssyrianKing
Why I built Repalyzer (1.1.…
BlueStar
Innovate or Game Over?
TrAiDoS
ShieldBattery on Mac
Kraekkling
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Can Bots Beat Pros?? Starcr…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 12734 users

The Narrator - Mafia Web API

Forum Index > TL Mafia
Post a Reply
vossy
Profile Joined October 2019
3 Posts
October 15 2019 22:12 GMT
#1
Hey everyone,

Way back in the day, I used to do something with Dota on WC3 and Team Liquid, so this is quite the throwback.

Anyway, I run a mafia web server called The Narrator. It's a project I've been building out for the past 6(?) years? It's super customizable, and has a bunch of integrations like an interactive web UI, mobile UI, discord bot, and a forum integration.

I was wondering if there's any interest here in continuing to build it, use it, or integrate TL with it (for free of course).

Here's the opposite of a TLDR spoiler with a bunch of info
+ Show Spoiler +
narrator.systeminplace.net

The Narrator is a a role madness online version of Mafia, similar to Town of Salem or Epicmafia. However, unlike other versions of Mafia, the Narrator has been designed to be played however you enjoy mafia, whether that be In Real Life, via your favorite browser, Discord, or, your home forum mafia. The Narrator is also the most customizable version of online Mafia in existence.

Currently, I'm looking to connect with anyone that would be interested in expanding the project, whether you're a developer, designer, artist, a mafia community organizer, or just want to provide feedback. It's long past time I ditch the one man team I've got going.

How it all started
The Narrator started back in the day, as a way for me to host more flavorful mafia games in college, without the need for me to sit out, and without the need for extended nighttimes. A first pass was made as a Slack bot, but in 2016, I made a website/UI for it. Since then, it has expanded also into Discord, and as an integration into other forums.

Current Feature set includes
  • 74 unique abilities
  • Support for multiple mafia, cult, mason, architect chats
  • Custom hidden roles, such that the spawn list is hidden from the players until the end of the game
  • Custom roles with customizable abilities
  • Abilities tied to teams
  • Support for hidden attribute settings
  • Customizable faction/team settings
  • 20 Predefined setups that auto add/remove roles from a game based on the player count. This is very important for getting games started QUICKLY.
  • Nighttime system to determine who controls the faction ability if teammates don't agree
  • System of alliances to handle complex win conditions
  • Support for game theming with regards to item/feedback text, death flavor stories, and role names
  • Leaderboard for personal/global best win rate, games played, best roles, point count
  • Ability to review previous games you've played, including a breakdown of what happened each night
  • ITA/day punch support
  • Preferring a role
  • Partial support for giving dead people a way to be 'omniscient' about what's going on in the game.
  • Last Will support
  • Automated tests that test all the abilities and most of the features above
  • An automated process that's running thousands of games per hour to detect possible bugs/crashes I might have not have accounted for
  • System for choosing a more balanced setup vs a less balanced setup, and how to tell the difference between the two
  • Support for host-chosen hidden roles, to not necessarily rely on the above

Tech Stack (for those of you that are interested)
  • Game logic written in Java and tested with JUnit
  • Web layer written in ExpressJS and tested with mocha
  • Database in RDS using MariaDB
  • Discord written with javascript and tested with mocha
  • UI written with JQuery and webpack, and tested with Cypress (wish to move to React/Redux)
  • Linted using eslint
  • CI/CD using gitlab's free service (Would like to go to Github and CircleCI)
  • Repo https://gitlab.com/the-narrator/NarratorNode

Near&Distant Future Plans
  • Continue developing backbone to connect with more forum communities
  • Maybe integrate with Wolffia
  • Get a product manager to help steer feature development
  • Develop state of the art AI to help judge/generate setups
  • Kickstart campaign
  • Add video integration


Join my discord if you want to reach me directly
https://discord.gg/XaWcNzJ


Cheers,
Voss
vossy
Profile Joined October 2019
3 Posts
October 15 2019 22:14 GMT
#2
P.S. I also contacted TL's admins a little while ago, and they didn't have qualms about me posting this. Apologies if this is in the wrong place.
raynpelikoneet
Profile Joined April 2007
Finland43270 Posts
October 15 2019 22:43 GMT
#3
Definitely the right place to post it.
I'll look more closely into it when i get off work. At first glance looks interesting at least.
table for two on a tv tray
ShoCkeyy
Profile Blog Joined July 2008
7815 Posts
October 16 2019 22:10 GMT
#4
How’s the speed? Has jQuery given you any issues? I’m on the phone but would love to take a look at the git repo when I get a chance.
Life?
vossy
Profile Joined October 2019
3 Posts
October 17 2019 15:05 GMT
#5
I'd like to tear this a new one and redo it in react/redux if i'm being honest. I'm putting off the project until I can get a bunch of test coverage for the UI as is. As for speed, jQuery hasn't given me much trouble. Should it?

The commits are probably a better place to look first. Might give you more of an idea of the code structure I've been moving to.
Please log in or register to reply.
Live Events Refresh
WardiTV Invitational
21:00
WardiTV Not-Summer Championshi
Percival vs Shameless
Solar vs TBD
WardiTV696
TKL 187
Rex88
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
TKL 187
Rex 88
trigger 61
StarCraft: Brood War
Britney 75002
Rain 2069
Horang2 1278
EffOrt 759
Zeus 597
Jaedong 561
BeSt 545
Stork 364
Mini 244
firebathero 217
[ Show more ]
Snow 143
Soulkey 138
Rush 125
Hyun 89
Pusan 88
Barracks 82
Sea.KH 81
ProTech75
Sharp 56
Mong 54
JYJ 46
ToSsGirL 37
Shinee 34
HiyA 31
Killer 30
sSak 26
scan(afreeca) 23
Aegong 20
Movie 19
Noble 18
Classic 16
ZergMaN 15
Shine 12
ajuk12(nOOB) 11
sOs 11
Hm[arnc] 10
sorry 10
Rock 9
Sacsri 9
zelot 8
Icarus 6
Terrorterran 6
Dota 2
Dendi1364
qojqva598
monkeys_forever172
420jenkins73
Counter-Strike
olofmeister1481
markeloff882
Heroes of the Storm
crisheroes289
Other Games
singsing2074
B2W.Neo752
hiko316
XaKoH 274
syndereN192
Fuzer 180
Mew2King69
QueenE48
ArmadaUGS39
ViBE35
NeuroSwarm34
Railgan27
Organizations
Counter-Strike
PGL91
StarCraft: Brood War
lovetv 10
[ Show 11 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 2077
• WagamamaTV441
League of Legends
• Jankos2217
Upcoming Events
OSC
9h 23m
ByuN vs MaxPax
herO vs Krystianer
Percival vs Shameless
LetaleX vs YoungYakov
Nicoract vs Gerald
GgMaChine vs ArT
PiGosaur Cup
11h 23m
INu's Battles
22h 23m
ByuN vs Classic
3D!Clan Event
1d 2h
The PondCast
1d 20h
KCM Race Survival
1d 20h
WardiTV Invitational
1d 22h
OSC
2 days
Ultimate Battle
2 days
CranKy Ducklings
3 days
[ Show More ]
IPSL
4 days
TerrOr vs IJ_Terran
rasowy vs Hazorath
Sparkling Tuna Cup
4 days
IPSL
5 days
Art_Of_Turtle vs KameZerg
Radley vs George
WardiTV Weekly
5 days
Liquipedia Results

Completed

Proleague 2026-11-09
Blizzard Classic Cup 2026
HCC Season 3

Ongoing

Acropolis #5
KCM Race Survival 2026 Season 4
International ShieldBattery League
Individual League
BSL Season 23
IPSL Winter 2026-27
Calamity Cup Div. A Season 8
IEM Beijing 2026
PGL Masters Bucharest 2026
Stake Ranked Episode 5
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026

Upcoming

YSL S4
Sector 951
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
StarCraft2 Weekly Open Tournament 2026 Grand Finals
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Underdog Cup 2026 Div 2-3
PGL Bucharest 2027
BLAST Bounty Winter 2027
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.