Golang poker server
- Holdem poker: Texas, Omaha, Omaha Hi/Lo
- 7-card poker: Stud, Stud Hi/Lo, Razz, London lowball
- Draw poker: 5-card draw, 2-7 single and triple draw, Badugi
- Mixed games: H.O.R.S.E., 8-game
- Fixed Limit
- Pot Limit
- No Limit
default port is 8080
/_api
- REST API/_ws
- websockets/_rpc
- JSON RPC
Sample node config (node.json
):
{
"HTTP": {
"Addr": ":8080",
"APIPath": "/_api",
"RPCPath": "/_rpc",
"WebSocketPath": "/_ws"
},
"RPC": {
"Addr": ":8081",
"Timeout": 5
},
"Logdir": "/var/log/gopoker"
}
- pubsub service via 0mq socket+Google protobuf, default port is 5555
- JSON RPC service, default port is 8081
- TODO: STOMP
- TODO: BOSH
bin/gopoker-cli
- REPL-style gameplaybin/gopoker-ctrl
- command line interface to RPC servicebin/gopoker-bot
- configurable bot with simple AI- web client - see https://github.com/maliqq/poker-js
ai/
- bot AI with decision making logiccalc/
- poker related mathclient/
- client related codeevent/
- events exchangeevent/message/
- message formatevent/protocol
- protocolsmodel/
- poker domain modelplay/
- gameplaypoker/
- poker rulesserver/
- server with topology (node, cluster, balancer) and servicesstorage/
- persistence to PostgreSQL for critical data and MongoDB for temporary datautil/
- utility functions