HKS 27D Posted January 19 Posted January 19 Rezultate backend development Salut! A trecut ceva timp de la ultima postare referitoare la revizuirea strategiei comunitatii: click aici. A venit si 2026, iar odata cu asta am decis sa publicam o parte din rezultatele noastre pe partea de backend dev. Pentru asta, amintim in continuare serverele de discord administrate de noi, intrucat o buna parte din rezultatele muncii noastre se remarca acolo. Pe langa asta, regasiti o alta parte din rezultatele muncii noastre pe serverele oficiale de CSGO si CS2 ale comunitatii. Restul se afla in backend. Discord fairside Discord Perm. Invite URL: https://www.fairside.ro/discord/ Discord Temp. Invite URL: https://discord.com/invite/fairside-ro-gaming-community-820014374194380830 Discord modding Discord Perm. Invite URL: https://www.fairside.ro/modders/ Discord Temp. Invite URL: https://discord.com/invite/zsmUzthPXx Limbaje si performanta software In ceea ce priveste alegerea limbajelor de programare, am mers pe favoritele noastre: C, C++, C#, Java, Go, Python. Ce inseamna asta? Ei bine, in situatiile unde avem nevoie de performanta bruta, am ales C/C++. In rest: C#, Java si Go pentru software medium-sized to large-sized, iar Python (si Bash) pentru scripting. Adaug totusi urmatoarea mentiune: desi am inlocuit o buna parte din scripturile de Python (si Bash) cu scripturi scrise in Go datorita performantei, nu am renuntat complet la limbaje interpretate deoarece sunt utile in functie de use-case, iar un SysAdmin/Dev bun se foloseste de tot ce are pentru a livra rezultate exceptionale in functie de cerintele specifice pe fiecare caz. Uneori e importanta reducerea timpului de development, alteori e importata performanta chiar si la programe micute. Cat despre modul in care tratam partea de software development si performanta, aici avem o multime de lucruri de zis, dar ne rezumam la cele esentiale. Se remarca diferente relevante in cazul proiectelor open-source lansate de fairside fata de proiectele closed source. De ce? Pentru ca proiectele closed source trebuie sa respecte exigentele noastre incat sa ruleze exact asa cum dorim in productie, in general pe infrastructura noastra. Comparativ cu asta, in proiectele open-source fiecare e liber sa altereze codul in functie de nevoile individuale. Asadar, in proiectele closed source prioritizam: limbaje de programare compilate, cat mai apropiate de assembly ca nivel de abstractizare reducerea alocarilor de memorie (in principiu reduced stack allocs si zero or close to zero heap allocs) stack allocs instead of heap allocs where suitable high throughput and low latency eliminare dependente redundante coding from scratch in anumite cazuri in locul librariilor mainstream care acopera nevoi generice code concurrency with sharding (atomicity or mutual exclusion in functie de caz) RAM storage with fine-tuned evict policy backup and data recovery measures automatizari cat mai multe our own custom linux commands for SysAdmin activity CLI arguments instead of JSON files micro-optimization techniques lower-level networking and linux-specific tricks OS-level metrics (e.g., netstat, /proc/net/udp) for overall packet reception health and loss detection buffer pools and pointers where suitable code readability and maintainability Mentiuni importante backend dev In aceasta postare regasiti doar o parte din rezultatele eforturilor noastre in urma procesului de backend development. De ce? Pentru ca nu consideram ca e necesar sa publicam absolut tot ce exista in backend. Cu toate astea, informatiile publicate deja mai jos ofera un overview suficient de bun incat sa arate ceea ce am putut realiza cu efortul cumulat al perioadei anterioare. Am realizat destul de multe alternative la solutiile software comerciale si open-source regasite pe Internet, iar pe langa asta am dezvoltat aplicatii proprii pe baza ideilor noastre, ajungand la concluzia ca putem inova in paralel daca tot cautam sa acoperim nevoile fundamentale ale gamerilor nostri. In plus, focusul nostru a mers in principiu catre dezvoltarea de software - nu doar partea de linux management - fapt care rezultat in rezolvarea multor probleme intalnite atat de noi, cat si de managerii de servere si jucatori. Asta nu a facut decat sa ne bucure, intrucat am obtinut ce am cautat. Se remarca utilizarea de cuvinte/prefixe cheie, precum "automation", "auto", "performance", "concurrency", "atomicity", "mutual exclusion", "sharding". Daca doriti explicatii suplimentare, accesati discordul comunitatii unde regasiti detalii pe canalul #fairside-news odata cu fiecare implementare realizata de noi. O alta mentiune importanta este existenta etichetei PLANNED la anumite elemente din listele de mai jos, fapt care arata ce alte lucruri avem in plan pentru perioada imediat urmatoare. Cat despre restul caracteristicilor si solutiilor software: sunt complet functionale si ruleaza deja in productie, insa n-am mai adaugat eticheta DONE pentru a evita repetitia. Open-source work for anybody Discord software: PythonDiscordServerStatus CS2 plugins: CSSharpMemory CSSharpLastPlayedMaps CSSharpChatAntiflood CSSharpRadioAndChatwheelBlocker CSSharpServerStatus CSSharpDisconnectedPlayersLogs CSSharpConnectedPlayersLogs CSSharpHideAdminEvents Private work with public results for modders Scripts SteamCMD automation Discord software Server management app based on zero-trust paradigm Global, concurrency and individual ratelimiters with warnings counter Concurrency with atomicity, mutual exclusion and sharding JSON-based logic for API compatible apps RAM storage with fine-tuned evict policies SQLite and MySQL storage as mirros for RAM data Quick replies slash commands User management commands Control other discord apps (start, stop, restart) Linux/Windows depot manifests autodownload CS2 modding frameworks signature checks automation CS2 news automation Git changes (all commits, dir changes) and GitHub releases/tags automation Quote of the day automation Static apps Private work with no public access to proprietary software Linux software High performance A2S Query Cacher with round-robin channel sharding, failsafe and zero memory allocs logging when querying the server Universal A2S Query Tester compatible with dozens of operating systems and architectures Private work for fairside only Discord software Server management app based on zero-trust paradigm Global, concurrency and individual ratelimiters with warnings counter Concurrency with atomicity, mutual exclusion and sharding JSON-based logic for API compatible apps RAM storage with custom evict policies SQLite and MySQL storage as mirros for RAM data Quick replies slash commands User management commands CS2 remote database control CS2 remote console execution Linux OS remote console execution Ticket autoresponder Two steps system Words filtering Control other discord apps (start, stop, restart) Control TeamSpeak server (start, stop, restart, update) Control CS2 server (start, stop, restart, update, force-update, fix-permissions, validate) Server status (players number, current map) CS2 news automation Real-time worldwide CS2 players Real-time worldwide players for more than 30 popular Steam games Real-time Steam group members TeamSpeak query control TeamSpeak online users Quote of the day automation CS2 players and admins daily activity CS2 rank points events Static apps CS2 plugins Players/Admins Activity Players Activity Benefits automation Advanced Chat Filters with AUTOKICK and AUTOBAN after continous spam Advanced Chat Antiflood with AUTOKICK and AUTOBAN after continous spam Full voice handler automation with AUTOSILENCE Admin game events manager Console admin ranks with online admins (CS 1.6 amx_who/admin_who like) Advanced HP System for normal kills and headshots Advanced Players Care System AFK Manager with built-in support for growing servers Block commands before full connection Body dissapear Bombsite restrict Chat killer info Chat logger ClutchTime with engine-based optimizations Connected/disconnected players logs Event rewards automation Round rewards automation Garbage Collector tweaker (C# only) C# current memory consumption Move commands Nightmode (Casual gamemode): 1 map only or 2 maps only Nightmode (Competitive gamemode): 1 map only or 2 maps only Plugins list blocker Radio and chatwheel blocker Command triggers for players info Reset score AntiFlashTeam C4 Timer Colored smoke Team colored smoke Team bet Advanced server status Social media messages automation Weapons Handler (restrict specific weapons) Scripts Discord apps start/stop automation Docker-compatible firewall Firewall start/stop automation Linux RAM enhacements automation for production-ready env RAM consumption for each discord app Screen and tmux sessions automation Our own custom linux commands for SysAdmin activity Linux software Fine-tuned SSH configuration based on zero-trust paradigm Fine-tuned sysctl.conf settings specifically designed for CS2 Fine-tuned kernel hardening specifically designed for CS2 Fine-tuned kernel performance specifically designed for CS2 Fine-tuned boot params Backup and data recovery measures Linux kernel PLANNED: Zen Interactive Kernel version specifically designed for CS2 PLANNED: PREEMPT_RT Kernel version specifically designed for CS2 PLANNED: Kernel patchsets and changes ported from mainstream go-to kernels (Cloudflare's TCP collapse processing, Google's BBRv3 TCP congestion control etc.) PLANNED: Networking solutions based on Netfilter framework, traffic control, eBPF and XDP 1 3
Recommended Posts