Skip to content

Commit b26a832

Browse files
committed
2 parents 213425d + 809d70f commit b26a832

File tree

2 files changed

+122
-9
lines changed

2 files changed

+122
-9
lines changed

README.md

Lines changed: 122 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,125 @@
1-
# CS2 Server Picker (WinForms, .NET 9)
1+
# 🎯 CS2 Server Picker (WinForms)
2+
3+
A modern, designer-friendly Windows app for customizing your CS2 server experience.
4+
Ping, filter, and firewall Steam Datagram Relay (SDR) regions with intuitive controls, emoji-enhanced feedback, and dynamic recommendations.
5+
6+
---
7+
8+
## ✨ Features
9+
10+
- 🌍 **Geo-Aware Presets**
11+
Automatically recommends optimal regions based on your location and live ping results.
12+
13+
- 📡 **Live Ping Measurement**
14+
Asynchronously pings all relay endpoints with throttled UI updates and animated feedback.
15+
16+
-**Recommended Options**
17+
Highlights the fastest, good, and acceptable regions with emoji indicators and one-click selection.
18+
19+
- 🔥 **Firewall Integration**
20+
Applies Windows Firewall rules to block unwanted regions — outbound and inbound — with safe chunking and clear labeling.
21+
22+
- 🎨 **Modern UI**
23+
Custom controls, Segoe UI Emoji font, animated transitions, and responsive layout for a smooth desktop experience.
24+
25+
---
26+
27+
## 🖼️ Screenshots
28+
29+
> Coming soon — animated previews of region selection, ping feedback, and firewall application.
30+
31+
---
32+
33+
## 🚀 Getting Started
34+
35+
### Requirements
36+
37+
- Windows 10/11
38+
- .NET 6+
39+
- Administrator privileges (required for firewall rule management)
40+
41+
### Build Instructions
42+
43+
1. Clone the repo
44+
`git clone https://github.com/baardie/cs2-server-picker.git`
45+
46+
2. Open in Visual Studio
47+
Ensure NuGet packages are restored and build the solution.
48+
49+
3. Run as Administrator
50+
The app checks for elevation before launching.
51+
52+
---
53+
54+
## 🧠 Architecture
55+
56+
- **Core Layer**
57+
Handles region parsing, pinging, firewall rule planning, and geo detection.
58+
59+
- **UI Layer**
60+
WinForms-based interface with custom controls, animated feedback, and dynamic presets.
61+
62+
- **Data Models**
63+
Immutable records for relays, regions, and raw SDR config.
64+
65+
- **Interop**
66+
Uses `NetFwTypeLib` for COM-based firewall rule management.
67+
68+
---
69+
70+
## 🛡️ Privacy & Safety
71+
72+
This app uses public IP-based geolocation and Steam's SDR config API.
73+
No personal data is stored or transmitted.
74+
Firewall rules are scoped to CS2 relay IPs only.
75+
76+
---
77+
78+
## 🔧 TODO
79+
- [ ] ** Add release to github (its 5am atm)
80+
81+
- [ ] **Custom User Presets**
82+
Allow users to define and save their own region combinations.
83+
- UI: Add a “Custom” radio group with editable region checkboxes
84+
- UX: Persist selections across sessions using local config or registry
85+
- Feedback: Highlight custom presets with a subtle accent color or emoji
86+
87+
- [ ] **Ping Analysis & Recommendations**
88+
Measure live ping to all regions and suggest optimal choices dynamically.
89+
- Logic: Implement async ping sweep with timeout handling
90+
- UI: Display recommended region with animated pulse or fade-in
91+
- UX: Show “Best Match” label with confidence score or emoji indicator
92+
- Performance: Ensure zero UI freezing during pinging
93+
94+
---
95+
96+
## 🧩 Contributing
97+
98+
Pull requests are welcome!
99+
If you'd like to add new presets, improve animations, or refactor ping logic, feel free to fork and submit a PR.
100+
101+
---
102+
103+
## 📄 License
104+
105+
GPL-3.0 license
106+
107+
---
108+
109+
## 🙌 Credits
110+
111+
Built with care by [baardie](https://github.com/baardie),
112+
a creative technologist blending systems-level engineering with delightful UI design.
113+
114+
## ☕ Fuel My Future Updates
115+
116+
I craft small, thoughtful apps with a focus on clarity, performance, and user delight.
117+
If you’ve enjoyed using one of them, consider fueling future updates — in coffee!
118+
119+
Your donation helps cover maintenance, midnight coding sessions, and the occasional espresso-powered breakthrough.
120+
Thanks for being part of the journey 💙
121+
122+
[![Buy Me a Coffee](https://github.com/baardie/CS2ServerPicker/blob/master/donation.png?raw=true)](https://www.paypal.com/donate/?business=96PVNH58EAZXJ&no_recurring=0&item_name=Your+donation+helps+cover+occasional+caffeine-fueled+midnight+sessions%21+%0AThanks+for+being+part+of+the+journey+%F0%9F%92%99&currency_code=GBP)
2123

3-
A Windows desktop tool to control which CS2 SDR regions your game can connect to, by blocking unwanted relay IPs in Windows Firewall.
4124

5-
## Features
6-
- Live SDR region list from Steam API
7-
- Presets for quick selection (UK Only, EU Core, NA East)
8-
- Minimal, high-performance WinForms UI
9-
- Requires admin rights
10125

11-
## License
12-
GNU General Public License v3.0

donation.png

213 KB
Loading

0 commit comments

Comments
 (0)