Paying someone to fix lag issue

Status
This thread has been locked.

Nykorrin

i-
Premium
Feedback score
6
Posts
812
Reactions
299
Resources
0
As the title states, I'm paying whoever wants to fix an issue for me. I've been working on it for hours on end to no avail. We can discuss payment beforehand. The issue is that whenever setting the 1st point when claiming, the plugin causes the server to overload and fall behind, causing every online player to time it. It's annoying asf and I haven't figured out a solution to work it yet. So far, I've upgraded my host's machine specifications and that hasn't helped at all. I've even went as far as to disable some other plugins such as dynmap, etc.

The plugin compiles fine in Intellij and starts up fine. So far, all I know is resetting the config seems to fix the issue temporarily but after a while, if someone else tries to claim land, it'll fuck the console up, shutting down the server.

The error (https://hastebin.com/upuqomoxiv.sql):
Code:
27.12 01:16:48 [Server] ERROR --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH  - git-Paper-27 (MC: 1.15.1) ---
27.12 01:16:48 [Server] ERROR The server has not responded for 21 seconds! Creating thread dump
27.12 01:16:48 [Server] ERROR ------------------------------
27.12 01:16:48 [Server] ERROR Server thread dump (Look for plugins here before reporting to Paper!):
27.12 01:16:48 [Server] ERROR The server is waiting on these chunks: []
27.12 01:16:48 [Server] ERROR ------------------------------
27.12 01:16:48 [Server] ERROR Current Thread: Server thread
27.12 01:16:48 [Server] ERROR PID: 23 | Suspended: false | Native: false | State: RUNNABLE
27.12 01:16:48 [Server] ERROR Stack:
27.12 01:16:48 [Server] ERROR me.nykorrin.teams.util.Cuboid.getBlocks(Cuboid.java:79)
27.12 01:16:48 [Server] ERROR me.nykorrin.teams.managers.ClaimManager.claimableDistance(ClaimManager.java:53)
27.12 01:16:48 [Server] ERROR me.nykorrin.teams.listener.PlayerListener.onInteract(PlayerListener.java:171)
27.12 01:16:48 [Server] ERROR com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor83.execute(Unknown Source)
27.12 01:16:48 [Server] ERROR org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69)
27.12 01:16:48 [Server] ERROR org.bukkit.plugin.EventExecutor$$Lambda$2933/576196483.execute(Unknown Source)
27.12 01:16:48 [Server] ERROR co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
27.12 01:16:48 [Server] ERROR org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
27.12 01:16:48 [Server] ERROR org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545)
27.12 01:16:48 [Server] ERROR org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:457)
27.12 01:16:48 [Server] ERROR org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:424)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.PlayerInteractManager.a(PlayerInteractManager.java:137)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1319)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.PacketPlayInBlockDig.a(SourceFile:40)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.PacketPlayInBlockDig.a(SourceFile:10)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.PlayerConnectionUtils$$Lambda$4111/864303267.run(Unknown Source)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.MinecraftServer.aZ(MinecraftServer.java:1037)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:1030)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:1014)
27.12 01:16:48 [Server] ERROR net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:937)
27.12 01:16:48 [Server] ERROR java.lang.Thread.run(Thread.java:748)
27.12 01:16:48 [Server] ERROR ------------------------------
27.12 01:16:48 [Server] ERROR --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH ---
27.12 01:16:48 [Server] ERROR ------------------------------

I know this error means that the server isn't responding within the tick time but the host I am using has 8gb of DDR3 ECC ram @ 2133 MHz & an i7-7700k @ 4.5GHz. It runs fine on my localhost server which uses 4gb of DDR4 ram @ 2133MHz & an i5-6500 @ 3.2GHz.

Host:
c492746c939fc3c9c2687127ef5e51f032ec5cf6

Localhost:
78fe92cb9b8012efe17996d31b0796bf6f2df82d


The plugin I am using is a survival plugin I found on Github (https://github.com/chirpthetwerp/Survival), I ported it to 1.15 and updated the Cuboid.java it used as this plugin was uploaded onto Github 8 months prior to now, so it was probably originally a 1.12-1.13 plugin (???). I am willing to share the modified source code to someone who is willing to help fix the issue as well as a fitting payment.

Please message me on discord if you are interested - Nykorrin#3018

OLD THREAD - https://www.mc-market.org/threads/550826/
^ Might have some extra info that I didn't already clarify above. I thought I fixed the issue myself earlier today so I closed the thread. Boy, was I wrong.
 
Last edited:
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

Nykorrin

i-
Premium
Feedback score
6
Posts
812
Reactions
299
Resources
0
Update:

Changed Cuboid.java to

But changed

Code:
public List<Block> getBlocks() {
        List<Block> blockList = new ArrayList<>();
        World world = this.getWorld();
        if (world != null) {
            for (int x = this.minimumPoint.getBlockX(); x <= this.maximumPoint.getBlockX(); x++) {
                for (int y = this.minimumPoint.getBlockY(); y <= this.maximumPoint.getBlockY() && y <= world.getMaxHeight(); y++) {
                    for (int z = this.minimumPoint.getBlockZ(); z <= this.maximumPoint.getBlockZ(); z++) {
                        blockList.add(world.getBlockAt(x, y, z));
                    }
                }
            }
        }
        return blockList;
    }
to
Code:
public List<Block> getBlocks() {
        Iterator<Block> blockI = this.iterator();
        List<Block> copy = new ArrayList<Block>();
        while (blockI.hasNext())
            copy.add(blockI.next());
        return copy;
    }

Worked for a while but then I deleted the jar, mistaking it for another file I think (Can't remember). Now the error when setting the first point is as follows:

Code:
28.12 01:41:51 [Server] INFO at me.nykorrin.teams.util.Cuboid.getBlocks(Cuboid.java:74) ~[?:?]
28.12 01:41:51 [Server] INFO at me.nykorrin.teams.util.Cuboid.iterator(Cuboid.java:135) ~[?:?]
(Continues on for like forever)

The server no longer crashes which is good but cannot set the first point or second point at all.
 

Ome_R

BG-Software © 2018 - 2026
Supreme
Feedback score
16
Posts
0
Reactions
477
Resources
0
Update:

Changed Cuboid.java to

But changed

Code:
public List<Block> getBlocks() {
        List<Block> blockList = new ArrayList<>();
        World world = this.getWorld();
        if (world != null) {
            for (int x = this.minimumPoint.getBlockX(); x <= this.maximumPoint.getBlockX(); x++) {
                for (int y = this.minimumPoint.getBlockY(); y <= this.maximumPoint.getBlockY() && y <= world.getMaxHeight(); y++) {
                    for (int z = this.minimumPoint.getBlockZ(); z <= this.maximumPoint.getBlockZ(); z++) {
                        blockList.add(world.getBlockAt(x, y, z));
                    }
                }
            }
        }
        return blockList;
    }
to
Code:
public List<Block> getBlocks() {
        Iterator<Block> blockI = this.iterator();
        List<Block> copy = new ArrayList<Block>();
        while (blockI.hasNext())
            copy.add(blockI.next());
        return copy;
    }

Worked for a while but then I deleted the jar, mistaking it for another file I think (Can't remember). Now the error when setting the first point is as follows:

Code:
28.12 01:41:51 [Server] INFO at me.nykorrin.teams.util.Cuboid.getBlocks(Cuboid.java:74) ~[?:?]
28.12 01:41:51 [Server] INFO at me.nykorrin.teams.util.Cuboid.iterator(Cuboid.java:135) ~[?:?]
(Continues on for like forever)

The server no longer crashes which is good but cannot set the first point or second point at all.

Your getBlocks calls the iterator method, but your iterator method calls the getBlocks method - infinite loop.
 

Nykorrin

i-
Premium
Feedback score
6
Posts
812
Reactions
299
Resources
0
Your getBlocks calls the iterator method, but your iterator method calls the getBlocks method - infinite loop.
Mhm, please overlook my stupidity. Found out yesterday, somebody told me. What would you recommend for the first error? Someone told me I should try out:
Code:
for (int y = this.minimumPoint.getBlockY(); y <= this.maximumPoint.getBlockY() && y <
 world.getMaxHeight(); y++) {
For getBlocks() as getMaxHeight() might not just be getting y level 256 and might be exceeding that...
 

Ome_R

BG-Software © 2018 - 2026
Supreme
Feedback score
16
Posts
0
Reactions
477
Resources
0
Mhm, please overlook my stupidity. Found out yesterday, somebody told me. What would you recommend for the first error? Someone told me I should try out:
Code:
for (int y = this.minimumPoint.getBlockY(); y <= this.maximumPoint.getBlockY() && y <
 world.getMaxHeight(); y++) {
For getBlocks() as getMaxHeight() might not just be getting y level 256 and might be exceeding that...
Why do you need the Block objects?
 

Nykorrin

i-
Premium
Feedback score
6
Posts
812
Reactions
299
Resources
0
Why do you need the Block objects?
When players set point 1 and point 2 of their claim, I want the cuboid region to extend to the bottom and top of the world so that people aren't mining under their claim or building above. Hence why I want the blocks at the maximum and minimum level to be registered into their claim.
 

Ome_R

BG-Software © 2018 - 2026
Supreme
Feedback score
16
Posts
0
Reactions
477
Resources
0
When players set point 1 and point 2 of their claim, I want the cuboid region to extend to the bottom and top of the world so that people aren't mining under their claim or building above. Hence why I want the blocks at the maximum and minimum level to be registered into their claim.
Join my discord server, we will talk there; https://bg-software.com/discord/
 
Status
This thread has been locked.
Top