Reducing/removing skylight updates to reduce lag

Discussion in 'Plugin Development' started by G4METIME, Jun 21, 2018.

Thread Status:
Not open for further replies.
  1. Offline

    G4METIME

    Hey Guys,

    I'm currently trying to find a solution to get rid of (sky)light updates as a lag-prevention measurement. Lightupdates are one of the major lag-causer of flying machines and getting rid of them would result in a huge performance boost for the specific server.

    My first idea was to somehow get org.bukkit.block.Block.getLightFromSky() to return alsway 0, but afaik this would only be possible, if I would rewrite/recreate every blocktype of the game in the plugin, which is not a great solution.

    My second, much simpler idea was the creation of a ceiling at y=255 from solid blocks (e.g. Bedrock). To be compatible with different Worldgenerators, I tried to implement it as a BlockPopulator:
    Code (open)
    NoSkylight
    Code:java
    1. package me.gametime.noskylight;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.plugin.java.JavaPlugin;
    5.  
    6. import me.gametime.noskylight.Populator.NoSkylightPopulator;
    7.  
    8. public class NoSkylight extends JavaPlugin {
    9.  
    10. @Override
    11. public void onEnable() {
    12. Bukkit.getWorld("world").getPopulators().add(new NoSkylightPopulator());
    13. }
    14.  
    15. @Override
    16. public void onDisable() {
    17.  
    18. }
    19. }
    NoSkylightPopulator
    Code:java
    1. package me.gametime.noskylight.Populator;
    2.  
    3. import java.util.Random;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.Chunk;
    7. import org.bukkit.Location;
    8. import org.bukkit.Material;
    9. import org.bukkit.World;
    10. import org.bukkit.generator.BlockPopulator;
    11.  
    12. public class NoSkylightPopulator extends BlockPopulator {
    13.  
    14. @Override
    15. public void populate(World w, Random r, Chunk chunk) {
    16. int x = chunk.getX();
    17. int z = chunk.getZ();
    18. Bukkit.getServer().broadcastMessage( "Populating Chunk (" + x + "," + z +")");
    19. for (int i=0;i<16;i++) {
    20. for (int j=0;j<16;j++) {
    21. new Location(w, x*16+i, 255, z*16+j).getBlock().setType(Material.BEDROCK);
    22. }
    23. }
    24. }
    25.  
    26. }

    This concept seems to work, but it is really laggy while chunk-generation and it can crash the server quite fast (my guess it is because of lightupdates while the population takes place, which is somewhat ironic).
    Chrash-Report (open)
    Code:
    ---- Minecraft Crash Report ----
    // Don't be sad. I'll do better next time, I promise!
    
    Time: 6/21/18 3:10 PM
    Description: Exception ticking world
    
    java.util.ConcurrentModificationException
        at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
        at java.util.ArrayList$Itr.next(ArrayList.java:859)
        at net.minecraft.server.v1_12_R1.PlayerChunkMap$3.a(PlayerChunkMap.java:71)
        at net.minecraft.server.v1_12_R1.PlayerChunkMap$3.computeNext(PlayerChunkMap.java:98)
        at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)
        at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)
        at net.minecraft.server.v1_12_R1.WorldServer.j(WorldServer.java:455)
        at net.minecraft.server.v1_12_R1.WorldServer.doTick(WorldServer.java:305)
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739)
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:370)
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:650)
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:554)
        at java.lang.Thread.run(Thread.java:748)
    
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------
    
    -- Head --
    Thread: Server thread
    Stacktrace:
        at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
        at java.util.ArrayList$Itr.next(ArrayList.java:859)
        at net.minecraft.server.v1_12_R1.PlayerChunkMap$3.a(PlayerChunkMap.java:71)
        at net.minecraft.server.v1_12_R1.PlayerChunkMap$3.computeNext(PlayerChunkMap.java:98)
        at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:145)
        at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:140)
        at net.minecraft.server.v1_12_R1.WorldServer.j(WorldServer.java:455)
        at net.minecraft.server.v1_12_R1.WorldServer.doTick(WorldServer.java:305)
    
    -- Affected level --
    Details:
        Level name: world
        All players: 0 total; []
        Chunk stats: ServerChunkCache: 735 Drop: 202
        Level seed: 3337449191242042647
        Level generator: ID 00 - default, ver 1. Features enabled: true
        Level generator options: PlotSquared:h=64,main=0,s=300,g=7,f=251:8,w=155,b=44
        Level spawn location: World: (8,64,8), Chunk: (at 8,4,8 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
        Level time: 123350 game time, 123350 day time
        Level dimension: 0
        Level storage version: 0x04ABD - Anvil
        Level weather: Rain time: 29656 (now: false), thunder time: 38623 (now: false)
        Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
    Stacktrace:
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739)
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:370)
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:650)
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:554)
        at java.lang.Thread.run(Thread.java:748)
    
    -- System Details --
    Details:
        Minecraft Version: 1.12
        Operating System: Linux (amd64) version 3.16.0-5-amd64
        Java Version: 1.8.0_171, Oracle Corporation
        Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
        Memory: 10502141552 bytes (10015 MB) / 10667687936 bytes (10173 MB) up to 10667687936 bytes (10173 MB)
        JVM Flags: 3 total; -Xms10G -Xmx10G -XX:+UseConcMarkSweepGC
        IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
        CraftBukkit Information:
       Running: CraftBukkit version git-Bukkit-9a1fc1e (MC: 1.12) (Implementing API version 1.12-R0.1-SNAPSHOT) true
       Plugins: { CoreProtect v2.14.2 net.coreprotect.CoreProtect [Intelli], FastAsyncWorldEdit v18.06.18-c4d3735-1143-20.1.13 com.boydti.fawe.bukkit.BukkitMain [Empire92], Plan v4.3.2 com.djrapitops.plan.Plan [Rsl1122], PlaceholderAPI v2.9.1 me.clip.placeholderapi.PlaceholderAPIPlugin [[extended_clip]], NoSkylight v1.0 me.gametime.noskylight.NoSkylight [G4METIME], CommandAliases v1.0 com.snap.alias.CommandAliases [Kneesnap], SimpleTPS v1.0 me.gametime.SimpleTPS.SimpleTPS [G4METIME], PowerRanks v0.1.1 me.winspeednl.PowerRanks.Main [winspeednl], PandaWire v1.0.4-SNAPSHOT net.md_5.PandaWire [], Tablist v1.3.2.9 com.sn1cko.tablist.tablist [], EasyBackup v2.7.1 me.forseth11.EasyBackup.EasyBackup [Forseth11], ProtocolLib v4.3.0 com.comphenix.protocol.ProtocolLib [dmulloy2, comphenix], WorldEdit v6.1.8-SNAPSHOT;cd4729f com.sk89q.worldedit.bukkit.WorldEditPlugin [], BlockHider v0.1.3 nl.timdebrouwer.blockhider.BlockHider [Timtower], PlotSquared v3.5.0-SNAPSHOT-2b561f2 com.plotsquared.bukkit.BukkitMain [Citymonstret, Empire92, MattBDev],}
       Warnings: DEFAULT
       Reload Count: 0
       Threads: { TIMED_WAITING File IO Thread: [java.lang.Thread.sleep(Native Method), net.minecraft.server.v1_12_R1.FileIOThread.c(SourceFile:44), net.minecraft.server.v1_12_R1.FileIOThread.run(SourceFile:30), java.lang.Thread.run(Thread.java:748)], RUNNABLE Netty Epoll Server IO #0: [io.netty.channel.epoll.Native.epollWait0(Native Method), io.netty.channel.epoll.Native.epollWait(Native.java:111), io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:230), io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:254), io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858), java.lang.Thread.run(Thread.java:748)], WAITING Reference Handler: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Object.java:502), java.lang.ref.Reference.tryHandlePending(Reference.java:191), java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)], TIMED_WAITING pool-3-thread-4: [java.lang.Thread.sleep(Native Method), com.intellectualcrafters.plot.database.SQLManager$1.run(SQLManager.java:155), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:53), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], RUNNABLE Signal Dispatcher: [], TIMED_WAITING Timer-1: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Timer.java:552), java.util.TimerThread.run(Timer.java:505)], RUNNABLE Server console handler: [java.io.FileInputStream.readBytes(Native Method), java.io.FileInputStream.read(FileInputStream.java:255), java.io.BufferedInputStream.fill(BufferedInputStream.java:246), java.io.BufferedInputStream.read(BufferedInputStream.java:265), org.bukkit.craftbukkit.libs.jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:169), org.bukkit.craftbukkit.libs.jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:137), org.bukkit.craftbukkit.libs.jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:246), org.bukkit.craftbukkit.libs.jline.internal.InputStreamReader.read(InputStreamReader.java:261), org.bukkit.craftbukkit.libs.jline.internal.InputStreamReader.read(InputStreamReader.java:198), org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2145), org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLine(ConsoleReader.java:2349), net.minecraft.server.v1_12_R1.DedicatedServer$2.run(DedicatedServer.java:84)], TIMED_WAITING Abandoned connection cleanup thread: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143), com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:64), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], TIMED_WAITING Thread-8: [java.lang.Thread.sleep(Native Method), net.coreprotect.thread.CacheCleanUp.run(CacheCleanUp.java:15), java.lang.Thread.run(Thread.java:748)], RUNNABLE pool-3-thread-7: [java.net.PlainSocketImpl.socketConnect(Native Method), java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350), java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206), java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188), java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392), java.net.Socket.connect(Socket.java:589), java.net.Socket.connect(Socket.java:538), sun.net.NetworkClient.doConnect(NetworkClient.java:180), sun.net.www.http.HttpClient.openServer(HttpClient.java:463), sun.net.www.http.HttpClient.openServer(HttpClient.java:558), sun.net.www.http.HttpClient.<init>(HttpClient.java:242), sun.net.www.http.HttpClient.New(HttpClient.java:339), sun.net.www.http.HttpClient.New(HttpClient.java:357), sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220), sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156), sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050), sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984), sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1334), sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1309), com.plotsquared.bukkit.util.Metrics.postPlugin(Metrics.java:254), com.plotsquared.bukkit.util.Metrics.access$000(Metrics.java:23), com.plotsquared.bukkit.util.Metrics$1.run(Metrics.java:174), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:53), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], TIMED_WAITING pool-3-thread-8: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460), java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362), java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941), java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], WAITING Timer-0: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Object.java:502), java.util.TimerThread.mainLoop(Timer.java:526), java.util.TimerThread.run(Timer.java:505)], RUNNABLE pool-3-thread-5: [java.net.PlainSocketImpl.socketConnect(Native Method), java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350), java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206), java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188), java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392), java.net.Socket.connect(Socket.java:589), java.net.Socket.connect(Socket.java:538), sun.net.NetworkClient.doConnect(NetworkClient.java:180), sun.net.www.http.HttpClient.openServer(HttpClient.java:463), sun.net.www.http.HttpClient.openServer(HttpClient.java:558), sun.net.www.http.HttpClient.<init>(HttpClient.java:242), sun.net.www.http.HttpClient.New(HttpClient.java:339), sun.net.www.http.HttpClient.New(HttpClient.java:357), sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220), sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156), sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050), sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984), sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1334), sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1309), com.plotsquared.bukkit.util.Metrics.postPlugin(Metrics.java:254), com.plotsquared.bukkit.util.Metrics.access$000(Metrics.java:23), com.plotsquared.bukkit.util.Metrics$1.run(Metrics.java:174), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:53), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], RUNNABLE pool-3-thread-3: [java.net.PlainSocketImpl.socketConnect(Native Method), java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350), java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206), java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188), java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392), java.net.Socket.connect(Socket.java:589), java.net.Socket.connect(Socket.java:538), sun.net.NetworkClient.doConnect(NetworkClient.java:180), sun.net.www.http.HttpClient.openServer(HttpClient.java:463), sun.net.www.http.HttpClient.openServer(HttpClient.java:558), sun.net.www.http.HttpClient.<init>(HttpClient.java:242), sun.net.www.http.HttpClient.New(HttpClient.java:339), sun.net.www.http.HttpClient.New(HttpClient.java:357), sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220), sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156), sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050), sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984), sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1334), sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1309), com.comphenix.protocol.metrics.Metrics.postPlugin(Metrics.java:442), com.comphenix.protocol.metrics.Metrics.access$400(Metrics.java:49), com.comphenix.protocol.metrics.Metrics$1.run(Metrics.java:215), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:53), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], TIMED_WAITING Timer-4: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Timer.java:552), java.util.TimerThread.run(Timer.java:505)], WAITING NonBlockingInputStreamThread: [java.lang.Object.wait(Native Method), org.bukkit.craftbukkit.libs.jline.internal.NonBlockingInputStream.run(NonBlockingInputStream.java:278), java.lang.Thread.run(Thread.java:748)], RUNNABLE DestroyJavaVM: [], WAITING Chunk I/O Executor Thread-1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039), java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442), java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], WAITING Java2D Disposer: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164), sun.java2d.Disposer.run(Disposer.java:148), java.lang.Thread.run(Thread.java:748)], TIMED_WAITING Snooper Timer: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Timer.java:552), java.util.TimerThread.run(Timer.java:505)], RUNNABLE pool-3-thread-2: [java.net.PlainSocketImpl.socketConnect(Native Method), java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350), java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206), java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188), java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392), java.net.Socket.connect(Socket.java:589), java.net.Socket.connect(Socket.java:538), sun.net.NetworkClient.doConnect(NetworkClient.java:180), sun.net.www.http.HttpClient.openServer(HttpClient.java:463), sun.net.www.http.HttpClient.openServer(HttpClient.java:558), sun.net.www.http.HttpClient.<init>(HttpClient.java:242), sun.net.www.http.HttpClient.New(HttpClient.java:339), sun.net.www.http.HttpClient.New(HttpClient.java:357), sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220), sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156), sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050), sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984), sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1334), sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1309), com.boydti.fawe.bukkit.Metrics.postPlugin(Metrics.java:393), com.boydti.fawe.bukkit.Metrics.access$100(Metrics.java:21), com.boydti.fawe.bukkit.Metrics$1.run(Metrics.java:231), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:53), org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], WAITING Thread-4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039), java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442), com.mojang.util.QueueLogAppender.getNextLogEvent(QueueLogAppender.java:77), org.bukkit.craftbukkit.v1_12_R1.util.TerminalConsoleWriterThread.run(TerminalConsoleWriterThread.java:27), java.lang.Thread.run(Thread.java:748)], RUNNABLE Server thread: [java.lang.Thread.dumpThreads(Native Method), java.lang.Thread.getAllStackTraces(Thread.java:1610), org.bukkit.craftbukkit.v1_12_R1.CraftCrashReport.call(CraftCrashReport.java:30), net.minecraft.server.v1_12_R1.CrashReportSystemDetails.a(SourceFile:78), net.minecraft.server.v1_12_R1.CrashReport.h(CrashReport.java:128), net.minecraft.server.v1_12_R1.CrashReport.<init>(CrashReport.java:35), net.minecraft.server.v1_12_R1.CrashReport.a(CrashReport.java:322), net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:741), net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:370), net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:650), net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:554), java.lang.Thread.run(Thread.java:748)], TIMED_WAITING process reaper: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460), java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362), java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941), java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], TIMED_WAITING Server Infinisleeper: [java.lang.Thread.sleep(Native Method), net.minecraft.server.v1_12_R1.DedicatedServer$1.run(DedicatedServer.java:59)], RUNNABLE Netty Epoll Server IO #1: [io.netty.channel.epoll.Native.epollWait0(Native Method), io.netty.channel.epoll.Native.epollWait(Native.java:111), io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:230), io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:254), io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858), java.lang.Thread.run(Thread.java:748)], WAITING Server Watchdog: [java.lang.Object.wait(Native Method), java.lang.Thread.join(Thread.java:1252), java.lang.Thread.join(Thread.java:1326), java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106), java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46), java.lang.Shutdown.runHooks(Shutdown.java:123), java.lang.Shutdown.sequence(Shutdown.java:167), java.lang.Shutdown.exit(Shutdown.java:212), java.lang.Runtime.exit(Runtime.java:109), java.lang.System.exit(System.java:971), net.minecraft.server.v1_12_R1.ThreadWatchdog.a(SourceFile:89), net.minecraft.server.v1_12_R1.ThreadWatchdog.run(SourceFile:69), java.lang.Thread.run(Thread.java:748)], WAITING Finalizer: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164), java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:212)], RUNNABLE Thread-3: [net.minecraft.server.v1_12_R1.ChunkRegionLoader.a(ChunkRegionLoader.java:267), net.minecraft.server.v1_12_R1.ChunkRegionLoader.a(ChunkRegionLoader.java:126), net.minecraft.server.v1_12_R1.ChunkProviderServer.saveChunk(ChunkProviderServer.java:207), net.minecraft.server.v1_12_R1.ChunkProviderServer.a(ChunkProviderServer.java:230), net.minecraft.server.v1_12_R1.WorldServer.save(WorldServer.java:1032), net.minecraft.server.v1_12_R1.MinecraftServer.saveChunks(MinecraftServer.java:429), net.minecraft.server.v1_12_R1.MinecraftServer.stop(MinecraftServer.java:483), org.bukkit.craftbukkit.v1_12_R1.util.ServerShutdownThread.run(ServerShutdownThread.java:16)], TIMED_WAITING threadDeathWatcher-2-1: [java.lang.Thread.sleep(Native Method), io.netty.util.ThreadDeathWatcher$Watcher.run(ThreadDeathWatcher.java:152), io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138), java.lang.Thread.run(Thread.java:748)], TIMED_WAITING Timer-2: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Timer.java:552), java.util.TimerThread.run(Timer.java:505)],}
       Recent tasks from 171-201{PlotSquared:com.plotsquared.bukkit.listeners.PlayerEvents$2@224,}
        Profiler Position: N/A (disabled)
        Player Count: 0 / 100; []
        Is Modded: Definitely; Server brand changed to 'CraftBukkit'
        Type: Dedicated Server (map_server.txt)
    So my questions to you are:
    1. Is there any better way to remove skylight-updates? And if not:
    2. How could I make the world population less laggy?
    Thank you very much in advanced!
    In case any additional information is needed, just ask.
     
Thread Status:
Not open for further replies.

Share This Page