Вопрос Ядро PurPur 1.19.2, падение TPS

Забей. Лимита у него не было
Оптимизация очень хорошо помогла серверу. Сервер стал намного лучше держать людей и т.п. Но сейчас при онлайне 15 возникла опять проблема. Как я понял что-то связанно с тиками сервера. help plz :(

" "
 
Ты не сделал предзагрузку чанков, по спарку прочитал. К тому-же энтити как мы видим в спарке перенагружают твой сервер.
Объединено

И проверь есть ли у тебя лимбо и лобби. Они тоже важны дабы не было проблем с оптимизацией
 
Оптимизация очень хорошо помогла серверу. Сервер стал намного лучше держать людей и т.п. Но сейчас при онлайне 15 возникла опять проблема. Как я понял что-то связанно с тиками сервера. help plz :(

" "
Удали спартан и дело с концом
 
Удалить BetterSleepeng,в коде видно что чет связанно с ним
Вам необходимо зарегистрироваться для просмотра изображений-вложений

Объединено


Ты не видел сервер где много, тот-же ItemsAdder жрет 45-55%
Хендлеры протокола в нетти - вижу.
Что-то связанное с беттерслиппингом нет.

Открою маленький секрет - большинство античитов (в том числе спартан) работают на пакетном уровне, как раз используя для этого ProtocolLib.
Отсюда и нагрузка.
Прямая взаимосвязь.
Довольно забавно, что создатель "крупнейшего сервера" не способен увидеть эту взаимосвязь.

Overwrite тут полностью прав.
 
Оу, тут развёлся достаточно большой диалог. Огромное вам спасибо за ответ, сейчас займусь этим и удалю спартан.

Заметил факт, что жесточайшее падение тпс начинается примерно через 8 часов после запуска сервера.

Когда наступает падение тпс, консоль начинает умирать, засоряясь DiscordUtils'ом(плагин на авторизацию через дискорд) и бесперебойно спамит, не давая толком прописать stop.
 
Собрал основные ошибки перед смертью TPSa. Перед этим Spartan работал постоянно и кричал на игроков.

Столкнулся с тем, что сервер при онлайне 10-15 начинает кидать варнинги ниже
[12:31:23] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 7869ms or 157 ticks behind
[12:45:20] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 10229ms or 204 ticks behind

С этого сообщения начинает умирать консоль и падать TPS. Этой ошибкой и следующей спамит бесконечно пока не стопну сервер
[12:45:31] [Craft Scheduler Thread - 1069 - DiscordUtils/WARN]: [DiscordUtils] Plugin DiscordUtils v3.2.1 generated an exception while executing task 68
java.lang.IllegalStateException: Could not acquire lock in a reasonable timeframe! (10 seconds)
at net.dv8tion.jda.api.utils.MiscUtil.tryLock(MiscUtil.java:169) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.api.utils.MiscUtil.locked(MiscUtil.java:145) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.ratelimit.BotRateLimiter.queueRequest(BotRateLimiter.java:208) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.Requester.request(Requester.java:111) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.RestActionImpl.queue(RestActionImpl.java:198) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.DeferredRestAction.queue(DeferredRestAction.java:125) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:573) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:539) ~[DiscordUtils.jar:?]
at md.mirrerror.discordutils.discord.DiscordUtils.lambda$checkNames$5(DiscordUtils.java:271) ~[DiscordUtils.jar:?]
at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1092) ~[?:?]
at md.mirrerror.discordutils.discord.DiscordUtils.checkNames(DiscordUtils.java:256) ~[DiscordUtils.jar:?]
at md.mirrerror.discordutils.discord.DiscordUtils.lambda$setupDelayedNamesCheck$6(DiscordUtils.java:304) ~[DiscordUtils.jar:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at md.mirrerror.discordutils.discord.DiscordUtils.lambda$setupDelayedNamesCheck$7(DiscordUtils.java:304) ~[DiscordUtils.jar:?]
at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[purpur-1.19.2.jar:git-Purpur-1850]
at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[purpur-1.19.2.jar:git-Purpur-1850]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[purpur-1.19.2.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]

2-ой варнинг который спамит бесперебойно
[12:46:34] [JDA RateLimit-Worker 5/ERROR]: [net.dv8tion.jda.internal.requests.RateLimiter] Encountered exception trying to execute request
java.lang.IllegalStateException: Could not acquire lock in a reasonable timeframe! (10 seconds)
at net.dv8tion.jda.api.utils.MiscUtil.tryLock(MiscUtil.java:169) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.api.utils.MiscUtil.locked(MiscUtil.java:131) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.ratelimit.BotRateLimiter.getBucket(BotRateLimiter.java:318) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.ratelimit.BotRateLimiter.getRateLimit(BotRateLimiter.java:199) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.Requester.execute(Requester.java:148) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.Requester.execute(Requester.java:253) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.Requester.execute(Requester.java:142) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.Requester.execute(Requester.java:125) ~[DiscordUtils.jar:?]
at net.dv8tion.jda.internal.requests.ratelimit.BotRateLimiter$Bucket.run(BotRateLimiter.java:481) ~[DiscordUtils.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]

[12:58:28] [Watchdog Thread/ERROR]: Current Thread: Server thread
[12:58:28] [Watchdog Thread/ERROR]: PID: 26 | Suspended: false | Native: true | State: RUNNABLE
[12:58:28] [Watchdog Thread/ERROR]: Stack:
[12:58:28] [Watchdog Thread/ERROR]: io.netty.channel.epoll.Native.eventFdWrite(Native Method)
[12:58:28] [Watchdog Thread/ERROR]: io.netty.channel.epoll.EpollEventLoop.wakeup(EpollEventLoop.java:189)
[12:58:28] [Watchdog Thread/ERROR]: io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:855)
[12:58:28] [Watchdog Thread/ERROR]: io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:825)
[12:58:28] [Watchdog Thread/ERROR]: io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:815)
[12:58:28] [Watchdog Thread/ERROR]: ProtocolLib.jar//com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.execute(NettyEventLoopProxy.java:254)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.network.Connection.sendPacket(Connection.java:433)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.network.Connection.send(Connection.java:380)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2257)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.level.ServerPlayer.sendSystemMessage(ServerPlayer.java:1941)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.players.PlayerList.broadcastSystemMessage(PlayerList.java:1453)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.players.PlayerList.broadcastSystemMessage(PlayerList.java:1439)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.network.ServerGamePacketListenerImpl.onDisconnect(ServerGamePacketListenerImpl.java:2221)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.network.ServerGamePacketListenerImpl.onDisconnect(ServerGamePacketListenerImpl.java:2199)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.network.Connection.handleDisconnection(Connection.java:779)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:253)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1594)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:486)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1424)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1194)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:310)
[12:58:28] [Watchdog Thread/ERROR]: net.minecraft.server.MinecraftServer$$Lambda$4401/0x00000008014dedd8.run(Unknown Source)
[12:58:28] [Watchdog Thread/ERROR]: java.base@18.0.2-ea/java.lang.Thread.run(Thread.java:833)

Может всётаки DiscordUtils возможно оставить? смотря как он убивает консоль, есть подозрения что как раз таки он во всём и виноват..

После этого ничего нового не было
 
смотря как он убивает консоль, есть подозрения что как раз таки он во всём и виноват..
С чего это он убивает? Где ты видишь оповещения именно от него? От него я тут вижу только эксепшны и ошибки рейтлимита, которые можно решить. Удали спартан и жизнь станет хороша.
 
С чего это он убивает? Где ты видишь оповещения именно от него? От него я тут вижу только эксепшны и ошибки рейтлимита, которые можно решить. Удали спартан и жизнь станет хороша.
прямо сейчас это и сделаю
 
Замерил Spark после удаления Spartan. DiscordUtils продолжает убивать сервер через 8-9 часов работы(написал в поддержку плагина).

К сожалению TPS всёравно падает и скачет до 3 по значениям из таба.

- спарк с запуска сервера утром
- спарк в 1 из моментов упадка TPS
 
Замерил Spark после удаления Spartan. DiscordUtils продолжает убивать сервер через 8-9 часов работы(написал в поддержку плагина).

К сожалению TPS всёравно падает и скачет до 3 по значениям из таба.

- спарк с запуска сервера утром
- спарк в 1 из моментов упадка TPS
Дело не в дискорд утилс. Дело в гарбадж коллекторе.
Вам необходимо зарегистрироваться для просмотра изображений-вложений
 
Назад
Сверху Снизу