Диагностициране на забавяне на сървъра на Minecraft и нисък TPS

Как работи Minecraft (Какво причинява забавяне?)

Ключът към разбирането на това какво причинява забавяне е да разберете как работи Minecraft. Сървърният софтуер на Minecraft работи по подобен въпрос с един ключов проблем: няма многонишкови или времеви ограничения за основния цикъл на играта. Когато сървърът премине към tic, той преминава през всяка актуализация на TileEntity, актуализация на обект, актуализация на блокове, събития и други процеси, докато приключи. Всичко това се случва в една нишка и следващият цикъл не може да започне, докато текущият не приключи. Светът няма да се актуализира, играчите няма да изглежда да се движат и обектите ще бъдат замразени на място. В идеалния случай всеки тик трябва да отнема не повече от 50 ms, за да поддържа 20 тика в секунда (TPS). Това може да стигне до 55,55 ms за 18 TPS с минимални проблеми. По-ниско от това и ще започнете да виждате изоставане.

Типични причини за изоставане

Има много неща, които могат да причинят забавяне, но някои от тях ще бъдат най-вероятният виновник за повечето сървъри.

  • Използване на файлове : Всеки плъгин, който постоянно чете от файлове на плейъра, особено при събития като движение, повреда или взаимодействие. Няколко примера биха били някои PVP флагове или Glow плъгини, които непрекъснато ще четат от файловете на плейъра.
  • Плоски файлове като база данни : Когато имате плъгини, които използват големи файлове, за да следят много данни, итерацията през този файл или в паметта в зависимост от това как се съхранява, ще отнеме много време. Много плъгини правят това и не вземат предпазни мерки срещу това как, когато базите данни се раздуят, времето за обработка ще се отрази на тик на сървърите. Ще видите това много, когато зареждате големи конфигурации на MagicSpells или използвате системи за разрешения, които използват YAML вместо подходяща база данни като PEX и GroupManager.
  • Твърде много операции : Когато плъгин породи твърде много обекти или се опитва да изпълнява сложни задачи за събития като движение, ще започнете да виждате забавяне. Дори ако всяко изпълнение отнема по-малко от 1 мс, когато обработвате събитие 20 000 пъти в секунда, то става експоненциално. Плъгините, които могат да причинят това, са плъгини за редактиране на света като VoxelSniper и WorldEdit; или защитни плъгини като Anti Cheats и World Protections.
  • Заредени са твърде много парчета : Една част е 16*16*256. Това може да не звучи много, но когато се умножи, това означава, че има 65 536 блока на парче. Всеки играч може да има повече от 200 заредени парчета около себе си, в зависимост от вашата конфигурация. Това е повече от 13 107 200 блока. Това отнема много памет. Освен това, ако дори 1% от тях са TileEntities, това е 131 072 заредени TileEntities, които трябва да актуализират всеки тик. Модовете са известни с това, че имат бавно време за обработка на TileEntities.
  • Cascading WorldGen : Това е, когато плъгин или мод генерира структури извън частта, която му е дадена. Това кара следващата част да се зареди, генерира и след това задейства отново, ако също така започне да прелива структури в следващата част. Това е лош дизайн от името на създателите и всеки плъгин или мод, който прави това, трябва да бъде премахнат незабавно.
  • Обекти на плочки : Вижте раздела LagGoggle по-долу.

Намирането на причината за изоставането обикновено е проста процедура в днешно време, тъй като повечето сървърен софтуер на Minecraft е изграден с включени инструменти за профилиране.

Доклади за времето за Spigot/PaperSpigot

За да получите подробен отчет за времето, можете да използвате следната команда.

/timings on

Ще искате да изчакате няколко минути и да го оставите да се забави, докато времето ви тече. След известно време генерирайте отчета.

/timings paste

Това ще ви даде връзка към уебсайт с хубава разбивка на отчета с лесни опции за пресяване на всички данни, които получавате. Можете да научите повече за това как да ги четете в уикито за времето на Spigot .

Ще искате да изключите таймингата след това, тъй като не искате нежеланите данни да запушват следващото ви четене, а таймингата добавя допълнително време към тика.

/timings off

Доклади за времето за Sponge

За да получите подробен отчет за времето, можете да използвате следната команда.

/sponge timings on

Ще искате да изчакате няколко минути и да го оставите да се забави, докато времето ви тече. След известно време генерирайте отчета.

/sponge timings report

Това ще ви даде връзка към уебсайт с хубава разбивка на отчета с лесни опции за пресяване на всички данни, които получавате. Тъй като системата за синхронизиране на Sponge е базирана на тази на Spigot, можете да научите повече за това как да ги четете в уикито на Spigot .

Ще искате да изключите таймингата след това, тъй като не искате нежеланите данни да запушват следващото ви четене, а таймингата добавя допълнително време към тика.

/sponge timings off

Можете също да нулирате тайминга.

/sponge timings reset

Стъпки за намаляване на изоставането

  • Използвайте подходящи аргументи за вашия скриптов файл, за да стартирате Minecraft. Научете повече за подходящите аргументи на Java тук
  • Използвайте LuckPerms или мениджър на разрешения, който използва правилна база данни вместо плосък файл
  • Избягвайте напълно зареждането на парчета
  • Премахнете всичко, което причинява каскадно генериране на света
  • Ограничете плъгините Anti Cheat, за да не бъдете прекалено ревностни
  • Ограничете разстоянието за гледане на играчите server.properties
  • Изчистете враждебните тълпи след определен период от време
  • Рестартирайте сървъра всеки ден, за да почистите течове от Java
  • НИКОГА не презареждайте сървъра, това причинява течове и други проблеми
  • Използвайте FastAsync версии на плъгини като WorldEdit и VoxelSniper
  • Ограничете размера на вашия свят, така че да не се създават постоянно нови парчета
  • Ограничете количеството плъгини, които използвате. Не всички плъгини са изградени добре и колкото повече имате, толкова повече проблеми ще срещнете

LagGoggles

Голяма част от забавянето на модифицираните сървъри идва от плочки. Това са обектите, създадени за блокове, които се използват за обработка на функционалността и събитията на блока. Ако те отнемат твърде много време или са твърде много, това може да увеличи времето на тик и да намали общия TPS на сървъра. Начин за визуализиране на тези проблеми е да използвате мод, наречен LagGoggles. Можете да изтеглите този мод от CurseForce .


Как да настроите Tekkit Classic Server на Ubuntu 16.10

Как да настроите Tekkit Classic Server на Ubuntu 16.10

Използване на различна система? Какво е Tekkit Classic? Tekkit Classic е модпак за играта, която всички познават и обичат; Minecraft. Съдържа част от вер

Настройте 7 Days to Die сървър на Ubuntu 14

Настройте 7 Days to Die сървър на Ubuntu 14

В това ръководство ще научите как да настроите свой собствен сървър 7 Days to Die (7D2D) в Ubuntu. Моля, имайте предвид, че тази игра все още е с ранен достъп и че th

Counter-Strike Global Offensive Server Launcher на Ubuntu

Counter-Strike Global Offensive Server Launcher на Ubuntu

Тези, които имат опит в настройването на специален CS:GO (Counter-Strike: Global Offensive), знаят, че процесът на използване на интерфейса на командния ред за управление

Как да инсталирате SteamCMD на вашия VPS

Как да инсталирате SteamCMD на вашия VPS

В този урок ще инсталираме SteamCMD. SteamCMD може да се използва за изтегляне и инсталиране на много сървъри за игри на Steam, като Counter-Strike: Global Offensiv

Стартиране на сървър на Teamspeak 3 на CentOS 6.4

Стартиране на сървър на Teamspeak 3 на CentOS 6.4

Изпълнете следните команди, за да инсталирате сървър на Teamspeak 3. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Как да инсталирате сървър на Minecraft на Ubuntu 14.04

Как да инсталирате сървър на Minecraft на Ubuntu 14.04

Използване на различна система? В тази статия ще инсталираме сървър на Minecraft на Ubuntu. Уверете се, че сте влезли под потребител, който isn

Стартирайте свой собствен сървър Arma 3 на Ubuntu 14

Стартирайте свой собствен сървър Arma 3 на Ubuntu 14

Общ преглед Това ръководство ще обхване инсталирането и работата на вашия сървър Arma 3 с помощта на SteamCMD и екрана. За допълнителна информация относно th

Как да инсталирате Unturned на Linux

Как да инсталирате Unturned на Linux

Използване на различна система? Въведение В това ръководство ще научите как да настроите и инсталирате Unturned сървър на Linux. Unturned е популярно оцеляване

Terraria Server с TShock на Linux

Terraria Server с TShock на Linux

Terraria е MMORPG, базирана на копаене, изграждане и битки. Някои хора казват, че това е 2D версия на Minecraft, но това няма да се отдаде на Terraria

Настройте PaperSpigot на Ubuntu

Настройте PaperSpigot на Ubuntu

PaperSpigot е високопроизводителен форк на Spigot, който има за цел да коригира несъответствията в играта и механиката. Хартията съдържа множество уникални характеристики и промени

Как да инсталирате сървър на Minecraft на Ubuntu 18.04

Как да инсталирате сървър на Minecraft на Ubuntu 18.04

Използване на различна система? Въведение Minecraft сървър ще ви позволи да играете онлайн с други хора. В тази статия ще инсталираме Minecraf

Как да настроите сървър на Minecraft на Ubuntu 18.04

Как да настроите сървър на Minecraft на Ubuntu 18.04

Minecraft все още е една от най-популярните игри в света. Ако играете играта, вероятно играете на сървъри през цялото време. Това ръководство има за цел да ви научи

Как да инсталирате Garrys Mod на Windows Server

Как да инсталирате Garrys Mod на Windows Server

Въведение Тази статия ще обясни как да изтеглите и инсталирате Garrys Mod сървър на Windows Server 2012. Това ръководство е направено така, че да бъде задълбочено и малко

Настройка на Garrys Mod сървър

Настройка на Garrys Mod сървър

Инструкциите са предназначени за Ubuntu 14.04 32 bit, но трябва да работят на всички версии на Ubuntu. Този урок ще ви научи как да направите игра на Garrys Mod

Създаване на сървър на Teamspeak 3 на Ubuntu 14 64-битов

Създаване на сървър на Teamspeak 3 на Ubuntu 14 64-битов

Преглед Независимо дали работите върху голям проект за сътрудничество с вашия екип за разработка или убивате шеф в най-новата ролева игра, вие

Как да инсталирате Counter-Strike 1.6 сървър на Linux

Как да инсталирате Counter-Strike 1.6 сървър на Linux

Това ръководство ще ви покаже как да настроите сървър на Counter-Strike: 1.6 на Linux. Стъпките тук ще работят за повечето дистрибуции на Linux, които поддържат SteamCMD. Първо

Музикален бот, използващ Teamspeak на Windows

Музикален бот, използващ Teamspeak на Windows

Този урок ще ви научи как да създадете музикален бот за Teamspeak с помощта на Vultr VPS. Някои хора обичат да слушат хубава музика, когато играят игри

Инсталиране на McMyAdmin на Ubuntu 14.10

Инсталиране на McMyAdmin на Ubuntu 14.10

McMyAdmin е контролен панел на сървъра на Minecraft, използван за администриране на вашия сървър. Въпреки че McMyAdmin е безплатен, има множество издания, някои от които са pai

Настройте сървър за игри Insurgency на Ubuntu 15.04

Настройте сървър за игри Insurgency на Ubuntu 15.04

В този урок ще настроим сървър за игри Insurgency на Ubuntu 15.04. Преди да можем да настроим сървъра на Insurgency, трябва да инсталираме няколко други

Инсталиране на Reflex сървър на Windows

Инсталиране на Reflex сървър на Windows

Въведение Reflex е развиващ се конкурентен Arena FPS от Turbo Pixel Studios. Този урок ще ви покаже как да настроите свой собствен Reflex сървър

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече