v0.16 update

This commit is contained in:
maj0r authored and GitHub committed 2026-07-20 16:34:56 -03:00
1 parent 9785a69094
commit 285abce7f9
3 files changed
+77 -14

No files matched your search

+28 -6
View File
@@ -1,28 +1,50 @@
# CheatRunner — Changelog
## v0.15
## v0.16
**Removed the "Disable All Patches" button.** It disabled patches for every game on the console at once, which was confusing and easy to trigger by accident. Patches now enable/disable per-entry only, the same as cheats.
- **Fixed: "CheatRunner is not responding" errors reported by several users.** Root cause: HTTP keep-alive (added late in v0.15) held connections open far longer than before, and the PS5 browser doesn't reuse them the way keep-alive expects — this could exhaust the concurrent-connection limit under normal polling. Reverted back to closing each connection after one request.
- **Added a setting to disable the home-screen tile auto-install** (Settings → System). On by default, matching the existing behavior.
- **Fixed: "Download Cheats" searches could fail with "Request timed out"** even when the search was still completing fine in the background — a single flaky status check no longer cancels the whole search.
- **Raised the HTTP server's connection backlog** (8 → 32) to reduce refused connections during bursts of simultaneous requests.
- **Reorganized the Repositories tab layout** for clarity, and fixed its progress bar/result colors not respecting the active theme.
- **The Repositories tab now shows which files failed to verify after a bulk download**, plus when the last download finished.
- **Added a "Reset to Auto" button for the fan-on threshold** (Thermals & Fan panel) — clears a pinned threshold and lets the console's automatic fan curve take back over.
- **Fixed a DNS resolution security weakness.** Query IDs were predictable, and the socket wasn't restricted to the server it queried, both making responses easier to spoof.
- **Dashboard now serves gzip-compressed HTML/CSS/JS** when the browser supports it — faster page loads, especially on the PS5 browser.
- **Added cheat autoload profiles.** Save your currently-enabled cheats for a game as a profile, and CheatRunner automatically re-applies them the next time that game launches, with an on-screen notification when it fires.
- **Replaced "Copy Cheat Debug" and "Copy Diagnostic Bundle" with a single "Copy Logs" button** in the trainer modal, matching the one already on the Logs panel.
- **Added patch autoload profiles.** Save your currently-applied patches for a game as a profile, and CheatRunner automatically re-applies them the next time that game launches, same as cheat autoload profiles.
- **Added an "Autoload" badge on game tiles** for titles with a saved cheat and/or patch autoload profile, so you can tell at a glance without opening the trainer.
- **Patch autoload now always finishes before cheat autoload starts** on game launch (previously both fired at the same time), so cheats that depend on a patched code path never race against the patch itself.
<details>
<summary><b>v0.15</b></summary>
- **Added `mask_jump32` patch support.** Previously parsed but always skipped as unsupported, silently no-op'ing several real patches (multiple "60 FPS"/"Resolution Patch" entries).
- **Added a "Switch to Max Compatibility" prompt** when a cheat fails to enable due to an unverifiable address. Doesn't change any defaults — only offers the existing preset at the moment it would help.
- **Added trainer author credits** to the cheat menu ("Cheats By") for JSON, SHN, and MC4 files.
- **Fixed:** SHN/MC4 game names with an apostrophe (e.g. "Assassin's Creed") were truncated in the cheat menu.
- **Fixed:** cheats depending on a "Master Code" mod could resolve to the wrong address and fail silently, including a case where a dependent's own name confused master-code detection. Also fixes the dashboard's MISMATCH badge showing incorrectly for these cheats.
- **Fixed:** cheat/patch writes silently failed on firmwares 12.xx.
- **Fixed:** cheat/patch writes silently failed on firmware newer than 12.00.
- **Fixed:** some valid cheats sharing a code-cave block with other mods were wrongly blocked as "wrong address."
- **Fixed:** cheat entries with a dropped leading hex zero (e.g. `"1"` instead of `"01"`) failed to parse and silently did nothing.
- **Added a network watchdog** that recovers faster after sleep/wake or Wi-Fi reconnects, and notifies you when the console's IP changes.
- **Added an OLED theme** — true black background and panels, and noticeably less glow/decorative lines than the default Dark theme.
- **Session logs are now saved to `/data/cheatrunner/logs.txt`**, not just kept in memory — makes it possible to check what happened after a crash or a restart wiped the in-app log view.
- **Fixed: "Shutdown Payload" could silently hang forever** instead of shutting down CheatRunner, if a cheat apply was stuck at the exact moment shutdown was requested. Shutdown now always completes within a couple seconds either way.
- **Fixed: "Shutdown Payload" could silently hang forever** instead of closing CheatRunner, if a cheat apply was stuck at the exact moment shutdown was requested. Shutdown now always completes within a couple seconds either way.
- **Enlarged the header logo** and made its glow match the active theme's color instead of always being red.
- **Fixed:** the Cheats/Repositories/Patches tabs in the trainer modal could render as oversized buttons on the PS5 browser.
- **Fixed:** the Cheats/Repositories/Patches tabs in the trainer modal could render as squashed, oversized capsules on the PS5 browser.
- Attempted fix for a PS5-browser-only bug where the trainer modal's Patches/Repositories lists couldn't be scrolled down to reach lower content — improved but not fully confirmed resolved on hardware yet.
- **Fixed:** a Master Code cheat could show a false "Conflicts with active mod" against its own dependent, blocking it from being enabled, when the dependent's own name also mentioned "Master Code."
- **Fixed:** cheats that require a Master Code showed a confusing "VERSION MISMATCH" (and couldn't be toggled) before the Master Code was enabled — now shows a clear "requires Master Code first" state instead.
- **Fixed:** a Master Code's own button showed a false "PARTIAL PATCH" once its dependent cheats were enabled and writing into its shared cave, even though everything was working correctly.
- **Fixed:** the Settings popup could fail to open/render on the PS5 browser the same way the trainer modal did.
- **Fixed:** the Settings popup could fail to open/render on the PS5 browser the same way the trainer modal did — it was missing a fix already applied elsewhere.
- **Game icons are now cached by the browser** instead of being re-downloaded every time the dashboard loads — faster repeat loads, especially on the PS5 browser.
- **Added HTTP keep-alive**, so the dashboard's background polling reuses one connection instead of opening a new one for every single request.
- **Settings theme dropdown now shows proper names** ("Dark", "Crimson", "Midnight", "OLED") instead of raw internal values.
</details>
<details>
<summary><b>v0.14</b></summary>
+22 -3
View File
@@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.10)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
project(CheatRunnerPayload C)
set(CHEATRUNNER_VERSION "0.15")
project(CheatRunnerPayload C CXX)
set(CHEATRUNNER_VERSION "0.16")
# Embed CheatRunner.png as a C byte array (cheatrunner_png.h in build dir).
# If the asset is missing, generate a tiny fallback icon so builds still work.
@@ -48,7 +48,26 @@ else()
message(STATUS "CheatRunner tile PKG: dist/CheatRunner.pkg not found — auto-install disabled (run pkg-source/build-pkg.sh first)")
endif()
file(GLOB CHEATRUNNER_SRC CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/*.c")
# Gzip-compress the dashboard assets at build time on the host (real zlib,
# not available in the target SDK) and embed the finished bytes — the PS5
# binary just serves them, it never compresses anything itself.
foreach(_ASSET html css js)
execute_process(
COMMAND python3 "${CMAKE_CURRENT_SOURCE_DIR}/tools/gen_gzip_header.py"
"${CMAKE_CURRENT_SOURCE_DIR}/src/dashboard_${_ASSET}.inc"
"${CMAKE_CURRENT_BINARY_DIR}/dashboard_${_ASSET}_gz.h"
"g_dashboard_${_ASSET}_gz"
RESULT_VARIABLE _GZ_RC
)
if(NOT _GZ_RC EQUAL 0)
message(FATAL_ERROR "Failed to gzip-compress dashboard_${_ASSET}.inc for embedding")
endif()
endforeach()
file(GLOB CHEATRUNNER_SRC CONFIGURE_DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.c"
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp"
)
add_executable(CheatRunner
${CHEATRUNNER_SRC}
+27 -5
View File
@@ -69,13 +69,13 @@ Runtime cheat memory writes can crash the game, break a session, corrupt your sa
- ON/OFF trainer toggles where supported.
- Runtime restore where possible.
- Crash-suspect detection — mods that crash the game are flagged and blocked from re-enabling automatically; suspects persist across CheatRunner restarts.
- Autoload profiles — save your currently-enabled cheats and/or currently-applied patches for a game, and CheatRunner re-applies them automatically the next time that game launches, with an on-screen notification.
- Version-aware cheat selection with candidate selector and manual override.
- Per-title address mode override (Auto / Absolute / Relative) for SHN and MC4 files.
- Address learning cache — resolved SHN/MC4 addresses reused on subsequent applies.
- Settings panel — address resolution, safety timers, log level, and advanced toggles, all configurable from the dashboard, with one-click presets (Safe / Max Compatibility / Debug), live search, reset-to-defaults, and a dark theme picker.
- Config hot-reload — edits to `config.ini` on the PS5 (FTP/SSH) are picked up automatically within ~500 ms, no restart required.
- Logs panel.
- Copy Logs / Copy Cheat Debug / Copy Diagnostic Bundle.
- Logs panel with a Copy Logs button.
- Shutdown Payload button for testing and cleanup.
---
@@ -150,9 +150,7 @@ Some cheats may:
When reporting bugs, include:
- CheatRunner logs;
- Copy Cheat Debug output;
- Copy Diagnostic Bundle output if available;
- CheatRunner logs (Copy Logs button);
- game title ID;
- game version/update;
- cheat file used;
@@ -222,6 +220,30 @@ Patch search paths (scanned in this order):
---
## 🔁 Autoload Profiles
Autoload profiles let CheatRunner automatically re-apply your cheats and/or patches every time you launch a game — no need to open the dashboard and toggle them on again.
**Important:** an autoload profile only saves the cheats/patches that are **currently ON/applied at the moment you save it**. It does not save the whole cheat or patch file — only the specific mods you had turned on, or the specific patches you had applied, at that time.
### Setting up autoload for cheats
1. Open a game's trainer from the dashboard and enable the cheats you want.
2. Go to the **Cheats** tab and click **Save Autoload Profile**.
3. Next time you launch that game, CheatRunner automatically re-applies those same cheats and shows an on-screen notification.
4. To stop autoloading, open the Cheats tab again and click **Clear Autoload Profile**.
### Setting up autoload for patches
1. Open a game's trainer from the dashboard and apply the patches you want.
2. Go to the **Patches** tab and click **Save Autoload Profile**.
3. Next time you launch that game, CheatRunner automatically re-applies those same patches and shows an on-screen notification.
4. To stop autoloading, open the Patches tab again and click **Clear Autoload Profile**.
Cheat and patch autoload profiles are independent — you can save one, both, or neither for any given game.
---
## 🛠️ Building
CheatRunner is built with `ps5-payload-sdk`.