The spawner and hopper limits isn't what I was talking about. That's gameplay mechanics. The plugin optimization I'm talking about would mainly be increasing the systems and functions which track and limit said hoppers and spawners. I mean replacing redundant functions in the code with a singular function, or replacing systems which sort through the same files over and over, and instead devise a means in which it can better track and store information. I'm personally opposed to most configuration changes, like the hopper and spawner limiting. It destroys gameplay and the economy for seemingly tiny increases in performance. Changing the logic behind the plugins is what I'm aiming at, where all of the CPU usage goes.
Pewdiepie started a Minecraft Skyblock series yesterday. I'm sure that's why we saw an influx of new players, as some of his millions or viewers are looking for an experience similar to what they see him doing. I would expect to see an increase in players coming to Skyblock for the life of his series, and perhaps for a while thereafter. Regarding performance, it's obvious the devs believe it is related to hoppers as they have made changes to hopper configuration over the past couple weeks. We've seen the number of items being passed per tick change as they experiment with it. The devs attempted the same thing on the last server I was a part of. Another way to tackle hopper problems is to determine what items they are being used to capture and reduce the number of those items on the server. This also has clear benefits related to memory usage and entities. Based on my observation of the server, I believe three simple steps could meaningfully reduce the amount of lag, with minimal negative impact on gameplay or the economy: Remove, or greatly reduce the drop rate of, rotten flesh. Based on the price of gold on the server (13 gold blocks for 1 grass is not unusual), I believe it is likely that a large number of spawners are being used for zombie pigmen. The number of spawners on the server is only going to increase (there isn't a strong mechanism for removing them from gameplay, other than players quitting), so this is just going to get worse. Rotten flesh adds nothing to gameplay but lag. I posted a suggestion on the forum - please go and support it. Add a cooldown to /repair. What does /repair have to do with tps lag? A ton! When combined with client-side scripts, efficiency 5, and haste 2, you end up with players mining roughly 20 cobble or stone per second per account, at no cost. Each time a block is created or broken, Minecraft has to do a ton of calculations to determine what to do about light levels, fluid dynamics, and falling blocks. In my time playing Factions, new maps would always result in the server being brought to a crawl by players genning cobblestone walls for their bases. Here, we have players genning so much cobble that they don't even collect it - they just let it drop into the void, collecting only the ores. By adding a cooldown to /repair, players would need to either reduce their ore prospecting or consume picks. Either way, the amount of cobble churned out by these players would be significantly reduced, which will reduce lag and have a happy side effect of giving new players a way to contribute to the economy by creating something that should have at least a little value - a stack of cobble. Publish the Config Files. Leverage your user base - all the smart and creative problem solvers on the forum - by publishing your config files. By sharing the config file analysis among the passionate and invested players, you'll leverage their eyes and experience. Someone may find something that slipped through the cracks. If you don't want to let just anyone see them, then share them with those individuals who demonstrate through the forums that they can contribute to solving these kinds of problems. For example, if you're using the default MergeCheckInterval of 20 ticks for the MergedMob plugin, you might be able to regain some performance by setting that value to 100 ticks. Great performance is often the result of dozens of small improvements, rather than trying to find "the one big thing that'll solve the problem." That often doesn't exist. ~Mafro
1000% agree. It's the reason I don't play anymore. I try to play, but the unbearable lag just puts me off
Some really useful info and suggestions from both RedstoneTrails and Mafro ... thanks - I'll give you thumbs up and things when I figure out how to...
They use SingleHop, which was recently acquired by INAP. We developed our own skyblock plugin for Classic, Skyblock, Eco and Mineverse Skyblock. The hosting for .net alone is multiple 100s. It's not cheap, if the problem could be solved by throwing money at it, we would've already done that. We use a combination of GAME-64-OC, GAME-64, GAME-2, GAME-3 for Minecraft hosting on SB, MV and MT. (There's a handful of other non-game servers for backups, services (like Redis, RabbitMQ, MongoDB, MySQL, etc), web, VPNs, Teamspeak etc etc) For example, one of our dedicated servers, sb-sys2, hosts sb-bungee-02 and Skyblock. It has an i7-7700K running at 4.20GHz. The load average as I write this is 1.76 (It's an 8 core processor, which means it's currently sitting at ~22% overall CPU load). It has 64GBs of RAM, of which it's using 34.9GBs. It has 2 450GB NVMe drives in RAID0, which has both the boot and game partitions. Finally, it is using an average of 50Mbps in/29Mbps out of a 1Gbps symmetric nic. Currently skyblock.net has 248 players connected. Skyblock has 123 players, and the sb-bungee-02 BungeeCord instance has 111. This lag issue is not a hardware bottleneck. I personally think the issue is related to in-game stuff like Hoppers, Redstone etc. Big updates create lag spikes, and then we get other lag (like block) while the server recovers. Just my 2cents as I haven't personally investigated the issue in-game
*Just a quick note on this Hypixel is a mini-game server network. They can spread load across 1000s of individual Minecraft servers, as each game usually has less than 20 players. (With the exception of Housing, which used some really cool tech that sharded the server. Doing something like that is way above the scope of .net. Developing that system would take an eternity and cost daddy crew a very large pile of Benjamin's)
It's not the player's fault. I have decent internet (usually 70-100 ping, drops to 18 sometimes for whatever reason) and experience the lag still, when my ping suddenly jumps to 300. I would agree with this, but I can afk mine stone for around 45 minutes without my pick breaking, so unless you want to make the cooldown ridiculously long, it's not gonna help much.
I was thinking a 24-hour cooldown. If the Internet's math is right, a diamond pick with unbreaking 3 can mine 6,144 blocks on average before breaking. At the 15 blocks per second rate, which is the fastest I've heard, that's about 7 minutes of speed mining before the pick breaks. Still, you are correct in that none of the things I have proposed (or will propose) will "solve the problem". They are simply intended to reduce the problem, and do so with the least negative impact on gameplay.
I would hate to have read this before the hopper limits, as I had an excessively large stone gen with a sizable chest system. I mean most of it is still up, but it would only take me a few minutes, if not ~60 seconds, to mine a double-chests worth of stone. I would burn through pickaxes like that without /fix. However since it's a donor command, the devs really aren't able to do anything about it as it'll upset a lot of players.
One thing I forgot to say is that people could just craft a bunch of diamond God pickaxes and once ones about to break switch to another one. I also forgot that you could mine stone while under the effect of haste 2 to insta mine stone, my bad
That's fine. They will then be able to repair one of those diamond picks every 24 hours (assuming there's a 24-hour cooldown) or they'll have to expend diamonds or diamond picks to repair them further. Either way, we introduce a cost to this process and thus incentivize players to do less of it.
Well, if the cooldown applies to using the command at all, it should only apply to pickaxes, since other items, like armor, are meant to be repaired at the same time, and don't cause significant lag.
When lee implemented the cooldown for repair a lot of people were not happy because they had to wait 5 minutes just to fix one tool. In fact they were really unhappy so much there was a thread made about how annoying and stupid the cooldown for the repair command really.
I mean let's be real here if you had 4 iron picks you want to repair for someone, would you wait 20 minutes to repair all of them? Most people don't have 12 hours to spare for skyblock lol