Skip to content

dom1torii/yet-another-server-picker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yasp_preview

Yet Another Server Picker

YASP - Cross-platform TUI tool that allows you to select which CS2 servers you want to play on by blocking IPs of unwanted servers in your firewall.

How it works

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

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.

Linux

AUR (Arch Linux)

paru -S yasp-bin

Build and install

  1. Install GoLang and Go-Task
  2. Clone the repository: git clone https://github.com/dom1torii/yet-another-server-picker.git
  3. cd into the folder
  4. Install: sudo go-task install

Windows

Winget (recommended)

winget install yasp
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 repository: git clone https://github.com/dom1torii/yet-another-server-picker.git
  3. cd into the folder
  4. Build the binary: go build ./cmd/yasp/

Configuration

Config file is located at /home/username/.config/yasp/ on linux or C:\Users\Username\.config\yasp\ on windows and is created by default when you first launch the executable.
It allows you to easily access and change some settings you might want to change.

Default config would look something like this:

[relays]
show_perfectworld = true

[ips]
path = "/home/username/yasp_ips.txt"

[logging]
enabled = false
path = "/home/username/yasp.log"

Explaination:
show_perfectworld - show/hide perfect world servers in the list.
ips:path - path to the file where ips you selected will be stored.
logging:enabled - enable logging (for debugging purposes).
logging:path - path to the file where logs will be stored.

Limitations

  • Selecting servers is not fully accurate and sometimes you may get routed through the server you selected instead of playing directly on it.
  • Sometimes server you selected may not be found. (using high mm_dedicated_search_maxping is recommended)

If you have any ideas on how to fix or improve something, pull requests are always welcome :)

Planned features

  • Custom presets

Libraries used

https://github.com/charmbracelet/bubbletea and others from Charm - TUI.
https://github.com/spf13/pflag - CLI flags.
https://github.com/BurntSushi/toml - TOML parser.
https://github.com/muesli/reflow - Small library for text wrapping.
https://github.com/prometheus-community/pro-bing - For pinging IP addresses.

Credits

Thank you alekun for the logo <3

About

YASP (Yet Another Server Picker) - Cross-platform TUI CS2 server picker written in Go

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages