PDA

View Full Version : Food Decay on Crack?



TheForestHermit
26th January 2016, 01:48
Food decay after the server update seems to have been multiplied by the nth factor.
Even preserved foods are decaying in something less than hours. A fraction of the previous time.
I don't know if this is a bug, or by design, but is it possible the powers that be might intervene and reduce the decay modifier server-side?
I'm not usually one for turning down difficulty but this is sort of impossible to keep up with :skeleton:.

*Edit: As a side note food/water consumption seems to be much more ferocious today as well, but it may just seem that way now the food is evaporating. :(

LarsonPacific
26th January 2016, 02:33
Food decay after the server update seems to have been multiplied by the nth factor.
Even preserved foods are decaying in something less than hours. A fraction of the previous time.
I don't know if this is a bug, or by design, but is it possible the powers that be might intervene and reduce the decay modifier server-side?
I'm not usually one for turning down difficulty but this is sort of impossible to keep up with :skeleton:.

*Edit: As a side note food/water consumption seems to be much more ferocious today as well, but it may just seem that way now the food is evaporating. :(


I've noticed all the same things. Cooked fruit, in vessels, in barrels, is disappearing alarmingly fast, along with all other foods. From the chatter I've been hearing today on the regular server, it's happening there too. I took some meat out of a barrel on regular and it melted immediately in my hand, in my freezer, at like -40C.

InsaneJ
26th January 2016, 09:47
Jiro, would you mind taking a look at this please?

TheRealPoker
26th January 2016, 11:45
Perhaps a timestamp issue so hopefully it only affects food created prior to the version update.

Jiro_89
26th January 2016, 19:44
The TFC configuration for food decay is still default and unchanged. From what I gather after asking people in game, it seems that all food prior to the recent TFC update will rapidly decay. Probably due to time stamp issues like Poker mentioned. Several people have said that new food they picked from trees, cooked up, etc, has had the normal decay rate and my food testing seems to be consistent with that.

Dourne
26th January 2016, 21:02
Food no longer lasts a full real life day. Cooked /salted/ smoked/ brined. watched them all vanish. droppers stop the decay until the second you take them out, then poof.

TheForestHermit
26th January 2016, 21:21
Yes I respectfully disagree with the 'out-dated' foodstamp issue theory being the only issue here.
All our food stores vanished so we picked/cooked/smoked fresh food last night.
Today all the food is gone again.
3 days ago you could take a couple vessels of sandwiches and go on a mining/run /goods run and be able to play for a few hours without an issue. Now sandwiches inside a vessel, outside a vessel ( it's the same now) wherever last roughly 30 minutes?
I don't think it's a server issue, I suspect it is a combination of the removal of temp variation information, and her 'fix' to keep some foods from lasting 'indefinitely' if stored fresh was overkill.
The end result is a far less enjoyable, and far more frustrating game.
Can this be tempered on the server's part?

*Edit. : Right it seems that this rate of decay is by Kittychan's design. To quote


Food still decays even when it is sealed in brine. The decay is just a little bit slower. A real-life day is more than enough time to completely decayaway a piece of meat.

This was in response to meat dissapearing while people were trying to brine it.
I have all kinds of Opinions about Kittychan and mostly how she needs to get over herself. That aside I reiterate.
The game default now according to her grand vision really sorta sucks.
Would you please consider intervening if you can?

Jiro_89
26th January 2016, 21:37
Ah I see, well yes we can modify the food decay variables in the config. Perhaps someone can put together a decay time on the current food compared to the original decay? For example, comparing fresh fruit times, raw meat times, and the sandwich times.

And are you guys saying that containers don't affect food anymore? If so, that would be completely out of our control :(.

Cobbett
26th January 2016, 22:41
Surely the decay times were modified before, but the settings were lost during the last update and it's reverted to vanilla rates?

Seems to have been changed here in the past (http://happydiggers.net/archive/index.php/t-1376.html).

Jiro_89
26th January 2016, 23:24
Surely the decay times were modified before, but the settings were lost during the last update and it's reverted to vanilla rates?

Seems to have been changed here in the past (http://happydiggers.net/archive/index.php/t-1376.html).

No, they were always default. We rarely make changes to TFC default configs.

DigitallyFidget has not been with us for nearly a year now and has not accessed the TFC configs. That was also an entirely different server.

Cobbett
27th January 2016, 00:07
Something has to have changed somewhere. As per the wiki:

The tracking of decay is based off of the calendar date and time, so skipping time forwards through the use of a bed or commands will result in the food decaying the same amount as if that time frame had passed normally.
So on a server that runs 24/7 you'd need to logon to trim your food every few hours with vanilla decay rates.

DOM
27th January 2016, 00:24
Something has to have changed somewhere. As per the wiki:

So on a server that runs 24/7 you'd need to logon to trim your food every few hours with vanilla decay rates.

That is what has been going on for as long as the servers have been running. I guarantee that NONE of the food in my town exists anymore, since I havent played on there for about 8-10 months. The recent update is to blame, not a change in configs.

Jiro_89
27th January 2016, 06:23
Have any of you tested the food decay in a single player instance with the current TFC version yet?

TheForestHermit
27th January 2016, 07:27
I played on HC all day with the exception of doing some porting around in Regular to test environmental temps.
I'm so over the current decay rate though. :mad:

Food decays at an increased pace in the following places:
Barreles of vinegar ( pickled). Inventory, general. Inventory, vessel. Sandwich crafting grids. Barrels of brine. Chests. Sealed Ceramic containers. IN Vessels placed in the world. In Cold environments. ( In fact temp no longer seems to do much)
In addition we tried the following in efforts to slow the decay without any noticeable success:
Pickling. Drying. Drying and Smoking. Salting, Brinring Smoking.


I will now go putz around in SP and set up a test area and see if I get the same results.

Edit: Preliminary testing is.... Shockingly. Normal. Food is decaying at the accustomed gentle rate. Sandwiches can be held for 15 minutes without starting to lose mass.

Heptagon_ru
27th January 2016, 08:07
Yesterday I harvested 3 potatoes, combined them into one, and this served me without any decay for about 30 mins at least. Then I logged off.
But it could be that "initial decay protection", that prevents any decay on a freshly gathered food.

I also saw 2 potatoes in a barrel and some food on kitchen tables in the new Refugee Camp which LP and TheForestHermit made near the Ark. The potatoes were with 0.1% decay, i took them from barrel and placed back - no change. And food on the tables was also pretty fresh, less 1% decay. I assumed that LP/Hermit logged off some good time ago, like an hour at least. Unfortunately I didn't thought about checking the placing time by prism :(

So strangely I see no decay increase yet. Which may be because I don't play much. :)

[+] About the need to trim food each hour: as I understand, this was always pretty true for food in loaded chunks.
When I had a vessel of pretty fresh sandwiches just from my freezeer on me (4 sandwiches), sometimes the last one was half-decayed when I got to it. And when I logoff with the full vessel, I could login and have all sandwiches fine, or they could be gone. I guess this depends from: was anyone in the chunk when I was offline.

When you have your food in a freezer which is most time in an unloaded chunk, food does not decay there much, and there is a special config option "useDecayProtection" which tells if the food should catch up with the "planned" decay. As I understand HD servers have it "true", i.e. unloaded chunks are perfect freezers.

This leads me to a question: TheForestHermit, can the decay increase which you noticed be because you are now sitting mostly in one place near the HC Ark? I mean you guys made a nice camp there and maybe do not go out much, therefore chunk is always loaded. But previously you traveled more and food chunks got unloaded for long time?

TheForestHermit
27th January 2016, 08:45
The question of being in loaded chunks is kind of not really applicable?
We have been living in loaded chunks for two weeks now or so. Yes we all take excursions away from the camp, but we all spend considerable time in the camp, processing metals and smithing. Mining very nearby.
We are quite used to constantly loaded chunk decay times.
And actually, when items were in a sandwich crafting grid, we rarely ( read almost never) could be bothered to trim the food. We would use it up in making sandwiches long before it would decay enough to matter. ( yes at the Ark, where it's loaded far more than not)

LarsonPacific and Dourne will back me in saying it's not even remotely comparable. The difference has been a shocking PITA.
You -have- to trim your food hourly. You still wind up losing a good percentage of every piece, no matter what preservation techniques you employ. This.. is new for the HC ARK refugees, even in the tropics as it is.

Dourne
27th January 2016, 11:17
The mere fact that we all had chest(s) full of food and now we don't, says something. Some of my food wasn't even cooked, none of it was brined/pickled. I've gone from new character on HC to master cook/agriculture. I'm very familiar with food decay and have at one point read all there is to know about Terrafirmacraft before I even started playing this mod. This does not make me an expert, it only makes me not want to play very much because I know I will need to spend at least an hr 'preparing' for whatever I want to do that day.

this change whether intentional or not from the devs, is currently killing this mod.

I can verify we all have been doing food tests over the last 24 hrs. none of us wants to have to use 24 individual barrels storing food until we need it.

Before i logged off, i would say decay is off a bit. decay progression has been the following:

Cheese
Cooked - worse
pickled - next
brined - better
Smoked - best

this seems to not be the standard order of progression. I have the same for soybeans and potatoes. It has now been roughly 12 hrs since i logged in last. I do not expect to have any food left....let alone any fruit as it is seasonal and lost it all when we switched versions.

edit: soybeans decayed completely after only 12 hrs. this included freshly picked produce literally minutes before being brined/pickled/cooked.

LP has the numbers for the cheese described above.

LarsonPacific
27th January 2016, 12:57
Kitty fixed a "bug" in .27:


Fixed decay tag truncating causing some foods to last indefinitely if the initial tick created a small enough amount of decay.

Though we have been able to store food indefinitely in freezers in unloaded chunks for as long as I have been playing TFC, the "bug" that allowed it to happen has now been "fixed".

Yes, all our old food is gone. New food does decay signifiantly faster. Whatever, doesn't matter, what it boils down to it this:


Food decay in single player makes sense.

Someone can spend an hour making pickled peaches in the morning, then close their world with the decay at 0.2%, go to school or work, come home, and continue like nothing happened with decay on the pickled peaches still at 0.2%.

Food decay in multiplayer doesn't make sense.

Someone can spend an hour making pickled peaches in the morning, log off, go to school or work, come home, log on.... aaaaand it's gone.

I don't feel that's fair to players.

Thus far, it's been workable, since everyone uses freezers which until now, stored food indefinitely without decay anyways.

In order to maintain the fairness enjoyed thus far in being able to indefinitely preserve our agri-culinary endeavors, I vote to either do away with food decay completely, or severely, severely impede it.

If someone only plays the game four hours every Saturday, they shouldn't have to spend all their time re-making all the food they made last week because it decayed. That's not how it would work if they were playing singleplayer, so personally, I don't think that's how it should work in multiplayer either.

Is my reasoning flawed in thinking this way?

TheRealPoker
27th January 2016, 13:27
I think a happy balance might be that food stored on the server should decay (after all, other events take place such as crops growing etc.), food in your inventory should not decay as you (and your food) 'aren't there'. We don't want to alter the game much from vanilla TFC without a really good reason though.

If SSP is exhibiting slower decay than SMP as Hermit mentioned, then we should look to kCauldron and plugins for the cause and solution first, and once that's exhausted then consider moving from default settings if there's something available.

Perhaps admins can check if the accelerated decay rate applies on the new servers which I think are running some more up to date code? Can someone give them something clear to test for, e.g. fruit decays 10% in 30 mins on multiplayer, 1% on single player?

InsaneJ
27th January 2016, 14:07
All servers, old and new, currently run the same version of TFC and Cauldron and are up to date.

TheForestHermit
27th January 2016, 23:20
I agree with LP. I'm not honestly super-obsessed with the why. If it's intended. If it's a bug. If it's cauldron.

It's the end result I'm concerned with. The current rate of decay is frustrating. May we alleviate it some. Please and thank you.


That said. My SP results were as I said pretty normal.
Food decayed over a couple RL hours at a steady gentle rate.
Raw food still died about 75% in those two hours, but properly smoking, pickling, drying food reduced that to a rate of something slightly less than a percent an hour. Not perfect. Maybe a little more than it was? But far more bearable than what's happening online atm.

As an aside for Jiro and J. I'm not trying to hound you folks as much as make it clear I'm not imagining this and it will make players pretty frustrated quickly in my opinion.
Thank you very much for the effort you are putting in here. It's appreciated.

InsaneJ
27th January 2016, 23:57
It looks like a new feature in Cauldron was causing the issue. I've downgraded Cauldron on the TFC servers and food decay should be back to normal now.

# 1.7.10-1614.176: 097252b
Add expermintal feature: tileEnitity list recreation each tick

I'd like to report the issue to the Cauldron dev but unfortunately I can't log in, can't reset my password and can't create a new account there due to the fact that their confirmation emails aren't being send or are being rejected by two different email servers :eek:

TheRealPoker
28th January 2016, 01:19
Awesome, thanks J!

Dourne
30th January 2016, 07:17
While we did find the problem and corrected it, decay is still a problem. On a server which is on 24 hrs a day, food will not last 24 hrs. uncooked - 12 hrs. Anyone new will have the most difficult time keeping food available. Any preservation from this point on will require vinegar, multiple barrels of vinegar. This takes fruit which grows once a year. Without adequate supply of fruit no one can keep up with vinegar stocks. Once vinegar supplies are nominal (I'm looking at least 12 barrels), keeping food wont be an issue.

Are we considering this a necessary evil to play TFC? It certainly does not make it enjoyable.

I would vote in favor of at least 50% reduction of decay.

Jiro_89
30th January 2016, 09:30
I can absolutely say for certain that the current default decay has been in place for nearly a year and a half now. People take advantage of the preservation techniques that you mentioned along with moving to a colder climate far from the equator (z=0) and increasing altitude. The drop in temperature greatly increases the longevity of food and if a player takes advantage of all these preservation techniques you can experience a very low decay rate.

TheForestHermit
30th January 2016, 15:24
I'm not convinced you are correct Jiro. The recent 'fix' to the truncated initial decay code seems to have made a pretty big difference.
Even with the cauldron rollback the food decay is quite abit more obnoxious than it was before the update last week.
Maybe this was the 'intended' default decay rate for the last year and a half, but we weren't actually having to live with it.

tldr: I agree with Dourne. A manual reduction wouldn't be unreasonable. The current amount of effort required to find/preserve to deal with food loss gets lame fast.

DOM
30th January 2016, 17:23
As per the TFC config:


"food decay" {
# If a food item has not been ticked for >= this number of days than when it is ticked for the first time, only a small amount of decay will occur. [range: 1 ~ 12000, default: 24]
I:decayProtectionDays=24

# This is a global multiplier for food decay. Unlike FoodDecayRate which only modifies the base decay and not the environmental effect upon decay, this multiplier will multiply against the entire amount. Set to 0 to turn decay off. [range: 0.0 ~ 100.0, default: 1.0]
S:foodDecayMultiplier=1.0

# This number causes base decay to equal 50% gain per day. If you wish to change, I recommend you look up a y-root calculator 1.0170378966055869517978300569768^24 = 1.5 [range: 1.0 ~ 2.0, default: 1.0170379]
S:foodDecayRate=1.0170379

# Set this to false if you want food to auto decay when a chunk is loaded instead of limiting decay when a chunk has been unloaded for a long period. [default: true]
B:useDecayProtection=true
}

This means that if a player/town were to find a cold, high, dark area (lets call this a freezer), in a location that is unticked for 24 Minecraft days (lets call this an outpost), then their food would not decay nearly as fast as any food in ticked chunks. Now lets say that the player is part of a community of players (lets call this a town) that has members that may be online at different times of the day and has crops growing and harvested all day long. An IRL day is 72 Minecraft days, or about 0.75 TFC years. So, if the town members were to only visit this storehouse twice in one IRL day, making large trips of goods, this would guarantee that the food would be preserved.

Many towns use this method and it is easily seen if you check the dynmap. I do understand that the truncated values will significantly contribute to faster decay due to the exponential decay rate dictated by the game. But, this is INTENDED by the developers and is an INTEGRAL part of why TFC is so popular and is a SURVIVAL mod.

TFC has a way of bringing people together doesnt it? ;)

Dourne
30th January 2016, 20:51
You're right Dom. So is Hermit. We've been living with broken for a year and a half. When I joined HC, I had no food preservation, if anything I only cooked it. Full chest of food and I'd make 3 vessels of sandwiches the night before so I could log on, dig my mine for an hr and log off. I'd do this in the ark, travel 1000 blocks away then come back. My food lasted a week or more, life was good. Now it doesn't. I don't get to do anything in the morning now but play other games, because of the decay issue.

No one likes doing chores before playing.

LarsonPacific
30th January 2016, 21:54
Testing indicates that decay is now doing what it it was coded to do. At the current temperature, unprocessed fruit will last just under two real life hours at the equator, which is in line with what I calculated it's supposed to be. Food will still never decay if the temperature is less than 0, as the function returning the environmental decay factor always returns 0 if temp < 0, which when multiplied with all the other decay rates and multipliers, will always return zero decay, as dictated by the following excerpts from TFC_Core.class:

public static float getEnvironmentalDecay(float temp)
{
if (temp > 0.0F)
{
float tempFactor = 1.0F - 15.0F / (15.0F + temp);
return tempFactor * 2.0F;
}
return 0.0F;
}

if (decay < 0.0F)
{
float d = 1.0F * (thisDecayRate * baseDecayMod * environmentalDecay);
if (decay + d < 0.0F) {
decay += d;
} else {
decay = 0.0F;
}
}
else if (decay == 0.0F)
{
decay = Food.getWeight(is) * (world.field_73012_v.nextFloat() * 0.005F) * TFCOptions.decayMultiplier;
}
else
{
double fdr = TFCOptions.foodDecayRate - 1.0F;
fdr *= thisDecayRate * baseDecayMod * environmentalDecay * protMult * TFCOptions.decayMultiplier;
decay = (float)(decay * (1.0D + fdr));
}
Food.setDecayTimer(is, decayTimer + 1);
Food.setDecay(is, decay);
}

The people playing on hardcore the most at the moment, Hermit, Dourne and myself, have all never lived in the tropics in TFC before now. We've been living at the ark camp for a while now, and decay has been no problem for the month or so since we moved down; you could leave a stack of cooked peaches on the foodprep, and it would get eaten long before it would decay, which served to set our expectations of decay in the tropics. Then all of a sudden, overnight, everything is decaying ridiculously fast. Something changed to make the decay rate go from whatever softened state it was in before, to being what it's supposed to be, which freaked everyone out. We weren't prepared to instantly lose literally all our food overnight, and then have new food decay at a perceived accelerated rate. It's been a learning process to figure out how to best preserve fruits, but that's now a non issue in my eyes, as pickling fruits and leaving them stored in vinegar barrels makes them last as long as smoked dried cheese.

Like Dourne just posted, everyone on this thread is right. :) The big issue got fixed by J (big thank you for that!), food decay used to be broken, we all got used to it, now it's fixed and the tropics suck. XD

Anyways, in light of everything, I'm thinking we just leave everything be and learn to deal with the new normal... The new server will be ready soon, and we can all move back to our preferred climate ranges before long :)

Metamorfos
31st January 2016, 12:12
Gathering all the ingredients for making a balanced sandwich might be harder now, especially at the tropics. But you don't need balanced sandwiches to be able to survive. Unharvested food doesn't decay at all so food shouldn't be that much of an issue as long as you have some farmland. If you have limited time, grab a few grains, soy beans and vegetables and you should be good to go for a gaming session.

grizzle
31st January 2016, 22:11
I guess I"m pretty late to this thread, but i thought I might add to it since my experience is a bit different I think. Having settled at 7k on HC, I never had freezes, so I never did any food prep, nor did I have any kind of freezer. I never even found salt. So I was never doing food prep before. I always carried 4-5 vessels on me for food. two vessels were stocked with 8 sandwiches. The rest were for ingredients. I ALWAYS carried these on me. Never stored them anywhere. And I had absolutely 0 problems with decay. I'd trim the food when I got it out to make new sandwiches - it was never more than 1% decayed except fruit sometimes, and that was it. I could go on very long mining expeditions like this just fine. It would last many days, across multiple logins.

I thought there was a function that was for SMP play, that said something like 'if player logs in and has not logged in for 8+rl hours, do not apply decay to food in their inventory. So I always spaced my play times 8+ hours apart irl. I thought this was in part what was saving my food so long. This was true while i was moving my base to spawn, which was about 10 trips over many irl days, and some of those times I logged off at spawn. Not a problem. Still had the food when I logged back in.

But that no longer works. Now my food is always 100% gone when logging back in, even grains, which were basically immortal before. So something has definitely changed, and I'd say drastically. I went from having fractions of a percent of decay on my inventory vesseled unpreserved food when logging back in, to having everything gone, almost every time. I think one time I had two stacks of grain that had decayed about 50% but not disappeared yet. Has anyone looked into whether that function to not apply decay if logged of for X rl hours is still working? Or was it ever a thing, did I just imagine it?

I always thought the sky freezer thing was pretty cheesy. But, this is definitely rocking the boat a lot. We make it work where crops are immortal, but I wonder how it is in the areas where it freezes at ground level, but doesn't stay perpetually frozen in a sky freezer. I suspect a zone like that exists from maybe 8-10k or so.

Now I'm not having a problem currently, as long as I'm logged in. I do the same food strategy, and trim it every time I take it out to make new sandwiches. I think the fruit gets up to 3% or so. But even with immortal crops, it makes long mining trips where I'll probably have to log out problematic. I've been planning that if I did that I was going to take seeds and plants some crops nearby the mine, so they would be there when I logged back in. But on the new server, wandering around to find a new base is going to be rough, if it takes many irl days.

Jiro_89
31st January 2016, 22:36
I can absolutely say for certain that the current default decay has been in place for nearly a year and a half now. People take advantage of the preservation techniques that you mentioned along with moving to a colder climate far from the equator (z=0) and increasing altitude. The drop in temperature greatly increases the longevity of food and if a player takes advantage of all these preservation techniques you can experience a very low decay rate.


I'm not convinced you are correct Jiro. The recent 'fix' to the truncated initial decay code seems to have made a pretty big difference.
Even with the cauldron rollback the food decay is quite abit more obnoxious than it was before the update last week.


I have setup a fridge and tested the decay rate over 24 real life hours.

0 hours

2603
2604
2605
2606


12 hours

2607
2608
2609


24 hours

2610
2611
2612


There you have it. Zero decay. Fridges can easily be made on both servers and if people from HC start complaining they can't do a fridge because it's too far away from the tropics, well guess what, you guys chose to play HC with no teleports. Nobody said HC was going to be easy. It was specifically made to be more difficult. If dealing with the food is too much, switch to regular where maintaining food is a piece of cake.

sciohan
1st February 2016, 01:04
I'm glad that the original problem of the decay rate itself has been looked into and dealt with, but it's uncovered a whole new problem that may have been with us since before decay rates even returned to functioning as the developers intended. When I came back from a long break and the server was running 79.26, it was clear to me that food decay wasn't really working, as even after a whole summer any food I had stored on my person or in chests had not decayed past its initial decay tick of 0.0% to 0.4% maximum no matter how long I had it.

TFC is supposed to protect us SMP players from having our food decay while we are logged out, but now that it's working as intended it's easy to see that no matter how long a player is logged out their food decays on logging in whether it's been 8 hours or 80+ hours. It very may well have been this way in 79.26 too, but having functioning decay and no SMP protection gives Hardcore players in particular great difficulty. Us regular players can simply log out and in from a freezer outpost and wait out all the catch-up decay that shouldn't be happening there, they don't get that option. If there's no way to restore SMP decay protections, it may be the better option for the server to manually disable food decay entirely to restore its 79.26 behavior even if it makes things much too easy overall.

DOM
1st February 2016, 01:39
I have been keeping up with this thread quite regularly and have noticed quite a trend emerging. Each response that I would consider "complaining" is from an individual. There is no team of players or town asking for a change.

The point: this is a multiplayer server. The way this functions is by people working together to survive in the harsh conditions of TFC. Teams of people that play this mod together will thrive and individuals will barely survive. That is the reason why there is a choice to play single player (like I prefer) or together on a 24 hr server with default configuration intended by the mod creators.

The choice is yours. I recommend that you make new friends the same way I did when I founded this community. Play together and have fun.

TheForestHermit
1st February 2016, 02:06
Wow really? Complaining?
How about when you play over 6 hours or so, and you hear endless comments over a single topic
It's a concern. You hear it mentioned a great deal, even if most won't feel confident enough to post about it.
It's a more than a little bit off-putting and frankly disrespectful to say it's baseless complaint when you don't actually spend much time playing in survival mode.

Also perhaps this is related. perhaps this is unrelated. But for weeks there has been a steady, happy and growing number of players buzzing about getting ready for the move. Now? I pull up the maps a few times a day to see whose on to chat and play with. Nothing 0/20 on HC. Only a single player or no players on Regular.

I would put forth at this point that gaming is supposed to be about fun. If community members say something feels less fun and more frustrating. Maybe spend less time proving how things are working exactly as intended and accept the fact that there is a possible negative impact on the community and the 'fun factor' at large.

Thanks. I'll stop complaining on this thread now.

DOM
1st February 2016, 04:53
It's a more than a little bit off-putting and frankly disrespectful to say it's baseless complaint when you don't actually spend much time playing in survival mode.

It was not my intention to offend with my previous comment. I do agree that there is a definite change in gameplay and that it may be having a negative impact on our individuals. Nevertheless, the point I am making remains valid. I have provided solutions to many issues brought up in this thread and they have been confirmed by fellow players, admins, and raw code.

If players decide that they do not wish to partake in the various solutions, that is their own decision. I do not control the whim or direction of this community and merely provide solutions to issues. Such is my place and duty as founder. If the community decides to implement a change, I will support this and make the changes for the enjoyment of the whole.

TheForestHermit
1st February 2016, 05:08
Thank you DoM. I apologize if I was rather touchy. In hindsight I over-reacted and I'm sorry.

Honestly really enjoy the community, and the administration as a whole and I want to see it do well, as well as have a place to squander many happy hours playing digital legos in the future. If I come off whiny or critical I apologize for that too. It's not honestly my intention.

InsaneJ
1st February 2016, 09:46
I think all has been said that needed to be said about this topic. Let me summarize:

TFC food decay is working as intended by the TFC devs.
TFC food decay makes TFC on a server harder. And even extra hard without teleports.
The HardCore server is meant to be really difficult. Most HardCore applicants mention in their application they want this.
TFC food decay is manageable with freezers.
TFC food decay on HardCore means you need to work together if you want to do anything other than making food all the time.


This discussion, and other discussions about server matters, has caused quite a bit of stress on our staff. Regardless if people are right or wrong. It just does. Please keep this in mind when talking to staff members on the forums or on the server.

We have been running Minecraft servers for over 4 years now. Every time we change something, intended or due to a bug(being fixed) people have responded to that change. Either by discussing, arguing, complaining, enjoying, leaving, etc. It's a thing of life. For me the conclusion is simple: We will run the servers the way we enjoy running them. This means we will make changes to the servers as we see fit.

This may sound harsh or unfriendly. But keep in mind that we are running the largest non-whitelisted public TFC servers in the world and have done so successfully for almost 2 years. Which is quite a feat considering the TFC devs have made server administration extremely difficult.

The reason I'm posting this is simple: I don't want our staff stressed out over a non-issue. The game is working as intended. We are running a close-to-TFC experience server. If people don't like that, there are other TFC servers to choose from. TFC regular has teleports, and there are other non-HappyDiggers servers that have different visions about how they like to run their servers.

This does not mean we don't value input.We do. It means we will not change anything regarding this, what I consider, a non-issue.

sciohan
1st February 2016, 13:05
I realize upgrade-related problems and player discontent is stressful for admins but I must reiterate once more as it has gone ignored. There is no question that the decay rate is working as intended. But there is something that is broken and not working as the developers intended on this server for whatever reason, and that is the inventory decay protection for logged-out players. I have seen it many times that my own food and the food of others decays into dust when logging in after long, 8+ hour times of being logged off. The intended behavior of the developers is that in SMP, food in your inventory will not decay while you are logged off for long periods. I also distinctly recall this feature working as intended when I played on this server when it ran 79.15.

InsaneJ
1st February 2016, 13:16
The TFC devs intend to run TFC on Forge servers only. They actively refuse to consider bugs in their code if it's run on Cauldron or while using Optifine.

I haven't tested the problem you describe so I'm not sure what's going on. It could be one of the following:

A bug in TFC.
A bug in KCauldron.


What needs to be done is the following:

Test what happens on a local KCauldron server with no other mods and/or plugins to verify the behaviour.
Test what happens on a local Forge-only server with no other mods and/or plugins to verify the behaviour.


If the problem does occur on the KCauldron server, but not the Forge server then post a bug report on the KCauldron issue tracker: https://gitlab.prok.pw/KCauldron/KCauldron/issues

If the problems occurs on both the Forge AND the KCauldron server, post an issue on the TFC forum: http://terrafirmacraft.com/f/forum/11-support/
But whatever you do, DO NOT MENTION that you tried this on an KCauldron server.

I don't have time to do this myself. So if anyone wants to help out here please do. It'll help a lot of players.

LarsonPacific
2nd February 2016, 10:03
I delved much deeper into the TFC source code to figure out exactly what happened this last update.

What they did, was change how the decay value is stored. Simply put, it went from two decimal places, to four. Seems like a minor change, however, this has a _massive_ effect on lifespan of foods in certain areas.

Consider a stack of fruit near the equator. Say its initial tick off zero is 0.2, or 0.20. Decay calculations are very precise, using float values for most calculations, with many, many decimal places; most early decay calculations in most climates return fractions of a percent decay. At 35C (pretty warm imho), this stack of raw fruit, which has a 2.0 decay multiplier sitting at a current decay of 0.20, will get it's decay tick calculated at 0.2097037845, or when truncated to two decimal places... is... 0.20.

So, there was the problem.

The decay tick would simply update the decay timer and rewrite the same decay value of 0.20 back to the stack of food. Wash, rinse, repeat. Like being in a freezer most of the time, but not. Until the player happens to be standing somewhere where the calculated decay gets over that hump, like in front of a firepit, or during a hot part of the day, the decay would never tick... and even when it did, still would probably not tick regularly due to changing temperatures, temperature caching etc, thus drastically or indefinitely increasing shelf life of the food. When you take into account all the fractional decay percentages being regularly tossed out effectively nullifying the majority of all early decay ticks, the bug was making almost all food everywhere last an artificially long time.

Their truncation function simply took the very precise decay float value, multiplied it by 100, stored it as an int value (fancy name for a whole number), then returned it divided by 100 again as a float and stored it, thus effectively truncating the decay to 2 digits. All they did in the update was change the multiplier from 100 to 10,000, so now it truncates to 4 decimal places. Ironically, this in-house truncation function they wrote, is named "roundNumber" XD

Now, taking into account that each tick is now actually logging decay far more accurately and not throwing away those all important early fractional decay ticks, and the fact the average temp is 45C near the equator, and the fact that a person who logs off while others rack up several hours total play time will receive hundreds of decay ticks in quick succession using a decay "protection" of only 50% a regular tick or more when they log in, it's not difficult to see why people's food is evaporating between logins near the equator on hardcore. It's just designed to be that way.

So anyways, that's why decay is doing what it's doing. It's possible there may be a cauldron issue, but nothing I've seen myself personally really indicates the issue is any deeper than this. My initial tests were flawed because I was testing at the equator with fruit, at a temperature where every tick would have logged decay, so testing decay times showed little difference between current and previous versions. Using a mathematical model accounting for the decay truncation, everything became clear pretty quick.

Decay protection on the other hand, now makes less sense in my head. According to the source code, if you've been offline more than 24 in-game hours, and less than 576, your food in inventory will take that many decay ticks (yes, it will process every last one of them individually) at logon, with a decay protection multiplier of 1 - (remainingTicks/576) which is multiplied in with the other decay multipliers. Logging in after 576 hours, however, you will simply take 24 ticks of regular decay. Go figure? The numbers aren't jiving in my brain, but I will have to do some further mathematical analysis to determine if anything is indeed awry...

On a personal note, for others who haven't seen me online much lately, since food preservation isn't really my thing outside of pure mathematical curiosity, and I don't want to pack my smithing shop back north, I'll probably just pack my gear in the ark, await the flood, and focus efforts elsewhere for the next while... maybe towards getting the new maps ready :)

Heptagon_ru
2nd February 2016, 10:54
Awesome Awesome


Decay protection on the other hand, now makes less sense in my head. According to the source code, if you've been offline more than 24 in-game hours, and less than 576, your food in inventory will take that many decay ticks (yes, it will process every last one of them individually) at logon, with a decay protection multiplier of 1 - (remainingTicks/576) which is multiplied in with the other decay multipliers. Logging in after 576 hours, however, you will simply take 24 ticks of regular decay. Go figure? The numbers aren't jiving in my brain, but I will have to do some further mathematical analysis to determine if anything is indeed awry...

What is the remainingTicks(=decayTick) value in seconds or meaning? This tick occures once an hour? Or something like random tick (http://minecraft.gamepedia.com/Tick#Block_tick)? Because e.g. if these ticks are those 20 Hz plain ticks, then the value of the expression (1 - (remainingTicks/576)) can easily be negative.

576 hours is 24 days. Which is afair 2.4 months 3 months, i.e. about 6.4 8 hours irl. So the explanation could be: if you went offline for "few" hours, the processes in game "still go" for you, you are still involved in game world. If you went for much longer and most likely "forgot" what it was at logoff - no need to care for your synchonization, you will anyway forget what your state was, better to give you some not-very-decayed food at start.


focus efforts elsewhere for the next while

You could try the AMP server ;)

TheRealPoker
2nd February 2016, 12:52
Yes, that's the decay protection, if you are offline over 24 game hours you get significantly reduced decay, under that it's proportional in some way I'm sure you guys will explain:-)

It's clear this tiny change has had a large impact on decay. For us this is unfortunately compounded by the fact that we are in a somewhat artifical situation - compelled by circumstance to be living in the tropics, in close proximity to each other (thus keeping the chunks loaded) it has caused a significant change in game balance which has been frustrating for players.
I'm sure it's been equally difficult for admins unable to provide easy answers to players due to the complexity of the decay mechanic, the potential involvement of KCauldron and the lack of information from the TFC devs who are most likely unaware of the extent of the change that fixing this tiny bug has caused.

Thanks LarsonPacific for tracking that down and resolving this somewhat, it would seem that once we are on the new server and settled away the tropics and each other, far more aware of the food decay mechanic, we should be able to get closer to the game balance we have been used to without needing to change any default configs.

LarsonPacific
2nd February 2016, 21:09
Yes, that's the decay protection, if you are offline over 24 game hours you get significantly reduced decay, under that it's proportional in some way I'm sure you guys will explain:-)


* Under 24 game hours, decay ticks will catch up regularly.
* Game hour ticks from 25 to to 576, each decay tick will be multiplied by (1-(number ticks remaining/576))
The exact code excerpt is: protMult = 1 - timeDiff / (TFCOptions.decayProtectionDays * 24);
* Over 576 game hour ticks, your decay ticker will simply be set to t-24. Same as being gone only 24 game hours.

This not only applies to just food in inventory, but any food stack anywhere in a loaded chunk that has been unticked for whatever reason.

I modeled this today factoring in the decayProtection multiplier. It actually makes exactly as much sense as first appears... which is to say, it actually doesn't make sense.

If you log in after 575 in game hours and the temperature is 40C, even cheese and raw grains in your inventory will fully decay before your eyes. Unlike if you had been playing normally, you'll also have no chance to remove decay. If you log in after that though, you will receive only a little tiny bit of decay (24 hours worth). So, you get rewarded with only small amounts of decay if you play less often using this mechanic. Go figure?

This mechanic however, has never functioned properly before now, so it's actual effects have never been experienced before. In additon, there isn't really any reason the default is set to 24 days. The devs just picked it out of the air, and nobody has ever mentioned it because the underlying decay mechanics were broken, so it really didn't have much of an effect anyways.

The only reason the mechanic exists to begin with, is to allow people who haven't logged in for a while to retain their food and not have to start over each time they play on a server, but also make it difficult for people on servers from exploiting the ability to do so and setting up an "unloaded chunk fridge".

Based on my mathematical modelling, and the feel of the HappyDiggers community, I feel like a setting of decayProtectionDays of about 6 in TFCOptions.cfg would be more reasonable and mathematically sane, and be inline with actual developer intentions. That would mean a stack of raw meat should decay to a max of ~50% at 40C upon login after 144 in-game hours, actually giving a player a chance to retain at least a bit of what they harvested before their mom called them for dinner. XD That would be ~2 irl hours instead of the current ~9. If the player is gone for more than ~2 hrs, the decay will then just be treated like they were gone for 10 currently; that is to say, only 24 decay ticks would occur. Modifying that setting would also not otherwise affect core decay rates; only players returning to the game or to an unloaded chunk. It should also fix this issue of it being a total crapshoot as to whether your food will still be in your inventory when you log in, as the current setting makes it a game of boom-or-bust russian roulette on your food depending on how long you've been gone if you happen to be in a warmer area... yet it would still maintain a reasonable semblance of regular decay. Otherwise, why not just turn decay protections completely off? Given the math, I don't feel there's anything rational behind the current default value of 24 days, where food is completely disappearing after 8 hours in real life, but then would have been totally okay after 12... but that's simply my opinion.

:)

InsaneJ
2nd February 2016, 22:11
Thank you for investigating the decay mechanic more closely.

If I understand you correctly it would seem that by fixing a bug the TFC devs have introduced strange and perhaps unintended behavior. Correct?

We could perhaps try to work around it by changing config options. But it seems to me that as long as there is a situation where decay stops accumulating and switches from completely destroying food to rewarding players for playing less, that is not something anyone should want.

Would you mind bringing this up on their support forum? If this was not intended they may release another update for this.

TheRealPoker
2nd February 2016, 23:18
Bah, I said 24 hours and meant 24 days - why did they both have to be 24? Perhaps that's how they came up with the figure in the first place:-)

The other thing that makes it a lottery is the server time stops when no-one is on, so even if you've been gone a day irl, you could still be under 24 game days and get hit with an unprotected decay rate.

DOM
2nd February 2016, 23:21
While American Truck Simulator DLs/installs I will run their code through MATLAB and make some nice graphs.

EDIT: Install finished before I could get the code running. I will get it thrown together tomorrow and run parameter sweeps. This may help us show the issue.

LarsonPacific
3rd February 2016, 01:13
Thank you for investigating the decay mechanic more closely.

If I understand you correctly it would seem that by fixing a bug the TFC devs have introduced strange and perhaps unintended behavior. Correct?


Yes, that's basically what it boils down to. They fixed the decay rate so things are decaying properly in all conditions as intended, but now have created an acute lottery effect with the decay protection mechanic that rewards players for being offline longer.

From the TFC Wiki on Food:
This also means that items in environments that do not tick properly (such as on the ground, or in other mod's containers) will instantly update and make up the lost decay as soon as it enters a player's inventory. For example: A player kills a pig, and then walks away so that the items are in unloaded chunks. The player returns a few [in game] weeks later to pick up the pork that did not despawn because the chunks were unloaded. As soon as the pork enters the player's inventory, it will rapidly make up for the lost time, quickly decaying until it disintegrates in the player's hands.

From that excerpt on decay, it would seem like the random complete disintegration depending on the time the player picks up the pork is indeed intended. In that example, if the player comes back four in-game weeks later instead of three to collect the pork, still only 24 ticks of decay would appear instead of it disintegrating in the players hands. In essence, they have simply arbitrarily chosen a lottery date, where if you leave food long enough, it will last indefinitely. Since it was chosen arbitrarily, I doubt they would bother changing it, and just say if we don't like it, change the option they have provided to do so.

If we were to change the lottery date to six in-game days, the pork on the ground in the example would probably still be okay when picked up, taking at most ~50% decay, though I really don't see anyone consciously attempting to exploit this behavior. XD Nor do I forsee a town telling people to make sure to collectively wait six in-game days between refrigerator visits so the food gets ticked less... it would just be too inconvenient to be remotely worth it. So in essence, reduction of the value wouldn't really provide any other player benefit other than just limiting the lottery effect of the mechanic which currently rewards players for longer periods of inactivity...

Dourne
3rd February 2016, 07:47
Well said LP.

I choose this community/server/HappyDiggers in general because it was the first TFC server i found. I was looking because I've been playing games for over 20 years now on the computer and have learned solo play is for learning and multiplayer is for the fun and interaction with others. I love the people and rules. I've been off the server because of this 'trivial' issue. Decay by no means breaks the game and forces a new set of rules upon everyone. i choose the easy approach and to try something new. I've been on technode for a couple days now. same ole grind, same issues but i get to keep my food.

i would like to see LP's idea at least considered. He is a great ambassador for HappyDiggers and the server. I will be back and may take up Ark again while dabbling in Technode and assisting in HC.

learning can be fun in solo. learning with others, even better and more enjoyment that makes you take days off work to get more of it. I know nothing about servers, maintenance or otherwise, but i did notice the HC population rise considerably to only drop back down again. i look forward to this community growing bigger.

Heptagon_ru
3rd February 2016, 08:05
As I understand, keeping food in fridge with temp below zero keeps the food without much decay.
So now you need to tp to fridge before logoff so later when you login the accumulated decay will be much less and food don't disappear in your hands.
And after login do not tp to your warm base right away, let all the accumulated ticks bring the decay while you are still in cold climate.
Same for the case when you tp to grab some food from the fridge.
This seems to match my experiments.

InsaneJ
12th February 2016, 20:57
Thanks for reporting this issue on the TFC forum LP :)

It looks that you got the response from Kitty that you expected. They're not going to do anything about it and instead recommend changing the config.

Do we want to change the config? And if so, how?

LarsonPacific
16th February 2016, 09:04
Thanks for reporting this issue on the TFC forum LP :)

It looks that you got the response from Kitty that you expected. They're not going to do anything about it and instead recommend changing the config.

Do we want to change the config? And if so, how?

I think decayProtectionDays=6 would be a good starting point. It allows for decay of food normally for food in players' inventories and in chunks loaded at least every ~2 real life hours, exactly as it does now, but should mitigate the lottery effect. If a player butchers a pig and logs off for an hour to eat, they will still get normal decay, but if they go to bed or work and log back on 8 hours later, they should be able to reliably pick up where they left off, which I think is reasonable. It basically will just treat players as being "in the game" for ~2 hours after logoff, instead of the current ~9 before applying the decayProtection mechanic, which given the playing habits of the regular players on the server, is a more reasonable figure... as I've not observed that when the average regular player logs out on HD, that it will "be at a minimum of 12 if not 18 hours before they log in again"

Am not sure where they came up with that number... but it sure wasn't here :P

InsaneJ
16th February 2016, 09:22
It's because the TFC devs never really tested their mod on any serious server. Way back when we were running TFC on Minecraft 1.6.4 I offered them anonymous access to our server so they could get information from a heavily (30-ish) populated server with Opis running to see what players actually do and how this impacted server performance. They just didn't care. Which means we'll have to do what we've always done: make due with what we've got :)

I've changed the configs of all the TFC servers:

I:decayProtectionDays=24
to
I:decayProtectionDays=6

Thanks again :)

Dourne
19th February 2016, 07:02
cool thanks for the update. Looking forward to the new servers.

LarsonPacific
24th February 2016, 18:39
I finally found the bug!! :D :D :D

http://terrafirmacraft.com/f/topic/9117-food-decay-russian-roulette/

Turns out that due to this bug, decayProtection actually hasn't even been working... at all... ever. The decay truncation bug, along with low temps, was the only thing protecting food.

There will be a new release to fix it though! Hopefully it, along with the lottery mitigation config edits, will spell the end of this thread that will not die :p :)

TheForestHermit
26th February 2016, 19:48
Dude LP! You are brilliant!
I see Kitty isn't thrilled and may fix it by the end of March, but the awesome news is the other technically minded gent there is the TFNC coder. so technode will probably be fixed and shiny by the time servers launch.
*does a little happy dance in her chair*

But no seriously. For someone who 'doesn't speak Java' that was some brilliant deductive investigation on your part.

Dourne
26th February 2016, 19:55
you da man LP!

LarsonPacific
26th February 2016, 20:09
Thanks Hermit :) I read that block of code sooooo many times; then finally it just hit me like a brick. lol Been staring right at it the whole time...

I just compiled TFC from source, replacing the line of code in question, and decay protection then works exactly how it's supposed to :D After actually testing it in action, using decayProtectionDays of everywhere between 1 and 24, 6 is still the best number as I see it to mitigate the lottery effect.

And thanks again J for making that config update :) Between that and the upcoming update, we should be good again!