- Баллы
- 173
- Имя в Minecraft
- fromgate
@Korvinius
Да, конечно можно будет исправить, надо только для плагина добраться. Как доберусь, сразу выложу обновленную версию.
Я не совсем понимаю, что такое нагрузка на 1 чанк.
Вообще сам по себе "эффект" - это не страшно. Страшно когда их много и одновременно
Если говорить о нагрузке и лагах в целом, то есть несколько источников лагов от эффектов:
1. Лаги клиента. Когда-то ещё во времена NoSmoking, я понял, что любой клиент можно нагрузить отобразив огромное количество дыма в относительно небольшой области - как игрок туда заходит, так сразу начинаются лаги. Что-то подобное было со сферами опыта как только они появились (наверняка все помнят).
Насколько этот эффект сохранился в клиенте я не знаю - у меня с тех пор компьютер апгрейдился раза два (да и Dinnerbone, время от времени, рапортует о каких-то улучшениях клиента по части производительности), а специальной цели повесить клиент я не ставил.
Правда, кстати, всё же знаю - клиент 1.6.х точно можно повесить даже одним фейерверком (если задать ему очень большую длительность полёта, запустить и смотреть ему в след -- именно из-за этого я в Munchausen Firework взрываю фейерверки сразу после того как с них игрок спрыгивает) или циклическим проигрыванием огромного числа фейерверков на небольшом удалении от игрока (с частотой несколько раз в секунду).
В общем если не злобствовать, то клиенту будет хорошо.
2. Нагрузка на сеть. Каждый эффект - это пакет отправляемый серверу. Приблизительно во времена появления NoSmoking! я в другом плагине (я так и не собрался выложить его в общий доступ) проигрывал огромное множество эффектов - дыма (я уже затрудняюсь назвать количество, но их было несколько тысяч). Выяснилось, что даже если этих эффектов никто не видит, то всё равно начинаются лаги - банально забивался интернет-канал сервера.
Вот этот момент я предусмотрел в PlayEffect. Во-первых, пакеты отправляются только тем игрокам, которые находятся поблизости от эффекта. Соответственно если рядом с эффектом никого нет, то эффект не проигрывает, пакеты не отправляются; Во-вторых, есть лимит на количество эффектов проигрываемых за один тик (настраивается в конфиге). Этот лимит, на мой взгляд, всё-же лишней - первого условия уже достаточно, но на всякий случай я оставил и эту "подстраховку".
3. Лаги сервера. Если не считать нагрузки на сеть, то на мой взгляд в реальной ситуации не может быть такого, чтобы эффекты вызвали бы падение TPS.
Вообще, когда-то, в ранних версиях NoSmoking! была недоработка, связанная с энтити-эффектом (там эффект создавался падением жемчужины эндера -- и поскольку они спавнились в выгруженных чанках и соответственно не падали и "не умирали", то это могло привести к тому, что в памяти сервера висело множество не отработавших "жемчужин", а рано или поздно - out of memory
В PlayEffect этого точно нет
Да, конечно можно будет исправить, надо только для плагина добраться. Как доберусь, сразу выложу обновленную версию.
Плагин очень даже хороший, подойдет для MiniGame серверов. Но у меня вопрос, какую нагрузку на сервер даёт этот плагин? (Если можно то нагрузку на 1 чанк тоже сказать)
Я не совсем понимаю, что такое нагрузка на 1 чанк.
Вообще сам по себе "эффект" - это не страшно. Страшно когда их много и одновременно
Если говорить о нагрузке и лагах в целом, то есть несколько источников лагов от эффектов:1. Лаги клиента. Когда-то ещё во времена NoSmoking, я понял, что любой клиент можно нагрузить отобразив огромное количество дыма в относительно небольшой области - как игрок туда заходит, так сразу начинаются лаги. Что-то подобное было со сферами опыта как только они появились (наверняка все помнят).
Насколько этот эффект сохранился в клиенте я не знаю - у меня с тех пор компьютер апгрейдился раза два (да и Dinnerbone, время от времени, рапортует о каких-то улучшениях клиента по части производительности), а специальной цели повесить клиент я не ставил.
Правда, кстати, всё же знаю - клиент 1.6.х точно можно повесить даже одним фейерверком (если задать ему очень большую длительность полёта, запустить и смотреть ему в след -- именно из-за этого я в Munchausen Firework взрываю фейерверки сразу после того как с них игрок спрыгивает) или циклическим проигрыванием огромного числа фейерверков на небольшом удалении от игрока (с частотой несколько раз в секунду).
В общем если не злобствовать, то клиенту будет хорошо.
2. Нагрузка на сеть. Каждый эффект - это пакет отправляемый серверу. Приблизительно во времена появления NoSmoking! я в другом плагине (я так и не собрался выложить его в общий доступ) проигрывал огромное множество эффектов - дыма (я уже затрудняюсь назвать количество, но их было несколько тысяч). Выяснилось, что даже если этих эффектов никто не видит, то всё равно начинаются лаги - банально забивался интернет-канал сервера.
Вот этот момент я предусмотрел в PlayEffect. Во-первых, пакеты отправляются только тем игрокам, которые находятся поблизости от эффекта. Соответственно если рядом с эффектом никого нет, то эффект не проигрывает, пакеты не отправляются; Во-вторых, есть лимит на количество эффектов проигрываемых за один тик (настраивается в конфиге). Этот лимит, на мой взгляд, всё-же лишней - первого условия уже достаточно, но на всякий случай я оставил и эту "подстраховку".
3. Лаги сервера. Если не считать нагрузки на сеть, то на мой взгляд в реальной ситуации не может быть такого, чтобы эффекты вызвали бы падение TPS.
Вообще, когда-то, в ранних версиях NoSmoking! была недоработка, связанная с энтити-эффектом (там эффект создавался падением жемчужины эндера -- и поскольку они спавнились в выгруженных чанках и соответственно не падали и "не умирали", то это могло привести к тому, что в памяти сервера висело множество не отработавших "жемчужин", а рано или поздно - out of memory

В PlayEffect этого точно нет
