GTNewHorizons / GT-New-Horizons-Modpack

A big progressive questing modpack for Minecraft 1.7.10 balanced around the mod GregTech.
https://www.gtnewhorizons.com/
Other
1.02k stars 309 forks source link

World Anchors on the Official Servers #3764

Closed Bryfer closed 5 years ago

Bryfer commented 6 years ago

Introduction

I'd like your opinion on a suggestion about changing the current values of World anchors on the official servers

Here is a breif explination of what the current Anchors does

World Anchor: Always keeps the chunks loaded when the server is up. Passive Anchor: Keeps the chunks loaded after the Passive Anchor has been loaded ingame. (until restart) Personal Anchor: Keeps the chunks loaded while the placer of the anchor is online. (until player log off)

Currently a ChunkLoader Coin Tier 1 gives you: 12H in the World Anchor 24H in the Passive Chunkloader 48H in the Personal Chunkloader

There is also 4 tiers of coins, Tier 2 gives doubled values over Tier 1, Tier 3 is doubled of tier 2, Tier 4 is doubled of tier 3 The coins themselves are not expensive for players who keeps mining manually, or using other jobs

My Proposal

I'd like these values slightly changed, so more players will choose to use the Passive and Personal Anchors instead of the World Anchor to save some performance on the server while the player is offline. In my opinion the best way to achive this is by reducing the values of the World Anchor.

Below is 3 suggestions, Personally I like the 6h (halved of earlier World Anchor values best)

What I hope this change will accomplish

Hopefully with these changes, player will start to use more Passive and Personal Anchors instead of the World Anchors to load their base, which would mean their base will be properly offline if the player(s) are offline

If the player(s) wish to have their base loaded over night or similar, they can still use the (now) more expensive way of using the World Anchor Or simply load their base using the Passive Anchor before turning the game off.

If the player(s) are sharing a base they can use the Passive Anchor without any problems Player(s) who choose to play alone can use the Personal Anchors

For pumps, Mining rigs and similar Passive Anchors or Personal Anchors can be used

Why did I post this to Github?

I want everyone to be able to have their opinion in this matter. Right now on Epsilon the TPS is usually around 10TPS, and often it goes down to 5TPS or even below that. This is the best way to save some server performance, which is still fair for everyone according to me

If you agree with me, let me know If you disagree with me, let me know If you have opinions please write them below

Please, to avoid unnessesary conflicts in the comments, just make one comment stating what your opinion are, and have minimal discussions in this thread

Highbeam commented 6 years ago

It depends. 50% is a good idea. Another option: if chunkloader coins can be purchased for server money (/bal) then I think even 25% may be an option if it means the server TPS is going to be better if the price is reasonable.

My understanding:

Passive Anchors = stay on as long as the player loads it but don't come online after a server restart. This is perfect for regular players.

Personal Anchor = Stays online while the player is online. Though I have had mixed opinion on whether this is the case since my Ore Drill doesn't start until I visit it after a restart...

But the numbers look good.

SirFell commented 6 years ago

@Highbeam personal anchor is basically more advanced version of passive anchor, it has to be loaded once by any means as long owner is online to start working, as soon as its owner comes online it stops working and doesnt start working until it both gets chunkloaded again and owner goes online

SirFell commented 6 years ago

also i dont believe theese changes would bring much in terms of TPS although promoting use of other chunkloaders should be done since world anchors also have some issues with way servers save map (hello my 2 missing chunks in chunks connected but not loaded to chunk that is chunkloaded)

boubou19 commented 6 years ago

Changing values isn't the good way IMO because, if you are used to farm for coins, then no matter how much you nerf the coins, you'll be able to purchase enough to load the area with a world anchor, especially if the coins could be purchased via money stored in /bal.

If you want to reduce the server load, then we should make new rules like "max 1 world anchor per player" and encourage people to use only personal anchors, or make a killswitch to unload the base if the tps are low.

SirFell commented 6 years ago

possibly better way would be to rework code of world anchors alike to solar panels need to be cleaned. say every now and then world anchor ticks your base at lower and lower rate if it wasnt accessed by player in some time, so players would be encouraged to get on. hard capping amount of world anchors wont be a good solution either imo @boubou19, since then you can just build 3x3 chunk base and be done with it. Yes it lags like mad after IV, but we did it on delta, our whole GT area was fitted vertically in 3x3 chunk area (look at structure of town Norfolk, grey platform used to be GT platform)

boubou19 commented 6 years ago

thing is with a killswitch accessible by other players to unload your base when you are offline, they can save the tps a bit. I know it's not a good solution too but at least players can do something when the owner of a laggy base is offline

Highbeam commented 6 years ago

problem is no-one knows which base is lagging the server....

Highbeam commented 6 years ago

@Highbeam personal anchor is basically more advanced version of passive anchor, it has to be loaded once by any means as long owner is online to start working, as soon as its owner comes online it stops working and doesnt start working until it both gets chunkloaded again and owner goes online

by the way, this made no sense for me???

You probably meant offline actually somewhere in there.

DoomSquirter commented 6 years ago

iirc, every server start, I think it logs all locations of all anchors into the log file. you might be able to glean some metrics from that.

MrWye commented 6 years ago

Personally i am in favor of complete removal of world anchors. I can perfectly understand the reason behind Bryfer's proposal, to keep features and wider spectrum of options available, but this issue cannot be solved by just one action. What i propose is: remove world and passive chunkloaders and implement afk timeout timer. There will be some who will resort to third party scripts, but that is easy to weed out as we go. In my opinion this is a rather clean and simple solution. Apart from that, i am fine with the numbers above. After the changes are made we can hopefully see the usage of anchors overall and figure out if the changes are in fact helping, and adjust further if required :)

Highbeam commented 6 years ago

The AFK timeout feature is for dirty non-whitelist servers.....

If GTNH goes afk timeout or remove drop items then I'm done - they are stupid solutions that don't address the problems we have.

World Anchor removal - I support this. No more hundreds of anchors loading up on every server restart.

Passive Anchor removal - I don't support this. At least in the case a player can log in and set their ore processing going and log out with the passive anchor and this is good until next restart (which we can vote restart if server is tps really bad).

At the end of the day, all of these suggestions would not be necessary if the reason behind bad TPS is known.

DoomSquirter commented 6 years ago

I don't play on officials. but I +1 highbeams comments. where I'm from, our admin 99% of the time removed offline chunkloading altogether. but the passive anchor idea is a solid one, especially if you can vote in a restart in cases where server becomes laggy. forces ppl to log in each day but yet still have stf run while they're not there. win / win.

richardhendricks commented 6 years ago

The reason world anchors are needed are the large recipe times and item counts needed as players tier up. I like the idea of 25% anchor times, but I think we need to look at recipe times as well.

Highbeam commented 6 years ago

ironically because TPS is so low it means we need offline chunkloading to complete recipes :)

From experience on Dirt Huts: we never used offline chunkloaders and it was never a problem. I'm not sure what recipes are so long that they need offline chunkloading to be honest except a load of ore processing? Just endless farms and other endlessly automated stuff

DoomSquirter commented 6 years ago

having limited offline chunkloading, meaning have to check in once per day, would keep runaway bases from causing any issues. if someone's base is causing issues, it'll be quite evident when they login and suddenly everyone notices the tps drop. this helps all those situations.

as it stands, there are ways to get free chunkloading as well as mods that cause chunkloading abhorations themselves. e.g. witchery poppet shelves. that's an intended one. there are loads of undocumented unintended ones as well.

Highbeam commented 6 years ago

a note btw: if a player buys 24 hour chunk loading coin and the TPS is <10 (24/7) then that coin lasts more than 2 or 3 days anyway...

0lafe commented 6 years ago

The reason world anchors are needed are the large recipe times and item counts needed as players tier up. I like the idea of 25% anchor times, but I think we need to look at recipe times as well.

Not really true. Played to UV+ on a server with no offline loading and it wasn't ever really an issue. If I had long processing and I wanted to sleep I'd just afk til restart. 2 a day 12h apart and I never felt like I needed more offline afk time

Removing chunkloaders that work when you're offline totally is reasonable for the pack, and if it would help tps, I say that's the easiest solution. Gets my vote. (remove recipes for world/passive anchors from the official server). What I don't wanna see is a huge change in how the game works/chunk loading for people who don't play on the official server.

but I think we need to look at recipe times as well.

Stuff like that mostly is a no no imo

Scottishprog commented 6 years ago

As for long processing time items: Various Tinker's components are quite long in extrusion time, from what I hear. (To force reliable power systems, I think.)

So if world anchors are limited, take a look at that sort of thing.

Doesn't really affect me in SSP, because I really only get benefit from the first two types anyways.

Scottishprog commented 6 years ago

As for long processing time items: Various Tinker's components are quite long in extrusion time, from what I hear. (To force reliable power systems, I think.)

So if world anchors are limited, take a look at that sort of thing.

Doesn't really affect me in SSP, because I really only get benefit from the first two types anyways.

Cinobi commented 6 years ago

Chunkloading, chunkloading... Offline chunkloading fixes cable issue(cable burning at borders of chunks), fixes same problem with AE(cables on borders become broken sometimes), and yees, helps in some long stupid autocrafts like itnt.

Highbeam commented 6 years ago

Cinobi surely the same issue can happen after server restarts on offline chunk loaders.

@Scottishprog you don’t need offline loading for extruded recipes. The tinkers stuff you will make very rarely

Ghengis88 commented 6 years ago

As i see it it is either leave it as it is or remove world anchor all together, oterwise you end up Punishing solo players and players in lower tiers, getting money is not an issue later on, and if you are in a group of 4 or more even reducing cointime down to 25% in a world anchor would not make much difference as many players can pitch in with coins.

a player in LV-HV has moste likely a very small impact on server tps while a player in UV has a much larger impact. and the UV player can moste likely set up a automatic money maker and will only have to remember to put coins in a little more often, while a player in low tiers would be forced to play without world anchor most of the time

Highbeam commented 6 years ago

+1 vote to remove world anchor - I don't see what offline processing the passive anchor can't achieve. at least it'll stop the server starting up with 100 world anchors all running all the time. regular players will benefit massively

Ghengis88 commented 6 years ago

dont understand me wrong Highbeam, i am not for removing the anchor, they are not the source of the low tps problem, but removing them is a duct tape fix as we dont know cause of the tps drops

DoomSquirter commented 6 years ago

it may not figure out what the source of the tps drops are but it will definately limit the scope in which those issues exist. I don't play on the officials but I know of this from experience, it's at least a good starting point, especially with a multitude of users, to limit or remove offline chunkloading. this way, the ppl that are playing at least experience the benefit for being there.

a likely scenario is one I already described. a couple ppl might be on the server, one user logs in and suddenly a noticeable drop in tps hits serverwide. it's a good indication as to who has something laggy at their base, and thus the remaining user population can go on a witch hunt and burn the offending person's base to the ground. /s lol

richardhendricks commented 6 years ago

The problem with that is it is almost invariably the wrong thing that gets pegged as the lag source. This exact scenario played out earlier this month on Delta. Players blamed a players Architecture blocks, hoppers , etc. And it turned out to be a poorly programmed SFM setup autocrafting Pam's fish to normal fish that would lag the shit out of the server because the destination chest was full.

It's not player's tier, or even really multiple machines, that are the problem. It is every machine that has to search or sort or something similar that causes large lags.

If we banned AE & SFM, or forced players to design smarter, more compact, and smaller/separate systems, that would probably help a lot.

Ghengis88 commented 6 years ago

Is there no way to see how much load each idividual chunk is putting on the server?

Bryfer commented 6 years ago

Based on the feedback regarding this, at the beginning of next month we will disable all world anchors by removing the coin fuel values for them. They will still be craftable, but becomes useless more or less, since there will be no way of fueling them.*

Passive and personal anchors will not be changed, and will continue to work as usual.

This change will only affect the official servers.

So if you are currently using an world anchor to chunkload your base, please replace it with either an passive or personal instead.

richardhendricks commented 6 years ago

Please update the Message of the Day to let players know this change is incoming. Also, is it possible to create a script to sample the TPS and record the player list once a minute? That should be quick enough to locate possible culprits.

Methes commented 6 years ago

Asking people is pointless as nobody can tell you the real impact chunkloading has on the server TPS. Either analyze available data from the servers or ban them for a period of time and evaluate that.

richardhendricks commented 6 years ago

Also need to update MotD permanently to let players know to skip the World Anchor quest.

richardhendricks commented 6 years ago

Asking people is pointless I wasn't suggesting to ask people, just to warn them not to make anchors or spend coins on anchors. I might build one and stuff it with the largest coin though. :P

Dream-Master commented 6 years ago

but not in a quest. This is server specific.

Waisse commented 6 years ago

Can't you guys use a profiling tool instead ?

boubou19 commented 6 years ago

Using profiling tools on large base is inefficient if every lag produced is a tiny lag

Waisse commented 6 years ago

Maybe, but that would help knowing if the lag come from the same location or from a handful of blocks.

boubou19 commented 6 years ago

I don't know about epsilon but on delta we know the most tps-killer bases so reducing the base's loading time by changing the anchors will at least ductape the issue