BAR Lobby
BAR Lobby is a new WIP lobby for the RTS game Beyond All Reason. It hopes to boldly go where no Spring client has gone before, providing a more streamlined experience, with good visuals and UX being high priority. The ultimate goal of BAR Lobby is to replace all other lobbies when it comes to playing BAR. If a significant amount of people don't wish to use it because of reasons such as functionality or speed, then this project is going very wrong.
Functionality and Goals
- Provide functionality for everything related to BAR. Campaigns, Missions, Multiplayer, Replays etc
- Simple and intutive codebase, lots of documenation for contributing
- Steam integration, automatic account creation and login
- Smooth, seemless, fully integrated downloads. Content should be preloaded when sensible
- Communicate entirely via Teiserver's new protocol, Tachyon. No support for the legacy SpringLobbyProtocol
- TLS only, no unencypted comms
Development
Primary Tech Stack
- Electron
- TypeScript
- Vue 3 with Composition API
- SCSS
- Howler
- Tachyon Client
Recommended Environment
It is highly recommended to use VSCode for development, as it provides full, built-in TypeScript support, as well as useful extensions such as ESLint and Volar.
Requirements
Project setup:
git lfs install
git clone git@github.com:beyond-all-reason/bar-lobby.git
npm install
NPM Scripts
Compile and hot-reload for development: npm run dev
Compile and minify for production: npm run build
Lint files: npm run lint
Format files: npm run format
Bump version and deploy: npm version patch
/ npm version minor
/ npm version major