Zablokowane żądania

Z Tribalwars Wiki PL
Przejdź do nawigacji

Zablokowane żądania


10 kwietnia wprowadziliśmy nową usługę ochronną na naszych serwerach, która będzie blokować żądania jeśli wysyłane jest zbyt wiele zapytań do naszych serwerów. Zrobiliśmy to dlatego, ponieważ dzięki rozwojowi gry przez lata, Plemiona stały się coraz bardziej złożone ze względu na funkcje, które dodaliśmy. Rzeczy takie jak grupy dynamiczne i asystent farmera powodują, że trzeba przetwarzać duże ilości danych w tle, a więc wczytywanie trwa nieco dłużej niż w przypadku przeciętnych stron internetowych.

Ilekroć ładujecie stronę w grze albo wykonujecie inne działania, czy to oglądając rankingi, wysyłając wojska za pośrednictwem mapy, zmieniacie nazwy przychodzących ataków lub nazwy wsi, Wasza przeglądarka wysyła żądanie do naszych serwerów. Każdy świat ma wiele serwerów dostępnych na przetwarzanie Waszych żądań. Na każdym serwerze istnieje pewna liczba "pracowników", czekających niecierpliwie, aby obsłużyć żądania jak najszybciej po ich otrzymaniu. Gdy pracownik otrzymuje to zlecenie, jest w 100% skupiony na obsłużeniu tylko niego. Nie może w tym samym czasie obsłużyć kolejnego żądania innego gracza, dopóki nie skończy poprzedniego. Jeśli ładujesz coś, czego przetworzenie trwa trochę dłużej, np. bardzo skomplikowane grupy dynamiczne lub asystent farmera, gdy masz ponad 2000 raportów grabieży na koncie, wówczas pracownik jest zajęty tak długo, aż przetworzy wszystkie te dane.

Liczba dostępnych pracowników jest ograniczona. Musimy zmieniać ich ilość w zależności od popularności świata, jego wieku itd… Bez względu na wielkość świata, zawsze jest wystarczająco dużo pracowników, aby zapewnić, że twoja prośba jest wykonywana od razu, jeśli każdy z graczy gra normalnie.

Problemy zaczynają występować, gdy jedna osoba nagle zaczyna zużywać więcej zasobów niż powinna wysyłając duże ilości żądań równocześnie. Na przykład, jeśli używasz źle zaimplementowanego skryptu, który próbuje oznaczyć 1000 komend na raz. Oznacza to, że Twoja przeglądarka wysyła wszystkie 1000 żądań do naszych serwerów za jednym razem, tak szybko, jak przeglądarka i możliwości sieci mogą to zrobić. Przeciętny komputer nie jest w stanie wysyłać 1000 wniosków tak szybko, ale daje radę wysyłać 50-100 na sekundę. To oznacza, 50-100 pracowników na naszych serwerach zajętych właśnie tymi żądaniami. Żaden inny gracz nie może z nich korzystać. Zazwyczaj nie powoduje to problemów. Ale co się dzieje, gdy wielu graczy zaczyna postępować w ten sposób? Możemy w końcu doprowadzić do sytuacji, gdy nie ma żadnych wolnych pracowników, do przetworzenia "normalnych" żądań od każdego innego gracza.

To samo dzieje się w przypadku korzystania z dodatków do przeglądarek lub skryptów otwierających 200 nowych kart w tym samym czasie. To tworzy ogromną ilość żądań.

Jest teraz określenie dla takiej sytuacji: "odmowa usługi". Gdy jedna osoba wysyła zbyt wiele żądań, przez co serwer ma mniej zasobów, aby zapewnić stabilną grę dla reszty świata.

Zatem jeśli widzisz komunikat w grze, że „Twoje konto obecnie przetwarza operację. Prosimy spróbować ponownie” oznacza to, że próbujesz wysyłać zbyt wiele żądań do serwera – musisz rozważyć, co robisz. Jeśli wcześniej otwarto 200 kart w ciągu jednej sekundy, powinieneś znaleźć sposób, aby zmniejszyć ten efekt. Jeśli masz skrypt do masowej zmiany nazw wiosek lub opisywania rzeczy, upewnij się, że jesteś przykładnym użytkownikiem i dodaj przerwę pomiędzy kolejnymi żądaniami. Jest to środek konieczny, aby zapewnić stabilną pracę serwera dla każdego. Jedna osoba lub jedna grupa graczy nie powinna móc utrudniać rozwoju innymi poprzez atakowanie serwera - nawet jeśli robią to nieświadomie.

Zabezpieczenie to chroni również przed problemami serwera kiedy ludzie świadomie starają się zaszkodzić naszym maszynom. Niestety, dzieje się tak częściej niż można by to sobie wyobrazić.

Do tej pory widzieliśmy, że ochrona ta dotknęła bardzo małą ilość graczy – rzędu 0,1%. Na przykład na najnowszym holenderskim świecie było tylko garść zablokowanych żądań, a były one takie:

  • Nielegalne automatyczne wysyłane żądania do asystenta farmera.
  • Użycie skryptu do masowego pobierania danych z mapy.
  • Wysyłanie setek opisów ataków w ciągu jednej sekundy.
  • Nielegalne automatycznie używanie wymiany funkcji Premium.



Tłumaczenie: Małgorzata