An open API service indexing awesome lists of open source software.

https://github.com/dom1torii/yet-another-server-picker

Cross-platform TUI CS2 server picker and manager written in Go.
https://github.com/dom1torii/yet-another-server-picker

counter-strike cs2 csgo go golang serverpicker tui valve

Last synced: 5 months ago
JSON representation

Cross-platform TUI CS2 server picker and manager written in Go.

Awesome Lists containing this project

README

          

aboba123

# Yet Another Server Picker
YASP is a TUI tool that allows you to choose CS2 servers you want to play on with ease.

## How it works

It takes relays from https://api.steampowered.com/ISteamApps/GetSDRConfig/v1?appid=730 and allows you to select relays you want. After you made your choice and chose "Block relays you don't want", it uses firewall rules (using iptables on linux and netsh on windows) to block servers you didn't choose.

## Can i get banned

No, because all it does is prevent your PC from connecting to certain IPs. It doesn't interact with the game at all and isn't a cheat.

## Installation

Releases are available for Windows and Linux on the [releases page](https://github.com/dom1torii/yet-another-server-picker/releases/).

### Linux

#### Build and install

1. Install [GoLang](https://go.dev/doc/install) and [Go-Task](https://taskfile.dev/docs/installation)
2. Clone the repo `git clone https://github.com/dom1torii/yet-another-server-picker.git`
3. `cd` into the folder
4. Run `sudo go-task install`

#### AUR (Arch Linux)

```bash
Soon
```

### Windows

#### [Scoop](https://scoop.sh/) (recommended)

```
scoop bucket add cs2 https://github.com/dom1torii/cs2
scoop install cs2/yasp
```

### Building from source

1. Install GoLang -> https://go.dev/doc/install
2. Clone the repo `git clone https://github.com/dom1torii/yet-another-server-picker.git`
3. `cd` into the folder
4. Run `go build ./cmd/yasp/`

## Planned features

- ~~Toggle between blocking/allowing servers instead of just allowing~~ (added in latest commit)
- Global/China version switch
- Settings and ~~config file~~ (config file added in latest commit)

## Notes

The tool is not fully accurate and sometimes will connect you to server that are **routed** through the server you chose.
Its also possible that you wont find the server you selected.
If you have any ideas how to fix that, pull requests are welcome :)

## Libraries used

https://github.com/charmbracelet/bubbletea and others from [Charm](https://charm.land/) - TUI.
https://github.com/spf13/pflag - CLI flags.
https://github.com/muesli/reflow - Small library for text wrapping.
https://github.com/prometheus-community/pro-bing - For pinging IP addresses.