Намери причината за лаг
Изпитваш лаг в сървъра си? Значи тази статия е правилното място за теб! Тук ще разгледаме какви инструменти можеш да използваш, за да диагностицираш причината за лаг в Minecraft сървъра си, както и да да я отстраниш. Продължи да четеш, ако се интересуваш от темата.
Какво е лагът?
Добре, но преди да започнем ще трябва да разберем: какво точно е лагът? Лагът обикновенно е забавяне на Minecraft сървъра, което довежда до нямаляване на неговата скорост и съответно забавяне на действията в играта. Изразява се в забавяне при интеракции с блокове, връщане на движения, като например при ходене, замръзяването на мобове, и други смущения.
Какво може да причини лаг?
Често лаг се проявява когато производителността на сървъра не може да се справи с натоварването на играчи, плъгини, модове или света на играта. Изразява се в забавяне при интеракциите с блокове, връщането на движения, като например при ходене, замръзването на мобове, и други смущения. Това се получава, защото вътрешният часовник на Minecraft работи в тикове, които са дискретни интервали от време, при които различни процеси в сървъра се ъпдейтват.
Какво е TPS?
TPS е съкращението на Ticks Per Second, или на български тикове в секунда и показва колко тика се обработват от сървъра в рамките на 1 секунда. Стойността по подразбиране е 20 TPS, което означава, че сървъра се стреми да ъпдейтва логиката на играта 20 пъти в секунда.
В случай, където TPS-а на сървъра е под 20, това индикира, че сървъра изпитва затруднения да поддържа бройката ъпдейти в секунда по подразбиране. Например, ако сървъра работи на 15 TPS, означава че логиките на сървъра и играта се ъпдейтват 15 пъти в секунда, за разлика от оптималните 20 пъти. От своя страна, това може да доведе до проблемите посочени в горната тема.
Хардуер или Софтуер е причината?
Най-добрият въпрос - дали проблемът е в хардуера или софтуера, който сървъра ми използва.
Нека започнем с хардуер, защото първо него споменаваме в заглавието на темата. Безспорно, версиите на Minecraft 1.13+ направиха поддръжката и администрацията на един Minecraft сървър сравнително по-трудна. Това се изразява главно в факта, че Minecraft сървърите са много по-интензивни спрямо ресурси от всякога. И тази интензивност само се покачва с излизането на нови версии на играта. В редки случаи, хардуерът може да се окаже проблемът зад производителността на един сървър. Това обаче, силно се определя от това какви процесори използва дадена хостинг компания. Процесорите излезли в последните няколко години са повече от способни да поддържат един Minecraft сървър, без абсолютно никакви проблеми, дори и на най-новите версии.
Следващата възможна причина за лаг е именно софтуера, който използва един Minecraft сървър. Това са добавките, които можем да инсталираме на нашия сървър, а именно плъгини и модове.
Нека отбележа, че откриването на лаг причинен от плъгин е сравнително по-лесно отколкото при лаг от модове. Именно заради това тази статия ще се фокусира главно над откриването на лаг причинен от плъгини. За наш късмет е изключително лесно, за да открием лаг причинен от някой плъгин, защото имаме голям набор от инструменти, които можем да използваме.
Плъгините често могат да причиняват лаг, тъй като може да не са добре оптимизирани или настроени. При оптимизацията проблемът най-често идва от разработчика на плъгина, като това означава, че определена логика не е написана достатъчно ефективно и би могла да се оптимизира. Най-добре е подобни проблеми да се докладват обратно към разработчика, за да може те да бъдат отстранени, което съответно ще подобри плъгина и за останалите сървъри, които го използват. При настройването нещата стоят малко по-различно, като грешката тук може да бъде причинена и от администратора на Minecraft сървъра. Обикновенно, някои плъгини имат настройки, които могат значително да намалят производителността на сървъра. Разработчиците често ги отбелязват с коментар в конфигурационния файл на плъгина или някъде в документацията на плъгина.
MazenHost се стреми да предоставя най-доброто качество на услугите, които предлага. За нашите Minecraft услуги, ние използваме сървъри с Ryzen процесори и спецификации от последно поколение, които задоволяват нуждите на нашите клиенти.
Ако искаш да научиш повече за характеристиките и спецификациите на услугите ни, то тогава можеш да посетиш статиите: Технически детайли - Minecraft & Технически детайли - VPS
— MazenHost
Профайлъри за диагностика на лаг
Това са набор от инструменти, които можем да използваме, за да диагностицираме откъде може да идва лагът. Те са предназначени единствено за сървъри, които използват софтуер поддържащ плъгини.
Имай на предвид, че тези т.нар. инструменти са още по-добре познати като профайлъри. Когато ги използваме, ние пускаме профайлър, което създава профил с информация за производителността на сървъра ни в определен период от време. Спрямо информацията събрана от профайлъра ние можем да открием конкретната причината за лаг.
Timings (v1 & v2)
Първият инструмент за диагностика на лаг, за който ще говорим е именно Timings. Те се разделят на 2 версии, като v1 е включена в софтуера Spigot, а v2 е включена в софтуера Paper и всеки от неговите форкове.
Особеностите между двете версии са сравнителни, но това което трябва да знаем е, че v2 предоставя много повече опции за диагностика на лаг. Именно поради това препоръчваме използването на Paper или някой от неговите форкове, защото те не само предоставят по-добра произовидтелност, но и по-добри инструменти за диагностика на лаг.
PaperMC обявиха, че Timings v2 скоро ще бъдат заменени от Minecraft плъгина за диагностициране на лаг spark. Ако искаш да научиш повече за промяната, можеш да посетиш предложението в GitHub: Replace Timings with Spark
spark
spark е Minecraft плъгин, който служи за диагностицирането на лаг. Той предлага същите, ако не и по-мощни функции за откриването на лаг от Timings v2, но също така е и по-лесен за начинаещи.