CityRP Documentation Repository

core.plugins.holdem.sv.sv_game

Texas Hold'em server game engine: seats, betting, pots, showdown.

Functions

Serverholdem.addPlayer(id, ply, pos) → booleanSource ☍

Seat a player.

Parameters

  • idnumber
  • plyPlayer
  • posnumber

Returns

  1. boolean
Serverholdem.advanceStreet(id)Source ☍

Move to next street or showdown.

Parameters

  • idnumber
Serverholdem.assignButtonAndBlinds(id)Source ☍

Rotate dealer button and assign blinds.

Parameters

  • idnumber
Serverholdem.awardFoldWin(id, winner)Source ☍

Everyone else folded — award pots to the remaining player.

Parameters

Serverholdem.beginBettingRound(id)Source ☍

Reset street bets and mark who still needs to act.

Parameters

  • idnumber
Serverholdem.checkReady(id)Source ☍

Mark ready / check if the hand can start.

Parameters

  • idnumber
Serverholdem.commitChips(id, seat, amount) → numberSource ☍

Commit chips from a seat into the pot contribution for this hand.

Parameters

  • idnumber
  • seattable
  • amountnumber

Returns

  1. numbercommitted
Serverholdem.finishHand(id)Source ☍

Schedule board clear / next lobby.

Parameters

  • idnumber
Serverholdem.forceRefundTable(id)Source ☍

Cash-out refund when the table owner disconnects mid-hand.

Parameters

  • idnumber
Serverholdem.getInHand(id) → Player[]Source ☍

Players still in the current hand (not folded).

Parameters

  • idnumber

Returns

  1. Player[]
Serverholdem.getPotTotal(id) → numberSource ☍

Total chips in all pots.

Parameters

  • idnumber

Returns

  1. number
Serverholdem.getSeat(id, ply) → table|nil, number|nilSource ☍

Find a player's seat at a table.

Parameters

Returns

  1. 1table|nil
  2. 2number|nil
Serverholdem.isRoundComplete(id) → booleanSource ☍

True when everyone has matched the current bet or is all-in/folded.

Parameters

  • idnumber

Returns

  1. boolean
Serverholdem.isSeatTaken(id, pos) → booleanSource ☍

Seat currently occupied?

Parameters

  • idnumber
  • posnumber

Returns

  1. boolean
Serverholdem.leave(id, ply)Source ☍

Cash a player out (cash games only) and remove them from the table.

Parameters

Serverholdem.newGame(id, owner, ent) → numberSource ☍

Create a new table game state (or reset an existing one between hands).

Parameters

Returns

  1. number
Serverholdem.nextSeat(id, fromPos, predicate) → table|nil, number|nilSource ☍

Ordered seat positions around the table starting after fromPos.

Parameters

  • idnumber
  • fromPosnumber
  • predicatefun(seat: any):boolean|nil

Returns

  1. 1table|nil
  2. 2number|nil
Serverholdem.placeBet(id, ply, betKind, raiseTo)Source ☍

Process fold / call-check / raise.

Parameters

  • idnumber
  • plyPlayer
  • betKindnumber
  • raiseTonumber|nilabsolute bet-to amount for raises
Serverholdem.rebuildPots(id)Source ☍

Rebuild pots from per-seat contributions (correct side-pot construction).

Parameters

  • idnumber
Serverholdem.requestAction(id, ply)Source ☍

Ask a player to act; auto-fold/check on timeout.

Parameters

Serverholdem.reset(id, restart)Source ☍

Tear down / reset a game. If restart is true, open the next hand lobby.

Parameters

  • idnumber
  • restartboolean|nil
Serverholdem.showdown(id)Source ☍

Evaluate hands and pay pots.

Parameters

  • idnumber
Serverholdem.startHand(id)Source ☍

Start a new hand.

Parameters

  • idnumber

Fields

Serverholdem.nextGameIdSource ☍