Releases: oypi/prepubot
Releases · oypi/prepubot
Release list
PrepuBot v1.2.0 — Auto Offset Recovery, Dynamic Update Detection & Kickoff Overhaul
PrepuBot v1.2.0 — Auto Offset Recovery, Dynamic Update Detection & Kickoff Overhaul
🚀 Highlights & Major Improvements
1. Zero-Latency Dynamic Auto Offset Recovery
- Instantaneous Verification (<0.5ms): On startup, PrepuBot validates our verified static offsets (
GNAMES_ADDR = 0x142418148,GOBJECTS_ADDR = 0x142418190) by testingGNames[1]for the UTF-16LE signature"ByteProperty"and confirming realisticGObjectsarray bounds. - Dynamic Fallback on Recompiles: If Rocket League updates or recompiles and verified offsets fail, PrepuBot initiates an automated memory scanner (~1.4s) across the game's
.datasegment, recoversGNamesandGObjects, and writes them to~/.cache/prepubot/offsets.json. - Zero Interruption: Users never get stuck with a broken bot when Psyonix updates the game.
2. In-App Outdated Version Detection & Recommendations
- Non-Blocking Background Check: Runs asynchronously on launch with a 3.0s timeout without delaying gameplay loops.
- Interactive GUI Update Banner: When a newer release is published, the Tactical GUI displays a notification banner with a 1-click hyperlink to download the latest release from GitHub.
- Private Repo & Offline Tolerant: Silently ignores connection errors, timeouts, or 404/403 responses while the repository is private or offline.
3. Overhauled Kickoff Controller & Terminal 50/50 Slam
- Mirrored Diagonal Speedflips: Symmetrical, physics-synchronized speedflip dispatch for both left and right diagonal kickoff spawns.
- Target-Lock Homing (
sprintphase): After completing the flip, the controller homing-locks onto the exact center equator of the ball, completely ignoring opponent positioning to prevent premature dodges or swerves. - Terminal 50/50 Impact Dodge (
impactphase): Executes an explosive forward dodge into the ball 50–80ms before contact, killing the 50/50 or winning possession. - Seamless AI Handover: Hands control over to Nexto only after the kickoff is resolved and the ball is in active play.
4. Air Recovery & Powerslide Landing Cushioning
- Balanced 6DOF Air Recovery: Implemented PWM time-sharing between yaw alignment and roll leveling, eliminating flight-path rotation starvation.
- Pre-Landing Powerslide: Pre-engages
BTN_Xwhile descending near the ground (car_z < 120.0), preserving 100% forward momentum when touching down sideways.
5. Multi-Agent 2v2/3v3 Attention Stability
- Enhanced tactical depth matching for teammates and opponents in multi-agent lobbies, eliminating rapid steering twitches and rotational oscillations.
6. Public Release Hygiene & Standalone Packaging
- Directly vendored
RLMarlbot(Nexto, Seer, Element, Necto, Immortal). - Replaced all hardcoded paths with dynamic relative executable discovery.
- Self-contained portable binary (
dist/prepubot) bundling all dependencies (rlgym_compat,rlbot, PyTorch).
📦 Quick Start (Standalone Single Binary)
No Python, PyTorch, pip, git, or Rust required!
# 1. Download 'prepubot' from this release
chmod +x prepubot
# 2. Grant controller and memory reading permissions:
sudo chmod 666 /dev/uinput
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
# 3. Launch the Tactical GUI:
./prepubotPress F6 at any time while playing Rocket League to toggle autonomous driving on/off in real time!
PrepuBot v1.1.0 - PhysX Direct Memory & Dribbling Accuracy
PrepuBot v1.1.0 — PhysX Direct Memory, Dribbling Precision & Stealth Memory Reading
🚀 Highlights & Major Improvements
1. PhysX Rigid-Body Simulation State (RBState at 0x5D0)
- 100% Atomic Synchronous State: Shifted from reading graphic render-thread properties (
AActor::Location,AActor::Velocity) to reading the contiguous 52-byte PhysX simulation struct (RBActor_TA::RBStateat offset0x5D0). - Zero Render Interpolation Lag: Eliminates the 3 to 9 Unreal Unit position jitter and lag introduced by the game's render thread interpolation between 120Hz physics ticks.
- Instantaneous 1-Op Read: Position, Linear Velocity, Angular Velocity, and Orientation Quaternion are now retrieved simultaneously in a single kernel read for both the player's car and the ball.
2. Sub-Millimeter Ball Dribbling & Roof Balancing
- Eliminated Velocity-Proportional Position Drift: Removed artificial latency extrapolation (
latency_comp = 0.0) that was causing the ball to appear 2.8 to 3.5 units behind the car in Nexto's self-relative frame during ground carries. - Stable Inverted-Pendulum Equilibrium: Closed-loop balance controller now matches the exact physical distribution Nexto was trained on in RLBot / BakkesMod, enabling rock-solid ball carrying and dribble mechanics without the ball falling off the bumper.
3. Zero-Footprint Stealth Memory Reading & Process Cloaking
- Direct
process_vm_readvKernel Syscall: Upgraded memory backend from/proc/<pid>/memfile handles to direct Linux memory reading vialibc.process_vm_readv. - Zero Open File Descriptors: Leaves 0 open file handles or descriptors pointing to the Rocket League process in
/proc/self/fd/or/proc/<pid>/fd/. - Process Cloaking: Both the Rust tactical GUI and the isolated Python bot worker dynamically disguise their
/proc/<pid>/commidentity viaprctl(PR_SET_NAME)to legitimate system processes (portal-helper), evading anti-cheat process scans. - Extreme Memory Performance: Read latency dropped from ~94 µs down to 2.44 µs per frame.
4. Menu & Transition Resiliency
- Arm From Anywhere: You can now enable PrepuBot while in the main menu or paused. PrepuBot seamlessly waits and automatically engages the moment you enter Freeplay, an exhibition, or an online match.
- Match Lifecycle Auto-Recovery: Fully handles match endings, goal replays, map reloads, and returning to the main menu without crashes or stale pointer exceptions.
5. Official Kickoff Synchronization
- 120Hz Micro-Clock Kickoff Dispatch: Diagonal kickoff speedflip sequence synchronized with elapsed physics time.
-
Stochastic Kickoffs: Integrated Nexto's stochastic kickoff policy (
$\beta = 0.5$ ) for non-diagonal spawns.
6. Universal Linux Focus Guard
- Multi-desktop window detection protecting against background controller input dispatch across Niri, Hyprland, Sway, KDE Plasma, GNOME, and X11/Xwayland.
📦 Quick Start (Standalone Single-Binary)
No Python, PyTorch, Rust, or dependencies required!
# 1. Download 'prepubot' from this release
chmod +x prepubot
# 2. Grant controller and memory permissions:
sudo chmod 666 /dev/uinput
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
# 3. Launch the Tactical GUI:
./prepubotPress F6 anywhere to toggle PrepuBot on/off in real time!
PrepuBot v1.0.0 - Standalone Single Binary
PrepuBot v1.0.0 - Standalone Single-Binary Release
Features
- All-in-One Standalone Linux Executable: Embedded Python 3.14, PyTorch CPU, NumPy, evdev, Nexto model weights (
nexto-model.pt), and the Rust Tactical GUI in a single portable 388MB binary. - Zero Dependencies: Friends do not need Python, PyTorch, pip, git, or Rust installed.
- Easy Anti-Cheat (EAC) Compatibility: Automatic process disambiguation isolating
RocketLeague.exefromRocketLeague_EAC.exe. Works out-of-process in normal EAC mode and offline (-noeac) mode. - In-GUI Permission Guidance: Helpful setup alerts in case
/dev/uinputorptrace_scopeneed configuration. - Cyberpunk Tactical HUD: Real-time 120Hz telemetry overlay with car speed, boost %, ball distance, and active decision state.
- Global Hotkey Toggle: Instant engagement via F6 anywhere in-game.
Quick Start for Friends
- Download
prepubotfrom this release. - Run permission setup (one-time):
sudo chmod 666 /dev/uinput echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
- Make executable and run:
chmod +x prepubot ./prepubot