Jump to content

Recommended Posts

Posted

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 modding

 

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
  • PLANNEDPREEMPT_RT Kernel version specifically designed for CS2
  • PLANNEDKernel patchsets and changes ported from mainstream go-to kernels (Cloudflare's TCP collapse processing, Google's BBRv3 TCP congestion control etc.)
  • PLANNEDNetworking solutions based on Netfilter framework, traffic control, eBPF and XDP

 

  • Starred 1
  • Maximum Rate 3
Guest
This topic is now closed to further replies.
×
×
  • Create New...