[Suggestion] Fix the lag

Discussion in 'The Suggestion Box' started by Extendingskys, Feb 16, 2021.

  1. Haha, funny clickbait title to bring all the people in to yell at me :)))
    Anyway, here's the actual content of my suggestion, with reasoning for each part. SMP2, SMP8, utopia and occasionally SMP5 have all been having lag lately, and I think it could be fixed by the following:

    Buff Hopper Transfer Rate

    Hoppers are laggy, big news. Hopper pickup rate could be buffed to encourage water stream transport, but even with item stacking I suspect item stream transport would be similarly laggy. Even in very large farms, simply using multiple hopper streams is prefered because water streams on EMC are pretty glitchy and unreliable in my experience (unless this was fixed for 1.16). Specifically, I think that hoppers transferring 4 items per transfer would be beneficial because it would mean that players could reduce the number of hopper streams they used. Currently I use parallel hopper paths for my farms, but with a faster transfer rate I could switch to 1 and remove about 200 hoppers from the world.

    Remove Villager Trade Cap
    I am 100% sure this will be the hardest sell, but it's logical. Anyone who does villager trading will find that they can trade faster than their farms can produce with a half decent villager setup (Except maybe town folk who can't spread their villagers far enough out). Why have the server load 200 or 300 villagers for the same effect as 1 villager? Sure, 1 villager would save some time for trading since you don't have to switch from villager to villager, but it also comes at a huge lag save. I suspect that villager trading hubs are the largest source of non-item entity lag.

    Increase item stacking
    EMC already stacks items, I simple suggest increasing the radius and increase the maximum size of an item stack to be several stacks. Many of the laggy farms involve items falling or being pushed around by water streams, so having fewer item entities is obviously beneficial. The increased radius would also help clump the items as they fall through the farm rather than just when they get to a collection point.

    Nerf Cactus Smelting XP
    This suggestion is based on the (alleged) fact that the players farming 170m xp in a month are using humongous cactus/bamboo smelting XP farms. Cactus giving 1 XP per smelt has long been theorized to be a bug that was accepted to be an intended mechanic, but on EMC it's simply being abused for farming TEXP leaderboard clout. Nobody can enchant or repair 170m xp worth of items in a month. The servers are having to deal with all of the thousands of hoppers, falling item entities, and furnace updates that are necessary for these farms simply for people to get a better position on a pointless leaderboard. It's especially tragic for players who farmed their places on the lifetime TEXP leaderboard using more "legitimate" methods, only for players to overtake them in a month or less by afking for a few hours a day and then right clicking furnaces. If this was nerfed to say, 0.05 xp in stead of 1 xp, I think that would be almost balanced in terms of the effort for payoff reward.

    Yes, obviously these suggestions are based on my observations, as I am not staff I cannot operate with all information and statistics available. I have noticed that players (including myself) who are operating villager farms tend to have a significant server performance impact, and it's no secret that players using giant XP farms cause lag.

    That's all, you may now tear my suggestions apart in the replies below :))
  2. I do like the villager trading but i also see why it's not uncapped. Maybe a little bit of a middle ground?
  3. FYI, Takes about 30 minutes or less of anvil adding books to gear to use ~170 mil XP.
    Takes months of effort, lots of rupees, tons of items, and good partners to get to a point to earn 170 mil XP.
    EquableHook likes this.
  4. If you're stacking all 170m into levels and using it all at once, sure. Then you are wasting 600 levels. But that's the lazy way, and the same could be achieved with a fraction(literally 1/100th) of the cost (in both xp and server performance) by even slightly optimizing your anvil strategy. You could even produce XP at the same rate and use it more efficiently by pulling one or two furnace's worth of XP to enchant at a time. Don't pretend that stacking hundreds of millions of XP is anything but attempting to climb the TEXP leaderboard. Don't pretend that 170m XP is necessary for doing that kind of work either. People have been mass enchanting, combining, repairing, etc. items for years and haven't needed that amount of XP.
  5. lmao
    the entire point of us to go for the texp leaderboard is purely for something to do on the server. Nerfing it won’t change anything, but to make the farms even bigger.

    we have consulted with elfin about our utopia farm. It dosnt effect the tps.
    even running the farm when the servers on 5tps then going /v open dosnt increase it
    EquableHook, Rhycicles and Tuqueque like this.
  6. This isn't a target on cactus farms exclusively. However, since TEXP isn't actually part of the game, I think it should get less priority than farms that are actually for producing resources. And giant cactus+bamboo farms with a hundreds or thousands of hoppers and item stacks falling/flowing through water may not be deadly laggy, but it definitely has an effect. I benchmarked one in a singleplayer world to see and while I'm not running the most powerful computer, it's definitely impactful. I was getting about a 40 ms/t increase. Now, again, this isn't the worst, for example the moment I removed some of the hoppers to let items pile up, I just about died, but the overall impact of the farm was about double the impact of the villager trading center I was testing (which contains about as many villagers as my hub on EMC).

    Also, that's why I suggested nerfing it so harshly, 1->0.1 would probably mean bigger farms, but 1->0.05 or even 0.01 would mean it would only be viable for actual use for repairing and enchanting.
    I do find it funny though that two of the first responses were cactus farm abusers defending their farms : )))))
  7. Everything you do on a multiplayer server has an effect.

    While you and others farm whatever you farm, I like to farm and further expand our cactus farms, which by the way arnt just on utopia. Our utopia farm has little impact on the tps, especially since its size of producing 125k xp in 24hrs. Randoms farm also has no impact on servers tps. especially compared to other "Resource" farms.

    you also seem to forget that when you in a group of about 5 players you get a x5 xp bonus. so you don't even know what your talking about.

    Its no different than a normal farm for "resources".
    Like i said its a goal us 5-6 have and it gives us something to do on the server, and abit of friendly comeptition. Nothing wrong with that.

    Infact, EMC has quite a few things and even limitations that "arnt apart for the game", judging the fact you basing it of a vanilla world.

    too list a few
    - enraged mobs
    - bosses
    - promos
    - rules
    - supporter ranks

    the whole "emc should be vanilla" argument is quite outdated, if anything its semi vanilla. and the leaderboard was more and likely put there for that reason.
    Ether way there have been talks of it getting removed because of eula crap.
    Tuqueque likes this.
  8. Never said it was just on utopia, I am well aware of that fact. I am also well aware of the xp bonus. I also am not accusing any farm in particular. However, you can't just ban laggy versions of a farm especially when that comes down to stuff like "well, does it count as laggy when you spawn 10,000 xp orbs from furnaces at once and take the server to 1 tps for only few minutes? is that better or worse than little timmy's farm which has an item leak and constantly takes the server down to 19 tps?".

    When I said not part of the game, I meant that it's literally not an ingame mechanic. I'm not talking about vanilla vs not vanilla. It's a strictly forum mechanic with no impact on gameplay. If the entire point of a farm is to farm forum clout, without producing anything of value (or very little) then it should be the bottom priority. Yes, it produces valuable exp, but the way they're being used makes it so that they're really actually producing an extremely small amount of exp (referring to the fact that you're stacking huge numbers of levels before enchanting, meaning you're getting probably around 0.1% of the actual value of the exp).
    A time like now when the servers get periodic lag without a fix or end in sight, and the staff explicitly said to wait on building super giant farms, then cactus farms should be the first for consideration for nerfs or removal. Not even necessarily permanently, just until the servers/paper/emc become more stable. It's also possibly bug abuse, since the cactus XP buff came when furnace recipes were being added, and it's completely out of line with other game mechanics. Zero tick farms were in for several patches, and TNT duping has been in for a while, but both were never allowed on EMC. Just because the cactus xp mechanic has been around since 1.13 doesn't make it not a bug. Also, on bedrock, cactuses have the correct 0.2 xp, and the cactus xp change was never reported in any changelogs.
  9. So first off, love the idea to help reduce tps lag. All for it! I am one of the member that you “pointed you” with 170mil this month but I hope you understand the furnaces don’t auto reset each month this is just stacked up weeks worth (more then a month) of xp. And like envine pointed out, we are very strict on how we expand our farm and which methods we use. We go through multiple stages: testing out rates in single players, finding more compact ways to produce items while reducing both resources and items that create lag (such as piston and hoppers), we go through SR and make sure they do a server report to insure that we aren’t going to be responsible for server lag and if we figure out a way to minimize any of that, we do it. Being efficient and caring is the main goal, before our competitiveness.
    If you ever need more inside on how we manage to create such server friendly farm, be sure to contact me without hesitation! I would rather have more efficient farms overall then have ours be a secret 😀

    EDIT: little help with you exp math since you do seem worried about the leaderboard. If a player is in a group you get 5x the amount of in game xp. So we aren’t burning/picking up 170mil cactus in a single month

  10. if I contribute very little to the lag, why should i be nerfed lmfao

    Unlike tnt duping and 0 tick farms mass xp farms actually takes time & resources. for little ingame gain, especially when villager trading for enchanted stuff exists. And unlike 0 tick, and tnt dupers it isnt nearly as game breaking. only for some forum clout. Just like many other small "bugs" that have existed for years.

    bedrock is very different to java.
  11. Glad to hear you go through such lengths. I appreciate the attention to detail, and moreso the research you do on EMC server mechanics, AKA the never ending enigma of undocumented changes. However, regardless of whether or not your particular farm is extremely friendly, as I said before:

    I suspect that the big shared farm you guys have is not the worst offender, but I is a type of farm that 1. is well known not difficult to make and 2. is extremely susceptible to mistakes that can cause it to become a huge lag machine (item leaks, excessive hoppers/pistons, slow water streams causing item pileups, etc). So little timmy's farm may be almost the same design as yours, but has one mistake in item alignment and suddenly it's a lag machine.
  12. See the part above about little timmy's farm

    TNT duping arguably is more difficult to effectively utilize to an "overpowered" extent, that is, more powerful than having item streams fed into your Voter's Axe or Pickaxe. TNT duping is also confirmed to be an intended game mechanic according to minecraft devs ( see here: https://www.reddit.com/r/Minecraft/...elf_to_the_nether_snapshot_20w12a_is/fkv2yyv/) and yet it's not allowed on EMC. No reason why something like cactus XP farming, which was born out of similarly buggy circumstances, should be any different. I'd be happy to make an "Enable tnt duping" thread if the cactus XP farm club would be supporting it as another intended game mechanic :^)
    And again, if it's not for any in game benefit, then again, I believe it should be a second-class citizen of the farms and therefore strongly considered for nerfing.

    True, but I'm just using that as more evidence to the cactus XP being a bug. I listed several other reasons, all of which were more compelling than this one.

    Honestly, I wish y'all would give feedback on the other parts, the cactus xp nerf was the one I was least concerned about because I considered it the least inconsequential. I'm only discussing this in such great length because that's all that's being discussed in this thread, lol. I think that mobs (especially villagers), hoppers, and item entities are overall a way larger concern and I would rather any of those be considered first.
  13. Like I said, I like the suggestion and always want people to make farms that are both productive and aren't harmful to the server. But farms are the main thing on a survival server, that make the game fun. Such a leaderboard do give someone a goal, unlike say an iron/gold farm because once you get enough of the block. You simply dont need it anymore and it drives the price of such items down. Players like myself need a goal just to stay active, because at this point....I really have everything. All the custom/limited items, more rupees then I can use, and every farm possible. So I would be very much against the fact of nerfing the xp production as that will only make people double the drop rates (increase farm to make up for the nerf) and removing the leaderboard would just take away the competitive aspect.
    I am willing to hear suggestions to improve tps lag but I have yet to hear a good one (in terms of xp farming)
  14. I do agree that villager time limit should be buffed to only need 1 villager. EMC is at a point were emerald doesn't have a true value anymore, so I dont see why unlimited trading with just 1 villager would be a great idea.
    I also agree about the hoppers. After changing our system 4 times now, we have reduced the need for over 1,200 hoppers (never had them, but would need them without a design feature) by simply using a single hopper carts on a cycle. I know envine has said this before, but we have had staff do server reports on just our farm while 100% working with just us on utopia. Things like minimal hopper use, removing kelp farm (as we were told it caused the most lag out of any know farm because of the dropped items), having section cuts with observers rather then a full piston block, and going as far as investing in 6 DC of slime block just to reduce our piston usage to the least possible. Said this before, but very proud of our team and their constant need to improve and find better ways to such a farm.
  15. I have made a simmilair thread before, without a clickbait title, in which I proposed quite some stuff, mostly nitty gritty code that has been added since, and I have a lot of experience with redstone lag optimisation in general.

    Increasing the stack size would also require a complete rewrite of the hopper code. It cannot handle large stacks of items, or, well, it can, and that’s the issue. Having played with the code myself in the past, I used this to generate larger stacks of items for a custom map. If you have a stack of 128 items in the world, a hopper would simply pick that up and place it into a single slot, giving you a stack of 128 items in an container, which then, much like stacked unstackable items, can be picked up into your inventory. Rewriting this code to handle larger stacks would probably cause a lot more lag, given that I couldn't find a way to do it without crashing the game.
    (I am not a developer, though: the only langue I can do something in is python. Java, for me, is a langue that I can realistically only read in. Having worked with this code in the past, I just doubt it would be helpfull)

    I don't own one of these farms, but I do agree with the owners that it should just continue to exist. If cactus is disabled, you just open the door to less trivial methods. How about using withers to break the cobblestone from a cobblestone farm and then smelt that into stone and smooth stone for furnace time? My testing suggests that that would be a lot more laggy per XP. Would you also want to disable that?

    I doubt minecraft is ever going to be as stable as it was in 1.12, and think it is probably as stable as it is going to be. The game simply has a lot of stuff added, making it more laggy. This is the case for all games that get frequently updated. suggesting to remove it untill the lag is a lot better than now probably is suggesting to remove it forever.

    I doubt minecraft is ever going to be as stable as it was in 1.12, and think it is probably as stable as it is going to be. The game simply has a lot of stuff added, making it more laggy. This is the case for all games that get frequently updated. suggesting to remove it untill the lag is a lot better than now probably is suggesting to remove it forever.
    I doubt minecraft is ever going to be as stable as it was in 1.12, and think it is probably as stable as it is going to be. The game simply has a lot of stuff added, making it more laggy. This is the case for all games that get frequently updated. suggesting to remove it untill the lag is a lot better than now probably is suggesting to remove it forever.

    Your farm is poorly optimised, then. It was rather easy to get these farms at the size of one of the ones I found on utopia under the 10MSPT on my laptop, with an i5-10210U.

    Honestly, from my testing with different farms and setups: most EMC lag seems to come from people who simply don’t know what they’re doing when it comes to optimisation. It is possible to make a single hopper use 1MSPT if you place it in the wrong place. Most people don’t even seem to be aware of the difference between server lag and client lag, and argue “if it doesn’t increase my fps, why would it help the server?”

    For that single hopper: here is how my system uses one extra MSPT simply by adding one hopper:
    Have two chests with stackable items in them, every slot having a different one. Then, place a hopper between them, also filled with random items that don’t match any of the items in the chests.
    In general: hoppers filled with items pointing into filled chests use an order of magnitude more resources than empty hoppers, or hoppers transferring items normally. Locking those, which are usually located in storage systems, when they’re not in use helps lag a lot.
    Additionally: hoppers that have an exposed top use a lot more resources than hoppers that have their tops covered, when they’re in chunks that have item entities in them. Furnaces are ticked entities themselves, chests cause client lag, so capping your hoppers with composters or droppers helps a lot, too.

    Most people seem to be unaware of this, and cause a lot of lag because of that. This is just a short list on hoppers, there could be a similar one for redstone dust, or pistons.
    There is no way of preventing people who don’t know what they’re doing from doing stupid stuff, with the exception of checking people’s places, like SS is already doing.

    This is a good example of what I described above. There is no reason to use long parallel hopper streams on EMC. When the distance is long enough to make water streams technically possible, use droppers with observers on top. This drastically decreases passive lag and slightly decreases active lag, especially when you let every dropper line transfer at double hopper speed. If your dropper line works on hopper speed, you can also place sorters under it, same as you would with a hopper line.
    Additionally: this simply wouldn’t be worth it: A lot of the redstone people use comes from tutorials, and is used by people who wouldn’t know how to troubleshoot it themselves. This redstone frequently uses hoppers for timings. This are only a few hoppers, which don’t cause a significant amount of lag. All this redstone (Think: brewing systems, auto smelters, clocks) would break if this would be implemented, discouraging a lot of people using redstone.
    All around, this seems like a rather bad idea to me. It doesn't really help the people who know what they're doing with preventing lagg, and makes following tutorials for simple redstone practically impossible.

    If it is true that villages cause most of the remaining lag, on which I have no empirical data, this would maybe be a sensible option. However, I expect that this would just mean people would make larger farms because they can trade more items away, which would have the opposite effect.
    In the thread mentioned before, I suggesting increasing the randomtickrate and decreasing the randomtickrange, both just numbers placed in the code somewhere. This would make the largest farm possible to be loaded by a single player smaller, and smaller farms produce more, effectively making the total speed the same, but the amount of redstone and farms required to achieve it smaller.

    I've tried that before. One of the problems is that enabling primed TNT duping, in my oppinion definetly a part of vanilla minecraft, something that should just be considered a normal feature, would also mean enabling rail duping for code-related reasons. I personally would still think that that would be worth it: especially if the developers chose to spent some time on it, and make only detector rail duping possible, instead of all rail duping, and keeping it illegal. (This would make using a lot of deractor rails, something you wouldn't otherwise do, immediatly suspicious, making it easy to track down and hard to get any benefit from.)
    stormboy231 likes this.
  16. My things is this

    I have farms that if hopper item speed would be incressed then it would break and i would rather it didn't lol but that doesn't change that hoppers look all around itself to see if there are any items coming into the hopper

    Ah so kinda like the bug that was there for a while which ment that the villagers never locked up that was amazing but was a bug so had to be patched

    Nerf cactus farming? No just no, I don't use it cause I cant be bothered and haven't got around to making one and i say if it's the xp your bothered about then don't use xp from the farms? And well i think cactus farms aren't the problem its other farms.

    As for tnt dupeing if there is no items gained from the dupeing I say sure but there is the thing with if tnt dupeing is allowed why isn't sand other others? Just saying what new or other players would ask when being told you can do 1/2 of something but others isn't okay
  17. NOOOOOO dude stop never bring this up agian I spent over 1200 hours on my cactus smelting xp config... and so did alot of the other people on EMC so just the Item stacking suggestion will fix this issue with the cacti in the water streams being less laggy and thats what the lag is with the cactus farms
    stormboy231 likes this.
  18. I will leave most of this thread for comment from our developers. However, I do want to go on record that the position of staff in regards to duping items/blocks is the action will remain disallowed on EMC in all forms and we have no plans to revisit the policy at this time.
    TheFryedmans and stormboy231 like this.
  19. That theory seems slightly questionable purely on the basis that suppose there is a stack of 64 items, and you only have room to pick up 20, then you can pick up 20 out of the stack while the rest remains on the ground. I imagine it would work the same with 128 or 256 stacks, although it may take some modifications to stack logic. However, reducing the number of items I think it worth slightly longer stack pickup logic since items have to be ticked every game tick, but stack pickup logic only runs when once when it's actually being picked up by a valid inv. It's worth noting that I don't have the minecraft or paper stack pickup logic in front of me, so this may not be exactly right, but it's hard to imagine that having one entity represent more than 64 items could wind up being impossible or worse performance-wise.

    Wither cobble farms would at least be producing ingame resources. I also have discussed this at length with the cactus farmers including a long ingame conversation with stormboy, and I don't think that all cactus farms need to be nerfed anymore, however, I think that the worst offenders need to be looked at. The only reason that I specifically mentioned cactus farms is that when they're built poorly, they can be a huge lag source that provides essentially zero in-game benefit, and I thought it beneficial to discourage that.

    For my farm at least, there was really no place to use water streams unless I wanted to massively increase the size of the collection system for no reason. Speaking in the general case though, I know that many players use them simply because it's easier. However, your point about it breaking redstone is a good one; it would suck to have to redesign everything for EMC, especially some of the more complicated ones such as breweries. I'll have to see if I can come up with a better fix for hoppers.

    For villagers, I think it's pretty rare that the number of villagers is the limiting factor for a farm, I've never been able to build a large enough farm in any world or server that I couldn't have enough villagers to trade with. Villager trade rates are high enough and the mob cap is spread out enough on EMC that simply putting more villager trading rooms just outside of the mob limit of eachother is a negligible hurdle. The randomtickrate change is a good idea. The only small concern is that it may just wind up encouraging players to build super tall farms, which means that the blocks have to fall for longer down chutes or travel downwards through hoppers, which may actually lead to more lag. That would have to be something to test and find out.

    The rail duping that comes with tnt duping not actually be an issue on EMC since rail pushing with pistons is entirely disabled. If dragon eggs and carpetes were added to the list of unpushable blocks, and Aikar turned off the TNT duping prevention from Paper today, then I'm fairly certain it would actually work without consequence. I can't think of any other items or mechanics affected by the same dupe that couldn't just be added to the "can't be pushed by pistons" list. Although, having hundreds of TNT entities falling through the world because everyone suddenly can make quarries and perimeters is not exactly a lag fix so this may be suited for another thread, lol.

    But what even is duping? Is a bamboo farm duping? No, it's an intended feature of course. So if the MC devs say that TNT duping is in fact an intended mechanic, then how is it any different from bamboo farming? Just because it's called duping doesn't mean it's actually problematic or an exploit, any more than growing bamboo would be if it was called Bamboo duping.
    stormboy231 likes this.