{"id":23999088,"url":"https://github.com/bytekeeper/bwaishotgun","last_synced_at":"2025-04-14T22:03:01.842Z","repository":{"id":78644677,"uuid":"466564341","full_name":"Bytekeeper/BWAIShotgun","owner":"Bytekeeper","description":"Utility to quickly setup Starcraft Broodwar matches between 2 *or more* bots","archived":false,"fork":false,"pushed_at":"2024-04-05T16:21:21.000Z","size":6308,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T22:02:41.647Z","etag":null,"topics":["broodwar","bwapi","starcraft"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bytekeeper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-03-05T20:47:41.000Z","updated_at":"2023-03-15T14:00:03.000Z","dependencies_parsed_at":"2025-01-07T23:45:41.131Z","dependency_job_id":null,"html_url":"https://github.com/Bytekeeper/BWAIShotgun","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bytekeeper%2FBWAIShotgun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bytekeeper%2FBWAIShotgun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bytekeeper%2FBWAIShotgun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bytekeeper%2FBWAIShotgun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bytekeeper","download_url":"https://codeload.github.com/Bytekeeper/BWAIShotgun/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248968737,"owners_count":21191159,"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":["broodwar","bwapi","starcraft"],"created_at":"2025-01-07T23:45:37.197Z","updated_at":"2025-04-14T22:03:01.821Z","avatar_url":"https://github.com/Bytekeeper.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build status](https://ci.appveyor.com/api/projects/status/3j406t3yd3oymiqy?svg=true)](https://ci.appveyor.com/project/Bytekeeper/bwaishotgun)\n\n# BWAIShotgun\nUtility to quickly setup Starcraft Broodwar matches between 2 *or more* bots\n\nBe aware that all bots will be executed directly, without any layer of isolation. If you need a more secure environment, either use sc-docker or setup BWAIShotgun in a VM.\n\n# Usage\n## Setup `BWAIshotgun`\nDownload the latest release of `bwaishotgun.z7` and unpack it.\nSince Virus Scanners might interfere with download, it is password protected with the password `shotgun`.\nThe `bwheadless` file inside might trigger your Virus Scanner directly or indirectly (when bwaishotgun is started).\n\nI built the binary using a [fork](https://github.com/Bytekeeper/bwheadless) of the origin [bwheadless](https://github.com/tscmoo/bwheadless),\nfeel free to check the code. It certainly does fishy things, which is to be expected as it heavily modifies StarCraft to run without UI etc.\nI also modified it to run with \"normal\" game speed (LF3) - because most bots expect that.\n\n## Setup the Game\nHave an installation of StarCraft Broodwar 1.16 (or get it [here](http://www.cs.mun.ca/~dchurchill/startcraft/scbw_bwapi440.zip)).\n\nCopy the `SNP_DirectIP.snp` (Local PC network inside the game) - the modified version of BWAIshotgun allows for 8 bots to play in a single game.\n\n## Configure BWAIshotgun\nEdit the `shotgun.toml` file. Many newer Java bots should run with any odd Java you have installed.\nIn that case, just leave the java setting open, and try the version on the `PATH`.\n\nDownload bots of your choice (only BWAPI 4.2+ bots were tested) from https://www.sscaitournament.com/index.php?action=scores.\nInside the bots directory, copy the `template` directory and rename it to the bot. \nPlace the `BWAPI.dll` inside, and the bot binary inside the `bwapi-data\\AI` folder.\n\nTo setup a game, edit the `game.toml` file. Add the absolute path of the map you want, and setup the bots.\nThe description of the `game_type` variable should be sufficient.\n\n## Setup a sandbox\nLadders like SSCAIT and BASIL are using virtualization solutions. \nYou might want to protect your computer from malicious code in bots as well.\nConsider setting up a sandbox (like [Sandboxie](https://sandboxie-plus.com/)) or a virtual machine.\n\n## Running BWAIshotgun\n\nFinally, run `bwaishotgun.exe` - it should show some info output of bots being started.\nThere is currently no timeout mechanism. \nIf the game does not stop after a few minutes, kill it and check the `logs` folder inside each bot folder for errors.\n\nAfter the game ran, check the `replays` folder for each bot - they should contain the replay from that bots perspective.\n\nIf a bot fails to work, feel free to open an issue - please include a zipped up version of that bots directory. \nBots older that BWAPI 4.2 might need some more setup, please make sure that it can run without `bwaishotgun`, before opening a ticket.\n\n# Additional Artifact Sources\n[bwheadless](https://github.com/Bytekeeper/bwheadless)\n[Tournament Modules](https://github.com/basil-ladder/sc-tm)\n[WMode](https://github.com/bwapi/bwapi/blob/main/Release_Binary/Chaoslauncher/Plugins/WModeReadme.txt)\n[injectory](https://github.com/blole/injectory)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytekeeper%2Fbwaishotgun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytekeeper%2Fbwaishotgun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytekeeper%2Fbwaishotgun/lists"}