Skip to content

Automate bounded driver motion - #1

Merged
notchrisbutler merged 1 commit into
masterfrom
codex/driver-position-probe
Aug 3, 2026
Merged

notchrisbutler merged 1 commit into
masterfrom
codex/driver-position-probe

Conversation

@notchrisbutler

Copy link
Copy Markdown
Collaborator

Issue

Acceptance clients could instantly reposition assigned vehicles but could not emulate bounded gradual driver travel. Consumers therefore could not distinguish legitimate route evidence from waypoint-teleport abuse without hard-coded sleeps or gamemode-specific tooling.

Fix

Add protocol-generic driver automation:

  • !driveposition for explicit instant-position abuse and correction probes
  • !driveto for bounded 100–60,000 ms linear interpolation with normal driver sync
  • !drivestatus and !drivecancel for observable, controllable motion
  • finite +/-20,000 coordinate validation and assigned-driver enforcement
  • automatic cancellation on checkpoint teleport, seat or vehicle changes, exit, and disconnect reset
  • reusable parser and interpolation tests

Version metadata is advanced to the explicitly requested 0.11.0.

Proof

  1. Run make test and expect all 12 native tests to pass.
  2. Run both sample --check-config commands from docs/development.md.
  3. Build with RAKSAMP_ENABLE_SANITIZERS=ON and expect all 12 tests to pass.
  4. Use the local client in Roleplay and run forklift-waypoint-teleport-contained plus forklift-world-job.
  5. Expected: instant checkpoint teleporting is rejected with no payout on 0.3.7 and 0.3DL; smooth two-player routes complete with exact payouts on both protocols.

Alternatives

A gamemode-specific route command was rejected. Repeated instant position commands were also insufficient because they cannot expose a bounded observable motion lifecycle for future acceptance tests.

@notchrisbutler
notchrisbutler merged commit 12f2a0b into master Aug 3, 2026
6 checks passed
@notchrisbutler
notchrisbutler deleted the codex/driver-position-probe branch August 3, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant