Här kommer en snabb översättning av innehållet i posten
på Devbloggen.
Nu har jag gjort denna toksnabbt, så ni får försöka stå ut med eventuella knasigheter i översättningen:
Igår genomförde vi en ändring på våra servrar, en ny skyddstjänst som blockerar förfrågningar om du skickar för många på en gång. Skälet till detta är att som utvecklingen varit under åren, har Tribal Wars blivit mer och mer komplicerad på grund av de funktioner vi har lagt. Saker som dynamiska grupper och farmassistenten måste bearbeta stora mängder data i bakgrunden och tar då lite längre att ladda än en genomsnittlig webbsida.
När du laddar en sida i spelet eller utföra en åtgärd, vare sig det är att titta på rankingen, öppna samlingsplatsen, skicka trupper via kartan, eller döpa inkommande attacker eller byar, skickar din webbläsare en begäran till våra servrar. Varje värld har flera servrar tillgängliga för att bearbeta din begäran. På varje server finns ett antal "workers", som väntar otåligt för att hantera en begäran så fort den kommer in. När en "worker" får denna begäran, är den 100% vikt för att hantera den åt dig. Den kan inte hantera andra spelares begäran innan den är klar med dina. Om du laddar något som tar en stund att bearbeta, till exempel en komplicerad dynamisk grupp eller farmassistent när du har över 2000 farmrapporter på ditt konto, blir "workern" upptagen, tills den är klar med bearbetningen av alla dessa data.
Antalet "workers" är en begränsad resurs. Vi reglerar antalet beroende på hur populär världen är, hur gammal den är, och så vidare. Oavsett världens storlek finns alltid tillräckligt med "workers" för att säkerställa att din begäran hanteras omedelbart om alla spelar normalt.
Problemen börjar uppstå när en person plötsligt börjar använda mer av den här resursen än de borde genom att skicka en mycket stor mängd förfrågningar på en gång. Till exempel om du använder ett dåligt kodat skript som försöker att märka 1000 kommandon på en gång. Det innebär att din webbläsare skickar alla 1000 förfrågningar till servrarna samtidigt, så fort din webbläsare och nätverksstacken kan hantera det. En genomsnittlig dator kan inte skicka 1000 förfrågningar så snabbt, men kan ändå hantera kanske 50-100 per sekund. Det betyder att 50-100 "workers" på våra servrar blir dedikerade enbart till dig. Ingen annan spelare kan använda dem. Vanligtvis är det bra, men vad händer när flera spelare börjar göra detta? Vi når så småningom punkten där det inte finns några "workers" kvar för att hantera "normala" förfrågningar från alla andra spelare.
Samma sak händer om du använder en webbläsare addon eller ett skript för att öppna 200 nya flikar samtidigt. Det är fortfarande en stor mängd förfrågningar.
Det finns en term för detta - "Denial of service" attack. Även om det är oavsiktligt, innebär det att när en spelare skickar så många förfrågningar får servern mindre resurser för att kunna ge ett stabil spel till resten av världen.
Så om du får ett meddelande i spelet om att du skickar för många begäranden, måste du fundera på vad du gör. Om du tidigare öppnat 200 flikar på en sekund, måste du hitta ett sätt att sprida ut dem lite. Om du har ett skript som mass döper byar eller taggar saker, se till att det är en bra medborgare på nätet och lägger till en timeout mellan varje förfrågan. Detta är en nödvändig åtgärd för att kunna säkerställa att servern förblir stabil för alla. En person eller en grupp av spelare ska inte kunna hindra andras utveckling genom att angripa servern - även om de gör det oavsiktligt.
Detta skydd skyddar dig även från att få serverproblem när människor avsiktligt försöker skada våra servrar. Tyvärr händer detta oftare än du tror.
Hittills har vi sett att skyddet endast har löst ut på en mycket liten mängd spelare, så lite som 0,1%. Till exempel, på den senaste nederländska världen har det bara varit en handfull blockerade förfrågningar, och dessa var för:
- Otillåtna, automatiska kommandon till farmassistenten
- Användning av ett skript för att samla alla uppgifter från kartan
- Skicka hundratals begäranden om attack tagg på en sekund
- Otillåtnen, automatisk anvädning av Premiumbörsen