GithubHelp home page GithubHelp logo

bytekeeper / bwaishotgun Goto Github PK

View Code? Open in Web Editor NEW
6.0 4.0 1.0 6.16 MB

Utility to quickly setup Starcraft Broodwar matches between 2 *or more* bots

Batchfile 0.40% Rust 99.31% Makefile 0.29%
starcraft broodwar bwapi

bwaishotgun's Introduction

Build status

BWAIShotgun

Utility to quickly setup Starcraft Broodwar matches between 2 or more bots

Be 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.

Usage

Setup BWAIshotgun

Download the latest release of bwaishotgun.z7 and unpack it. Since Virus Scanners might interfere with download, it is password protected with the password shotgun. The bwheadless file inside might trigger your Virus Scanner directly or indirectly (when bwaishotgun is started).

I built the binary using a fork of the origin bwheadless, feel 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. I also modified it to run with "normal" game speed (LF3) - because most bots expect that.

Setup the Game

Have an installation of StarCraft Broodwar 1.16 (or get it here).

Copy 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.

Configure BWAIshotgun

Edit the shotgun.toml file. Many newer Java bots should run with any odd Java you have installed. In that case, just leave the java setting open, and try the version on the PATH.

Download bots of your choice (only BWAPI 4.2+ bots were tested) from https://www.sscaitournament.com/index.php?action=scores. Inside the bots directory, copy the template directory and rename it to the bot. Place the BWAPI.dll inside, and the bot binary inside the bwapi-data\AI folder.

To setup a game, edit the game.toml file. Add the absolute path of the map you want, and setup the bots. The description of the game_type variable should be sufficient.

Setup a sandbox

Ladders like SSCAIT and BASIL are using virtualization solutions. You might want to protect your computer from malicious code in bots as well. Consider setting up a sandbox (like Sandboxie) or a virtual machine.

Running BWAIshotgun

Finally, run bwaishotgun.exe - it should show some info output of bots being started. There is currently no timeout mechanism. If the game does not stop after a few minutes, kill it and check the logs folder inside each bot folder for errors.

After the game ran, check the replays folder for each bot - they should contain the replay from that bots perspective.

If a bot fails to work, feel free to open an issue - please include a zipped up version of that bots directory. Bots older that BWAPI 4.2 might need some more setup, please make sure that it can run without bwaishotgun, before opening a ticket.

Additional Artifact Sources

bwheadless Tournament Modules WMode injectory

bwaishotgun's People

Contributors

bytekeeper avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

gathers

bwaishotgun's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.