• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 08:50
CEST 14:50
KST 21:50
  • 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
Serral wins HomeStory Cup 2915Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
GSTL Returns in 2026!18Weekly Cups (Aug 3-9): Protoss get shut out7RSL goes to London! 2026 Offline Finals Nov 21-2212Weekly Cups (July 27-Aug 2): SHIN's big week0SC4ALL II: Brood War - $2500 - Dec 5-611
StarCraft 2
General
GSTL Returns in 2026! SC4ALL: II Talent Announcement! Balance hotfix patch 5.0.16b (July 16) Protoss AoE skill expression Weekly Cups (Aug 3-9): Protoss get shut out
Tourneys
PIG STY FESTIVAL 8.0! (13 - 23 August) 2026 KungFu Cup Announcement Sparkling Tuna Cup - Weekly Open Tournament RSL goes to London! 2026 Offline Finals Nov 21-22 RSL Revival: Season 6 - Qualifiers and Main Event
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
Mutation # 538 Media Blackout The PondCast: SC2 News & Results Mutation # 537 Hostile Territory Mutation # 536 Railroad Switch
Brood War
General
Best Games Kespa era BW General Discussion StarCraft 64 is coming to Philly at SC4ALL II ASL22 General Discussion [Personal Project Share] Terran Defense v0.60
Tourneys
Escore Tournament - Season 3 Small VOD Thread 2.0 [Megathread] Daily Proleagues SC4ALL II: Brood War - $2500 - Dec 5-6
Strategy
Odyssey Mineral Stack Saturation Fighting Spirit mining rates Any training maps people recommend? Simple Questions, Simple Answers
Other Games
General Games
Nintendo Switch Thread Anyone here play Quakeworld back in the day? Stormgate/Frost Giant Megathread EVE Corporation General RTS Discussion Thread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Power Rank TL Mafia Community Thread NeO.D_StephenKing vs This Guy From 1 Million Dance
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread European Politico-economics QA Mega-thread Artificial Intelligence Thread The Letting Off Steam Thread
Fan Clubs
MarineLorD Fan Club The ShoWTimE Fan Club The herO Fan Club!
Media & Entertainment
Movie Discussion! Anime Discussion Thread Series you have seen recently... [Req][Books] Good Fantasy/SciFi books
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 NBA General Discussion Formula 1 Discussion MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Simple Questions Simple Answers FPS when play League Of Legend on laptop
TL Community
The Automated Ban List Northern Ireland Global Starcraft
Blogs
LOCKPICKING NOOB
LUCKY_NOOB
Chinese Gen Z: Between Dream…
TrAiDoS
Cathedral Of CS And NY pizza a…
FuDDx
Please support my new stand…
Peanutsc
Hello guys!
LIN1s
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6143 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
PiG Sty Festival
12:00
PiGfest 8.0 Group B
ByuN vs HeRoMaRinE
ShoWTimE vs Zoun
PiGStarcraft796
BRAT_OK 77
3DClanTV 32
LiquipediaDiscussion
Escore
10:00
Season 3 Week 7
escodisco2284
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft796
Lowko402
mouzHeroMarine 231
Rex 100
BRAT_OK 77
StarCraft: Brood War
Britney 60999
Mini 1038
actioN 380
Pusan 309
EffOrt 301
Hyuk 156
Zeus 133
Mong 122
Rush 118
ToSsGirL 52
[ Show more ]
Sharp 51
hero 45
Barracks 33
Terrorterran 25
scan(afreeca) 22
Sacsri 20
soO 20
Free 18
HiyA 18
Sexy 15
Noble 15
Dota 2
The International44687
Gorgc13009
KheZu68
Counter-Strike
kRYSTAL_78
Other Games
singsing1598
B2W.Neo578
hiko386
crisheroes358
byalli217
Liquid`LucifroN155
Hui .149
Mew2King97
Livibee50
Organizations
StarCraft 2
IntoTheiNu 1170
ComeBackTV 342
StarCraft: Brood War
UltimateBattle 16
[ Show 13 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• Michael_bg 1
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 1490
League of Legends
• Jankos1342
• Stunt463
Other Games
• WagamamaTV44
Upcoming Events
Big Brain Bouts
3h 10m
Nicoract vs Neeb
TriGGeR vs ShoWTimE
CranKy Ducklings
21h 10m
PiG Sty Festival
23h 10m
herO vs Krystianer
Solar vs Cure
IPSL
1d 3h
Sparkling Tuna Cup
1d 21h
PiG Sty Festival
1d 23h
Maru vs Shameless
Reynor vs TriGGeR
IPSL
2 days
OSC
2 days
Afreeca Starleague
2 days
Rush vs Hm
Bisu vs Shuttle
WardiTV Weekly
2 days
[ Show More ]
The Patches Monday
3 days
Afreeca Starleague
3 days
Sharp vs Shinee
Action vs Shine
PiGosaur Cup
4 days
Replay Cast
4 days
Afreeca Starleague
4 days
BeSt vs Paralyze
Jaedong vs Speed
Kung Fu Cup
4 days
The PondCast
5 days
KCM Race Survival
5 days
Replay Cast
6 days
PiG Sty Festival
6 days
Liquipedia Results

Completed

Proleague 2026-08-13
CranK Gathers Season 4: BW vs SC2 Team League
Eternal Conflict S2 Finale

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
Acropolis #5
Escore Tournament S3: W7
RSL Revival: Season 6
PiG Sty Festival 8.0
Esports World Cup 2026
Esports World Cup 2026: LCQ
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026

Upcoming

CSLAN 4
ASL Season 22
Escore Tournament S3: W8
Acropolis #5 - TRS
Blizzard Classic Cup 2026
Acropolis #5 - GSA
Acropolis #5 - GSB
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Big Dog Cup 2026 Div 1
META DYMY #4
Stake Ranked Episode 5
PGL Masters Bucharest 2026
Thunderpick World Champ.
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #5
BLAST Open 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.