Skip to main content

Interact with OpenRCT2 from python!

Project description

pyrct2

Python client for OpenRCT2. Launch headless games, read state, execute actions, all in Python!

Connects to the openrct2-bridge plugin over TCP. Every game action, state query, and enum is auto-generated from OpenRCT2 C++ source by openrct2-codegen.

Install

pip install pyrct2
pyrct2 setup        # finds OpenRCT2, installs the bridge plugin

Usage

from pyrct2.client import RCT2
from pyrct2.scenarios import Scenario
from pyrct2.enums import ResearchFundingLevel, ResearchCategory

with RCT2.launch(Scenario.CRAZY_CASTLE) as game:
    # high-level API — read properties, call methods
    print(f"{game.park.name}: rating {game.park.rating}, cash ${game.park.finance.cash}")

    game.park.finance.set_entrance_fee(50)
    game.park.cheats.sandbox_mode()
    game.park.research.set_funding(ResearchFundingLevel.MAXIMUM)
    game.park.research.set_priorities([ResearchCategory.ROLLERCOASTER, ResearchCategory.THRILL])

    # tick-step the simulation forward
    game.advance_ticks(100)
    print(f"Weather: {game.park.climate.weather}")

    # raw API always available as escape hatch
    game.actions.staff_hire_new(auto_position=True, staff_type=0, costume_index=0, staff_orders=0)
    park = game.state.park()  # full Pydantic model
# or attach to an already-running instance
with RCT2.connect() as game:
    print(game.park.name)

Requirements

  • Python 3.11+
  • OpenRCT2 installed with RCT2 game data

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrct2-0.7.1.tar.gz (173.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyrct2-0.7.1-py3-none-any.whl (69.7 kB view details)

Uploaded Python 3

File details

Details for the file pyrct2-0.7.1.tar.gz.

File metadata

  • Download URL: pyrct2-0.7.1.tar.gz
  • Upload date:
  • Size: 173.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrct2-0.7.1.tar.gz
Algorithm Hash digest
SHA256 ef65179cf3cb3bc98228084c20f9337c560ea1058488f0485e71a59047b878e2
MD5 d876be4a8578a2d7c4f3e177b095592d
BLAKE2b-256 f8bf9bdb66d6b38f6ebb77d476de8d0f4ae2369df3af9dde85b0fb3cf92c1a44

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrct2-0.7.1.tar.gz:

Publisher: publish.yml on MaukWM/pyrct2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrct2-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: pyrct2-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 69.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrct2-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e04cdaecd2827c44710d9b711a3e9f8084e4f27a85d59b2682409146725fd400
MD5 11dda377316d10be026c44ee9384f009
BLAKE2b-256 989845659cb589470026f7ac9f1afa46462b2ee486bd7197c5d9bb732ea9c989

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrct2-0.7.1-py3-none-any.whl:

Publisher: publish.yml on MaukWM/pyrct2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page