Skip to content

BluffinMuffin/Protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BluffinMuffin.Protocol

BluffinMuffin Protocol is a Bi-directional Communication Protocol for Poker Game. It has been proven on TCP using C#, but it not confined to it.

The project will be released using Semantic Versioning and developped using Vincent Driessen's Git Model. ###Current Version: 4.0.0 (2015-12-04)

.Net BluffinMuffin.Protocol
NuGet
PM> Install-Package BluffinMuffin.Protocol
or Install via VS Package Management window.
BluffinMuffin.Protocol.DataTypes
NuGet
PM> Install-Package BluffinMuffin.Protocol.DataTypes
or Install via VS Package Management window.
BluffinMuffin.Protocol.Tests.DataTypes
NuGet
PM> Install-Package BluffinMuffin.Protocol.Tests.DataTypes
or Install via VS Package Management window.
Python
####Project includes * **Documentation that defines the protocol**

A project that states it implements a version of the protocol is saying that it supports what's in the documentation of this version.

  • Libraries for Implementation

    As an option, the protocol has libraries released with each versions of the protocol. Using these libraries is not a requirement to implement the protocol, but it can save you some time ;)

    Libraries currently available in:

    • .Net (For implementations in C#, VB.Net, etc.)
    • Python

####Known Implementations

###Changelog

  • Documentation for Game Commands (#17)
  • Removing unsused stuff that was only for the server side
  • Enhancement Issue #36: Adding ClientIdentification & ServerIdentification
  • The DLLs are now portable
  • .NET Framework 4
  • Silverlight 5
  • Windows 8
  • Windows Phone 8.1
  • Windows Phone Silverlight 8
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.iOS (Classic)
  • Full changelog ...

Documentation


Playing Cards

Playing Cards sended and received with this protocol are always represented with a normalized string.

Obsolete Information

Obsolete information is information required by the protocol for retro-compatibility, but will disappear in the next major version. When implementing a version of the protocol that has an Obsolete information, this is what you should do

  • Sender should continue to send the obsolete information
  • Receiver should stop using the information as soon as possible.

General Commands

General commands are for communication everywhere.

  • DisconnectCommand

    This command is sent to inform the other end of the Tcp Connection that the communication should end

Lobby Commands

Lobby commands are for communication about identification, table list, table creations, etc. Everything that is around a poker game, but that isn't directly a poker game. The lobby has two modes: Quick mode and Registered mode.

Quick mode

The Quick mode is a mode where the money is given to the player when he enters the table. For example, If the amount is set to 1500 on Table1, every player will receive 1500$ to play with when they will enter the Table. For more information on this mode, see the Quick Mode Documentation section.

Registered mode

The Registered mode is a mode where a player connects with an account. He then have some money, that he uses throughout different games. When entering a game, he will take some of that money to play, and when he leaves what was left of that money will be given back to him. For more information on this mode, see the Registered Mode Documentation section.

Game Commands

Game commands are for communication inside a specific table. It's for all the actions on a poker game. For more information on these commands, see the Game Commands Documentation section.