History and credits

From Mafia

Origins

Mafia (this implementation, not the actual party game) was created in the spring of 2006. Back in that time Protected was hanging out in the D'mala Shard of Until Uru, waiting for the announced relaunch of Uru Live. A game of Mafia was hosted by Carl Palmner in his neighborhood and a few more by Vortmax. After participating in these games, Protected figured the game had potential to be played in a larger, more text-oriented community and with automated support for the game flow - In other words, it would work great over IRC

First version - IRC channels

Mafia version 1 was implemented as a Tcl script running on an Eggdrop, the world's most popular and customizable open-source multi-purpose IRC bot. It played directly on IRC, with different IRC channels for the different aspects of the game - A town channel (#mafia), an italian restaurant channel that served as the mafia's hideout, etc. The initially available roles were Citizen, Mafioso (with only nightly murder votes) and Detective (with only nightly investigation). Players who were dead during a game lost their voice status in the town channel and were kicked out of the other channels if they were in the Mafia or Police.

Mafia was incredibly popular - Before Protected even finished implementing the full alternated day-night cycle, he made the mistake of recruiting a couple of strangers from #lurk to help him with the testing and soon dozens of players were flowing in and out of the channel.

Unfortunately, soon the limitations of IRC were being felt. Because of the strong built-in flood protections of both IRC daemons and Eggdrop, the games being played, now with a large amount of players, often caused the Narrator bot to be disconnected for Excess Flood, and even when it wasn't, it could only output text very slowly and change user modes little by little, which allowed people to cheat even when they weren't getting bored to death.

Second version - DCC chat

Months later, when Protected picked up the project again, he decided (after the advice of a player whose nickname I unfortunately no longer recall) to completely scrap his original implementation and rewrite Mafia using its own server and plain TCP sockets, which would then be accessed from IRC via DCC chat. The new version of Mafia still ran on an Eggdrop, which allowed players to connect from IRC and advertised new games on IRC.

Moving Mafia away from channels drove away many old players who were too lazy or too dumb to connect via DCC chat, but slowly the new version developed and new roles were added, resulting in a better server. After taking another break for a few months, Protected re-launched the server, now to a reasonably large group of people who had never falled in love with shitty Mafia 1 and were more than happy to enjoy the one that worked. Mafia grew in popularity once again, and eventually in the middle of 2007 had daily large games with over 20 people and a respectable community of hundreds of players. cici and Luna created the User Guide and WarDrake created his Mafia Client for Windows, written in Borland Delphi. Protected choose some moderators to help him manage the community. People were soon complaining about the moderators and each other and engaging in petty wars between the community channels they had formed on IRC. Protected, having better things to do than listen to the whining of leechers, decided to split Mafia in user-controlled servers, and ended up creating three servers - one run by Aquafina, one run by WarDrake and one run by Pinky.

The split in the community weakened Mafia and many people left, but Protected was still getting complaints somehow, so in 2008 he just turned off Mafia and set it aside for a few more months.

Third version - Stand-alone server and Multiple Modes

For Mafia 3, a multi-mode system was added, allowing players to vote on one of many configurations to play, without human intervention. The server code was also finally separated from Eggdrop through the creation of an "eggdrop emulator" abstraction layer in Tcl. This resulted in a huge performance boost and in the server being able to stand on its own, without the overhead of running the many unnecessary Eggdrop functions. Stability is being given top priority in this version, with regular testing and debugging being done to get rid not only of new but also the many old bugs that plagued version 2. New features and roles are still added, as they were in the days of old.

After reading the hilarious history page in the website of scx-scans, a scanlation group that was founded by former Mafia players, Protected was so amused he decided to reopen Mafia. Former player Lazygamer was invited to be in charge of the practical aspects of running Mafia so Protected can concentrate on development. Since then, Mafia has opened for short periods of a few weeks at a time, during which version 3.0 is slowly progressing towards completion.

The Flash Client was started by Protected in the beginning of the year of 2009 and is a cross-platform alternative for connecting to Mafia, being developed in parallel to it.