Како функционише Минецрафт (шта узрокује заостајање?)
Типични узроци заостајања
Извештаји о времену за Спигот/ПаперСпигот
Извештаји о времену за Сунђер
Кораци за смањење заостајања
Како функционише Минецрафт (шта узрокује заостајање?)
Кључ за разумевање шта узрокује кашњење је разумевање како Минецрафт функционише. Сви Минецрафт серверски софтвери раде на сличан начин са једним кључним проблемом: нема вишеструких нити временских ограничења за главну петљу игре. Када сервер пређе на тиц, он пролази кроз свако ажурирање ТилеЕнтити-а, ажурирање ентитета, ажурирање блока, догађаје и друге процесе док се не заврши. Све се ово дешава на једној нити, а следећа петља не може да почне док се не заврши тренутна. Свет се неће ажурирати, играчи се неће померати и ентитети ће бити замрзнути на месту. У идеалном случају, сваком тику не би требало више од 50 мс да одржи 20 тикова у секунди (ТПС). Ово може ићи чак 55,55 мс за 18 ТПС уз минималне проблеме. Било шта ниже од овога и почећете да видите заостајање.
Типични узроци заостајања
Постоји много ствари које могу изазвати кашњење, али неке од њих ће бити највероватнији кривци за већину сервера.
- Употреба датотеке : Сваки додатак који стално чита из датотека плејера, посебно о догађајима као што су кретање, оштећење или интеракција. Неколико примера би биле неке ПВП заставице или Глов додаци који ће непрекидно читати из фајлова плејера.
- Равне датотеке као база података : Када имате додатке који користе велике датотеке за праћење великог броја података који се понављају кроз ту датотеку или у меморији, у зависности од тога како се чува, биће потребно много времена. Многи додаци то раде и не предузимају мере предострожности како ће, када базе података постану надувене, време обраде утицати на тик сервера. Ово ћете често видети када учитавате велике МагицСпеллс конфигурације или користите системе дозвола који користе ИАМЛ уместо одговарајуће базе података као што су ПЕКС и ГроупМанагер.
- Превише операција : Када додатак створи превише ентитета или покуша да изврши сложене задатке на догађајима као што је кретање, видећете кашњење. Чак и ако свако покретање траје мање од 1 мс, када обрађујете догађај 20 хиљада пута у секунди, он постаје експоненцијалан. Додаци који то могу изазвати су додаци за уређивање света као што су ВокелСнипер и ВорлдЕдит; или заштитни додаци као што су Анти Цхеатс и Ворлд Протецтионс.
- Учитано је превише комада : један комад је
16*16*256. Ово можда не звучи много, али када се помножи то значи да има 65.536 блокова по комаду. Сваки играч може имати више од 200 комада учитаних око себе, у зависности од ваше конфигурације. То је више од 13,107,200 блокова. Ово заузима пуно меморије. Такође, ако је чак 1% од њих ТилеЕнтитиес, то је 131,072 ТилеЕнтитиес учитаних који треба да ажурирају сваки тик. Модови су познати по томе што имају споро време обраде на ТилеЕнтитиес.
- Цасцадинг ВорлдГен : Ово је када додатак или мод генерише структуре изван дела који му је дат. Ово узрокује да се следећи део учитава, генерише, а затим поново покреће ако такође почне да се структуре преливају у следећи део. Ово је лош дизајн у име креатора и сваки додатак или мод који то ради треба одмах уклонити.
- Ентитети плочица : Погледајте одељак ЛагГоггле испод.
Проналажење узрока заостајања је данас генерално једноставна процедура јер је већина Минецрафт серверског софтвера направљена са укљученим алатима за профилисање.
Извештаји о времену за Спигот/ПаперСпигот
Да бисте добили детаљан извештај о времену, можете користити следећу команду.
/timings on
Пожелећете да сачекате неколико минута и пустите да се одуговлачи док вам времена тече. Након неког времена, генеришите извештај.
/timings paste
Ово ће вам дати везу до веб локације са лепим прегледом извештаја са једноставним опцијама за пробирање свих података које добијате. Можете сазнати више о томе како да их читате на Спигот-овом викију за мерење времена .
Након тога ћете желети да искључите мерење времена, јер не желите да нежељени подаци зачепљују ваше следеће читање, а тајминг додаје додатно време тику.
/timings off
Извештаји о времену за Сунђер
Да бисте добили детаљан извештај о времену, можете користити следећу команду.
/sponge timings on
Пожелећете да сачекате неколико минута и пустите да се одуговлачи док вам времена тече. Након неког времена, генеришите извештај.
/sponge timings report
Ово ће вам дати везу до веб локације са лепим прегледом извештаја са једноставним опцијама за пробирање свих података које добијате. Пошто је Сунчев систем мерења времена заснован на Спиготовом, можете сазнати више о томе како да их читате на Спиготовом викију за мерење времена .
Након тога ћете желети да искључите мерење времена, јер не желите да нежељени подаци зачепљују ваше следеће читање, а тајминг додаје додатно време тику.
/sponge timings off
Такође можете ресетовати тајминг.
/sponge timings reset
Кораци за смањење заостајања
- Користите одговарајуће аргументе за датотеку скрипте да бисте покренули Минецрафт. Сазнајте више о одговарајућим Јава аргументима овде
- Користите ЛуцкПермс или менаџер дозвола који користи одговарајућу базу података уместо равне датотеке
- Избегавајте утовариваче комада у потпуности
- Уклоните све што узрокује каскадно стварање света
- Ограничите Анти Цхеат додатке да не будете претерани
- Ограничите удаљеност гледања играча
server.properties
- Очистите непријатељске руље након одређеног временског периода
- Поново покрените сервер свакодневно да бисте очистили цурење са Јаве
- НИКАДА немојте поново учитавати сервер, то узрокује цурење и друге проблеме
- Користите ФастАсинц верзије додатака као што су ВорлдЕдит и ВокелСнипер
- Ограничите величину свог света како се нови делови не би стално стварали
- Ограничите количину додатака које користите. Нису сви додаци добро направљени и што више имате, наићи ћете на више проблема
ЛагГогглес
Велики део кашњења на модификованим серверима долази од плочица ентитета. Ово су ентитети креирани за блокове који се користе за обраду функционалности и догађаја блока. Ако трају предуго или их има превише, то може повећати време по тику и смањити укупни ТПС сервера. Начин да се ови проблеми визуелизују је коришћење мода који се зове ЛагГогглес. Можете преузети овај мод са ЦурсеФорце .