Skip to content

The server for FreeFang, a free implementation of the werewolf social deduction game.

License

Notifications You must be signed in to change notification settings

FreeFangGame/freefang-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FreeFang

A free implementation of Werewolf (also known as Mafia) in python. Currently in beta, however it is usable and all core features are implemented.

Gameplay

This game opposes two sides, the werewolves (minority) and the town (majority). The goal of the town is to exterminate the werewolves and the goal of the werewolves is to reach numerical parity with the town. The game happens in a cycle of night and day. During the night roles with different powers (such as finding out the role of another player) wake up and the werewolves vote to kill one non-werewolf. During the day the town (with the werewolves hidden among them) vote to kill one player which they suspect to be a werewolf. The town does not know who the werewolves are and rely on clues/info given to them by the different roles.

This game is about social deduction, lying, persuasion, finding and using clues, etc.

Getting started

The FreeFang server is available on pypi as freefang-server.
To get started with hosting simply run

python -m pip install freefang-server
freefang-server

For all the options available run freefang-server -h

Features

  • Full werewolf experience with quite a few roles to pick from.
  • No moderator needed, the server takes care of everything from role attribution to voting to role actions.
  • Create a custom ruleset on game creation with only the roles you want and more custom options!.
  • No signup, enter a server, game id, pick a name and you're good.
  • Selfhostable, very simple to get started with.

Clients

freefang-qt is the reference client written by the devs. You are free to write your own and PR to have it added here, full protocol documentation is coming.

Protocol documentation

Full protocol documentation in PROTOCOL.md with examples and complete descriptions.

Contribute

There are many ways you can help the FreeFang project and we would be extremely thankful. Those include but aren't limited to:

  • Contributing code
  • Contributing ideas
  • Hosting a server
  • Writing a client
  • Finding and reporting bugs
  • Testing on different platforms (Windows, MacOS, *BSD)
  • Spreading the word about FreeFang