{"id":16905737,"url":"https://github.com/yalter/bunnymodxt","last_synced_at":"2025-05-16T19:03:19.327Z","repository":{"id":20438852,"uuid":"23715656","full_name":"YaLTeR/BunnymodXT","owner":"YaLTeR","description":"Speedrun and TAS tool for Half-Life \u0026 friends.","archived":false,"fork":false,"pushed_at":"2025-03-13T04:56:03.000Z","size":4332,"stargazers_count":212,"open_issues_count":84,"forks_count":39,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-16T19:02:12.716Z","etag":null,"topics":["c-plus-plus","goldsource","half-life","linux","speedrun","tas","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YaLTeR.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-09-05T19:29:22.000Z","updated_at":"2025-04-20T14:10:49.000Z","dependencies_parsed_at":"2023-02-13T03:05:12.561Z","dependency_job_id":"265564cf-b33a-4e19-97ac-7332eb324c9e","html_url":"https://github.com/YaLTeR/BunnymodXT","commit_stats":{"total_commits":1150,"total_committers":25,"mean_commits":46.0,"dds":"0.38782608695652177","last_synced_commit":"cbc496b1ba7f6c242a961c33f16d3b5741371dd6"},"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaLTeR%2FBunnymodXT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaLTeR%2FBunnymodXT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaLTeR%2FBunnymodXT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaLTeR%2FBunnymodXT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YaLTeR","download_url":"https://codeload.github.com/YaLTeR/BunnymodXT/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254592368,"owners_count":22097011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","goldsource","half-life","linux","speedrun","tas","windows"],"created_at":"2024-10-13T18:39:27.345Z","updated_at":"2025-05-16T19:03:19.300Z","avatar_url":"https://github.com/YaLTeR.png","language":"C++","readme":"# Bunnymod XT\n\n### VAC BAN WARNING: Do NOT connect to servers with this injected, or you might get VAC banned!\n\nBunnymod XT (BXT for short) is a cross-platform tool that provides speedrunning and TAS-related features for GoldSource games such as Half-Life and its modifications.\n\nUsed by hundreds if not thousands of speedrunners worldwide.\n\nBunnymod XT provides state-of-the-art speedrunning and TASing features and utilities, ranging from detailed HUDs to advanced autostrafing. It is a successor to the obsoleted hlspbunny and Bunnymod Pro.\n\n## Why?\n\nDespite the \"mod\" in Bunnymod XT, this is not a mod in the usual sense. Most Half-Life modifications work by modifying the Half-Life SDK and distributing the resulting DLLs. This includes the deprecated Bunnymod Pro. The downside is that while you can \"mod\" Half-Life itself, you cannot \"mod\" another Half-Life mod. This is a serious limitation for speedrunners intending to speedrun Half-Life mods and expansions.\n\nTo rectify this, Bunnymod XT injects into the Half-Life process while leaving every file on the disk intact. This means all modifications are done on-the-fly in RAM. This also means Bunnymod XT supports a wider range of Half-Life engines, from WON to the latest Steam.\n\n## Installation\n\n### Windows\n\nThe instructions are described [here](https://github.com/YaLTeR/BunnymodXT/wiki).\n\n### Linux\n\nUse the [Bunnymod XT Launcher](https://github.com/YaLTeR/bxt-launcher).\n\n## Documentation\n\n[On the Wiki pages](https://github.com/YaLTeR/BunnymodXT/wiki).\n\n### Environment variables\n\n- **BXT_SCRIPT** - if set to a filename of a hltas script, loads the non-shared RNG from that script on load.\n- **BXT_LOGFILE** - if set, logs all Bunnymod XT messages into a file with that filename.\n- **SPTLIB_DEBUG** - if set to 1, logs all dlopen, dlclose and dlsym calls.\n- **BXT_DISABLE_DEBUG_CONSOLE** - if set, disables the Bunnymod XT debug console.\n- **BXT_DISABLE_DISCORD_RPC** - if set, disables the Discord RPC module.\n- **BXT_DISABLE_VSYNC** - if set, disables the V-Sync on initialization (Windows-only).\n\n## Building\n\n### Windows\n\nBuilding on Windows requires\n\n- Visual Studio 2019 or 2022\n- [Boost](http://www.boost.org/)\n- [Rust](https://rustup.rs/)\n  - The `i686-pc-windows-msvc` target must be installed. You can do that using `rustup target add i686-pc-windows-msvc`.\n\nRun the following commands, replacing `path\\to\\boost\\base\\dir` with path to the Boost base directory:\n\n    git clone https://github.com/YaLTeR/BunnymodXT --recurse-submodules\n    cd BunnymodXT\n    cmake -A Win32 -B build -DBOOST_ROOT=path\\to\\boost\\base\\dir -Wno-dev\n\nThen compile the `ALL_BUILD` project from the generated VS solution in the `build` folder.\n\nIf you want to make a release build, you need to specify `-DCMAKE_BUILD_TYPE=Release` in the `cmake` command line arguments. This is needed because the Rust CMake module uses that variable to determine whether to build the crate in release or debug mode.\n\n### Linux\n\n#### GNOME Builder\n1. Set up Flathub by following the [guide](https://flatpak.org/setup/) for your distribution.\n1. Install [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder).\n1. Open GNOME Builder.\n1. Press the Clone Repository button, enter `https://github.com/YaLTeR/BunnymodXT.git` and press Clone Project. Wait until it finishes.\n\n   The cloning window should close, and a new window with the BunnymodXT project should open.\n1. If Builder prompts you to install missing SDKs, press Install and wait for the process to finish. It will take a while. You can monitor the progress by pressing the circle in the top-right.\n1. Click on the bar at the top-center which says BunnymodXT, and click the Build button.\n1. Once the build finishes, in the same bar menu click the Export Bundle button. The file manager will open in a path that looks like `gnome-builder/projects/BunnymodXT/flatpak/staging/x86_64-master`. Navigate up to the `BunnymodXT` folder, then down to `builds/rs.bxt.BunnymodXT.json-...` where you will find the built `libBunnymodXT.so`.\n1. Now you can make some changes to the code and press Build, then grab `libBunnymodXT.so` from the same folder.\n\n#### Manually\n\nBuilding on Linux requires\n\n- A recent GCC or Clang toolchain\n- Boost\n- Rust: either from your distribution's packages, or from [rustup](https://rustup.rs/).\n  - The `i686-unknown-linux-gnu` target must be installed. You can do that using `rustup target add i686-unknown-linux-gnu`.\n\nMany of these dependencies can be installed from a package manager.\n\n    git clone https://github.com/YaLTeR/BunnymodXT --recurse-submodules\n    cd BunnymodXT\n    cmake -B build -Wno-dev\n    make -C build\n\nNote that `-DBOOST_ROOT` is not required as CMake should be able to find its location in your system. In case it couldn't, you need to specify it manually like the case on Windows.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyalter%2Fbunnymodxt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyalter%2Fbunnymodxt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyalter%2Fbunnymodxt/lists"}