HKS 27D Posted February 1 Posted February 1 Full voice handler Counter-Strike 2 Cel mai important aspect atunci cand cineva lucreaza cu voice chat-ul de pe Counter-Strike 2 este luarea in calcul a performantei in fiecare edge-case. Totul trebuie tratat cu atentie (chiar si ordinea if statements, tipurile de variabile si alocarile de memorie). Trebuie sa stiti de asemenea ca in backend unele verificari sunt realizate OnTick. Daca nu luati in considerare toate aceste lucruri, puteti iesi de pe pagina forumului. Pentru ceilalti: imaginati-va ca vorbesc cativa oameni la CT si la T, in timp ce altii vorbesc la SPEC. Acesta este unul dintre cele mai comune cazuri. Totusi, cel mai mare volum de lucru apare atunci cand toti oamenii vorbesc in acelasi timp la T, CT si SPEC. Ce faceti sa preveniti degradarea performantei in acest caz? Atunci cand lucrati cu framework-uri de modding (CounterStrikeSharp => Listeners.OnClientVoice, SourceMod OnClientSpeaking) tot ceea ce faceti conteaza. Daca lucrati cu apasari de butoane sau Speaking Ends (OnClientSpeakingEnd SourceMod call or equivalents), lucrurile conteaza de asemenea. Daca as fi in locul vostru, as sta departe de solutii superficiale. As argumenta de asemenea ca e nevoie de micro-optimizari pentru a acoperi fiecare edge-case. Intrucat nu am avut parte de mult timp liber, revin cu aceasta postare preluata de pe discordul de modding si tradusa in romana la peste 2 ani distanta de la realizarea solutiilor din backend-ul serverelor de fairside. Varianta noastra se poate porta pe majoritatea solutiilor de modding existente pe Counter-Strike 2, daca nu chiar pe toate. Avand in vedere ca nu am gasit o solutie optima in C# pentru monitorizarea chatului voice fara downside-uri de performanta, am scris propria solutie in urma cu mult timp. Avem asadar un plugin pentru voice handling cu sistem de autosilence built-in. Este comparabil cu solutiile pe care le scrisesem pentru CSGO in urma cu cativa ani, desi acolo am avut versiuni diferite (timer-based, speaking ends si button presses). Prin utilizarea atomicity, structuri de date concurente si principii de programare standard in industrie am reusit sa depasim majoritatea (daca nu chiar toate) solutiile open-source si private pentru Counter-Strike in materie de caracteristici si performanta backend. Performanta versiune fairside Average Big O complexity: O(1) Worst Big O complexity: O(n) Perfect fit data types without overhead No useless CPU cycles in key moments No useless memory allocations Avantajele versiunii fairside No data race at all => no crashes or unpredictable behavior Lower CPU and RAM consumption based on best practices High concurrency & scalability Caracteristici CS2 Full voice handler Modular design by default Root admins have immunity by default Built-in warning system with autosilence Fully compatible with any open-source or private plugin that use similar or the same game-events Fully configurable thresholds for warnings and autosilence Fully customizable logs in case you need them for future references Many more addons for granular control that are not publicly disclosed Pentru ce poate fi folosit pluginul Built-in warning and autosilence system that protects the server Cover all cases where admins are away and you need to silence spammers Avoid conflicts and mass disconnects from players disturbed by spammers Have peace of mind and a quiet environment all the time Log all exaggerated behaviour (talking too much on the voice chat) And so on...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now