CitizensDev / Citizens2

Citizens - the premier plugin and API for creating server-side NPCs in Minecraft.
https://citizensnpcs.co
Open Software License 3.0
600 stars 314 forks source link

1.14.4 - Insane Lag with Human NPCs #1918

Closed johnfriedrich closed 5 years ago

johnfriedrich commented 5 years ago

Timings: https://timings.aikar.co/?id=29c154a16df04ea7ab23e2151c5ea14c

Not an issue with 1.13.2. I saw some tickets regarding that, but not as heavy lag like this one. This is a lobby server on a strong desktop cpu with a m2 ssd. Just a few players joining per minute. Just at the end of the report we had joining 15 at once, but the lag was there before.

The output of command /version on my server is: This server is running Paper version git-Paper-167 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT) [14:44:43 INFO]: Checking version, please wait... [14:44:43 INFO]: Previous version: git-Paper-624 (MC: 1.13.2) [14:44:43 INFO]: You are 5 version(s) behind The output of command /version citizens on my server is: Citizens version 2.0.25-SNAPSHOT (build 1743) [14:46:05 INFO]: Website: http://www.citizensnpcs.co [14:46:05 INFO]: Author: fullwall

Rincewind34 commented 5 years ago

Hey there, I'm experiencing a similar issue. I spent the whole day trying to fix something in citizens. Could you provide more information, about your usage of citizens (e.g. WorldSize, amount of npcs, are they walking or standing, any add-ons running)? That would help me extremely trying to figure out how to fix the lags. As far as I can tell, there are at least two different points of interest: the npc ticking and the npc tracker.

Ph4i1ur3 commented 5 years ago

Lag is a tricky issue to sort out. It's best to remember that 1.14.4 is nowhere near as performant as 1.13.2 (and is far behind 1.12.2), and the same hardware will not perform as well. To figure out your issue, the above data is always a good starting point: CPU speed/model, NPC count, and Player count.

It's likely the issue isnt with Citizens itself, and is within NMS.

johnfriedrich commented 5 years ago

In our case the world is about 1000x1000 and there are about 7 stationary human npcs that do not move at all. No special ai. They are just standing around. Server runs 24/7 without a restart and the issue gets heavier and heavier which each day? or player join?

Ph4i1ur3 commented 5 years ago

I would highly recommend implementing daily restarts during your low points. This is generally just good practice (particularly if you're using a managed host), but even on a dedicated server, daily restarts are still best practice.

Ph4i1ur3 commented 5 years ago

As an addendum, make sure you are always running the latest server software available (your output indicates you are behind)

Rincewind34 commented 5 years ago

I would highly recommend implementing daily restarts during your low points. This is generally just good practice (particularly if you're using a managed host), but even on a dedicated server, daily restarts are still best practice.

I absolutly agree with one restart per day at night time. What worries me more: 7 NPCs and 50ms for one tick :O

There has to be something more with your configuration. The plugin is not doing that bad. Could you provide a full day timings report using 1.13.2?

Ph4i1ur3 commented 5 years ago

I mean 4 and a half days of crap building up, it's not crazy to think it could end up taking that long

johnfriedrich commented 5 years ago

We have that exact same server with minimal version, plugin, mapchanges running since over 7 years. Sometimes 150+ days without a restart and back in the days (1.10.2) over 1k player joins a day. No issues at all. Restarts were maintenance. It started to raise issues directly after upgrading from 1.13.2 to 1.14.4. But yeah, will keep a close eye on that and keep you updated

Ph4i1ur3 commented 5 years ago

1.14.4 is in no shape way or form, any kind of stable like 1.13.2, and 1.12.2 were. Mojang specifically stated that 1.15 will be about performance improvements, due to the poor state 1.14 is in.

mcmonkey4eva commented 5 years ago

1.14.4 Minecraft is incredibly broken and unstable... if you want your server to work well, run 1.13.2. 1.14.x should be limited to dev/test servers.

Also: in general, with lag reports, we can't do much about them based on timings... need Java profiler data if anything.