Launcher for OpenSoldat game, a replacement for the old GUI that was removed in version 1.8.
It's an Electron app, written in Typescript with React and MobX.
We use Prettier to format the code - please remember to run npm run format
before committing.
Or better yet, set up your editor to run it for you when saving files.
- List, sort and filter available servers, and join online games from Lobby tab
- Configure and start a new local game from Local tab
- List and play recorded demos from Demos tab
- Configure client settings from Settings tab
To run the app, you will need Node.js.
To install dependencies, run this command from project's root directory:
npm install
Afterwards, you can run following commands:
# Starts the app in development mode.
npm start
# Builds binaries. The output will be in out/ directory.
npm run make
# Runs tests.
npm test
# Formats the code with Prettier. Remember to run it before committing!
npm run format
# Analyzes the code with ESLint.
npm run lint
This project is meant to be used together with OpenSoldat binaries. By default, the launcher will expect to find a directory called opensoldat
at the root of this project. It should contain all files that OpenSoldat needs to operate (binaries for both server and client, dynamic libraries, soldat.smod file and font for the client). When making a release build (with npm run make
), this opensoldat
directory will be copied to Electron's resources folder.
When running the app with npm start
, you can type rs
in the same terminal to quickly restart it.
The launcher is licensed under MIT license.
Files in the assets
directory were taken from OpenSoldat's base repository and are licensed under CC BY 4.0. Their original author is Michał Marcinkowski. No changes were made to the files.