Ranchwork Script RedM Store Premium RedM scripts are live Open a Discord ticket for setup support Secure Tebex checkout Built for VORP and RSG servers

Ranchwork Chess | 3D board, NPC opponent, chess clock and wagers [VORP/RSG]Product details

Choose your license

Escrow or Open Source

Select the version that fits your server. If a matching version exists in the catalogue, the button will take you directly to it.

Escrow

Protected Tebex delivery for production servers. Best for quick installation and secure releases.

Choose Escrow

Open Source

Full source access for deeper customization, edits, and custom integrations on your RedM server.

Choose Open Source
Live Preview

Watch the script in action

Chess tables for RedM. Sit down across from another player or play an NPC on three levels. The game is played on a 3D walnut board on the table, with a chess clock and optional wagers between players. Admins place tables in game with a gizmo. Works with VORP and RSG.

https://www.youtube.com/watch?v=su_6PCwqzxI

Support : Join US

Features

The game

  • Full chess rules: castling, en passant, promotion, check, checkmate and stalemate
  • Draws by threefold repetition, the 50-move rule and insufficient material
  • Move generation checked against the standard perft tests
  • Against a player: the game starts when both players are ready, and colours swap every game
  • Against an NPC: a player sitting alone plays an NPC on Easy, Normal or Hard, and the NPC sits down in the other chair
  • Draw offers (once per move) and resigning; the NPC accepts a draw when it thinks it is losing
  • Standing up during a game loses it

3D board

  • Our own walnut board with gilt coordinates and a full set of pieces; the models are included
  • While seated you look down at the board on the table and click or drag the pieces
  • Pieces slide to their new squares and captured pieces leave the board
  • Players nearby see the game on the table, or press "Watch game" to follow it with the move sounds and check warnings
  • Tables with no game on them show the starting position

Clock and wagers

  • Per table: 5 min, 10 min + 5 s, 15 min + 10 s, or no clock
  • A player whose time runs out loses (a draw if the opponent has only a king left); warning in the last 30 seconds
  • Optional wager between players: both put in the same amount and the winner takes it all; a draw gives each their own back
  • Optional house cut (Config.Wager.HouseCut, 0 by default); games against the NPC have no wager, so no money leaves the server
  • Wagers are refunded when a table is closed or moved, and when the resource restarts

Table manager (/chessmanager)

  • Add, edit, move and delete tables in game; they are saved in the database
  • Placement with the vorp_lib gizmo, or look-and-place when vorp_lib is not installed
  • The table is measured once it is placed: two seats face each other across it and the board lies on its top
  • Every table has its own name, clock, maximum wager, NPC games and map blip

HUD

  • Check and result tags over the table and a "White – Black · move" badge over every game in play
  • Player settings (J or /chesssettings): sounds, board size, coordinates, legal move dots, last move highlight and tags
  • English and Turkish

Controls

KeyAction
ESit down / Ready / Back to the board
↑ / ↓Change the wager (before a game)
RPlay the NPC (sitting alone) / hold to resign (during a game)
GNPC level (before a game) / Offer or accept a draw (during a game) / Watch a game (nearby)
MouseClick or drag a piece
EscHide the board and look around
BLeave the table (hold during a game: counts as resigning)
JSettings

Installation

  1. Put ranchwork_chess in your resources folder. The board and piece models are in its stream folder.
  2. Set Config.Framework to 'vorp' or 'rsg' in config.lua.
  3. Add it to server.cfg after oxmysql and your framework:
ensure ranchwork_chess
  1. Give admins access with a group from Config.AdminGroups, or with ACE:
add_ace group.admin ranchwork.chess.admin allow
  1. Place your first table with /chessmanager.

The rw_chess_tables database table is created on first start, so there is no SQL to import.

Configuration

Config.TimeControls = {
    { id = 'blitz5',  label = '5 min',         minutes = 5,  increment = 0 },
    { id = 'rapid10', label = '10 min + 5 s',  minutes = 10, increment = 5 },
    { id = 'rapid15', label = '15 min + 10 s', minutes = 15, increment = 10 },
    { id = 'none',    label = 'No clock',      minutes = 0,  increment = 0 },
}

Config.Wager = {
    Steps = { 0, 5, 10, 25, 50, 100, 250, 500 },
    DefaultMax = 100,
    HouseCut = 0, -- percent of the pot the house keeps
}

Config.NPC = {
    Default = true,
    DefaultLevel = 'normal', -- 'easy', 'normal' or 'hard'
    AcceptDrawBelow = -150,  -- takes a draw when this far behind (100 = a pawn)
}