The modern way to play StarCraft 1.
The modern way to play StarCraft 1.
ShieldBattery is a custom server and launcher client for StarCraft: Remastered, adding many features and improvements while utilizing the real game client for gameplay. It is a community-run project under active development, with new features added all the time!
The ShieldBattery developers frequent the Discord server at the link below, feel free to stop in with questions, comments, or just to hang out!
If you'd like to assist with translating our application into other languages, please reach out to us in our Discord! We use an external application for managing this process which can be found here. Registering to contribute translations requires approval.
See our getting started guide for information on initial developer setup.
pnpm run start-server
The server will automatically rebuild the necessary client JavaScript files as they change. If you make changes to the server files, you'll need to restart the server manually.
The standalone has two development components: a development server that rebuilds and hot-reloads client JavaScript files, and the Electron application itself (that loads and uses these files). Both must be running for things to work correctly.
To run the development server, use:
pnpm run dev
To run the app, use:
pnpm run app
This setup will automatically rebuild and reload for any client changes you make. If you make changes to
things in the app
folder, you'll need to close and restart the app (using the above command) for them to
take effect.
To test the multiplayer aspect of the project, whether that's in the application or in an actual game, you
can start multiple instances of the application with the different sessions by using the SB_SESSION
environment variable. By default, the name of the session is simply session
. So if you want to start an
additional instance of the standalone application, you can set the environment variable SB_SESSION
to
anything other than the default name in a new console window. Eg., on Windows:
set SB_SESSION=session1
Note that ShieldBattery supports multiple instance of StarCraft running at the same time, so you can even start a game with two different accounts if you need to test something in the game.
In order to actually run the game through the standalone application, you need to ensure that you successfully built the Rust code as explained in the getting started guide.
The ShieldBattery project is broken down into four big pieces, located in these folders:
There are also some other important folders:
pnpm test
). Note that the server has its own
tests, which are located inside of the server/test
directory.MIT