Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

[CS:GO] Anti Pure File False Positive Kicker


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
Lately there has been a mass amount of reports of clients being kicked from servers due to having inconsistent files compared to the server. The kick message reason will look similar to this:

"Pure server: file [GAME]\pak01_065.vpk does not match the server's file (76)"

Normally this means that the clients game files have been modified. When the sv_pure convar is set on a server the connected clients will send 1000's of messages to the server of each file it currently has cached in memory. This message includes a files path and it's checksum (a series of digits that will uniquely identify large amounts of binary data in a compressed format). The server than reads its own local file of the given path and compares the checksum given to the value it determined the file should be. If there's a miss-match the server simply kicks the client. This can happen in many different ways from clients deliberately modifying the files to gain an advantage to a corruption occurring. You simply have to validate your clients game integrity cache.

However after an influx of reports recently of this happening much more frequently I decided to look into a possible cause. Somewhere within the last 2 months valve added a new check which causes false positive kicks. They simply added a check which limits the amount of messages a client can send to the server within 1 second. This limit is 75 and most likely added as an anti DOS safe guard mechanic. Through my testing with this limit removed, I was unable to reproduce any server lag exploits.

68747470733a2f2f692e696d6775722e636f6d2f

Here's where the false positives come in. If a client starts to have network issues such as packet loss or FPS lag, these network messages get added to a queue until the game frame is allowed to send the updated messages. This queue then gets sent out to the server in bulk when the connection returns. This means if a client just freezes for 3 seconds due to having a slow hard drive and loading a file from disk or a slow CPU, they will then spam the server with more than 75 packets of file checks and immediately be kicked from the server with the message above. This is kick is not due to them having modified game files but due to them simply lagging or being on a bad wifi signal.

This plugin removes the limit to prevent these false kicks while keeping the normal sv_pure file inconsistencys checks which will still kick those clients.


(CAUTION):
This Plugin is written differently than most sourcemod plugins. It modifys ASM instructions directly and is prone to breaking much easier in future updates. If your server crashes as soon as a player connects after a csgo update, please start debugging by removing this plugin.

Supported OS's are Windows and Linux.


Installation:
Place PureFilePatch.txt inside your "addons\sourcemod\gamedata\" directory (and the .smx inside your "addons\sourcemod\plugins\" directory...).

Attached Files
File Type: sp Get Plugin or Get Source (PureFileFalsePositiveAntiKicker.sp - 2.0 KB)
File Type: txt PureFilePatch.txt (571 Bytes)

Wyświetl pełny artykuł

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

×
×
  • Dodaj nową pozycję...