Jump to content

Caves are live now, mod issues?


Recommended Posts

  • Developer

Hey everyone,

 

Now that the caves beta branch (minus gifts and clothing) has gone out live to everyone playing DST, you may get new reports of bugs with your mods. While we try to ensure that the mod api isn't changed and continues to function as you expect, anything that is relying on the internals of the game's lua could run into issues. With a change as this caves one, there will inevitably be some conflicts.

Please let us know what issues pop up and we can discuss what changes should be made to get your mod back up and running again!

Thanks and enjoy the spelunking!

Link to comment
Share on other sites

  • Developer

@Maris, no worries, thanks for reporting it.

The mod uploader gets the version of the mod from the workshop item tags (which is known to not be that robust), so if something fails in getting the tags, then would be able to do the version change verification. 

If you see anything else strange like that, please let me know!

Link to comment
Share on other sites

I'm having an issue with my Mod called The Chester Family under the modworldgen.lua file.

 

I have attatched a screenshot of what it says to me. I've disabled other mods and get this same issue. I also noticed in my log file with the other mods enabled, it looks like most of my mods (any with a custom character) seems to have barfed all over themselves.

 

My entire mod has been attached as well.

 

Please leave me little notes in the code as well, I am still learning. I'd like to make a special chester family member available to follow you inside or outside of the caves named Cavester, who glows in the dark.

log.txt

post-585172-0-61257500-1448133834_thumb.

chester family.zip

Link to comment
Share on other sites

I get a bug (If iam not the Host (But works with hosted dedicated server)) where I have more health then the maximum health and also I have already unlocked blueprints even if the world is freshly generated.

Noticed: It is a REALLY strange bug, sometimes I get new blueprints unlocked...

post-584080-0-15353500-1448194835_thumb.

Link to comment
Share on other sites

I get a bug (If iam not the Host (But works with hosted dedicated server)) where I have more health then the maximum health and also I have already unlocked blueprints even if the world is freshly generated.

Noticed: It is a REALLY strange bug, sometimes I get new blueprints unlocked...

 

What mods do you use? Have you tried disabling some mods?

Link to comment
Share on other sites

I would like to report a bigger problem we have found together with other modders.

Currently many of the mods, that worked fine before the update, are causing server crashes.

This is not happening because the mods might be conflicting with other mods, no it is a standalone problem with every mod that uses the "mysterious" function that causes this to happen.

 

Let's go:

Mod "Craft Loot Run" produces this kind of error http://pastebin.com/FzHXY7r3 as the mod implements a feature where items can drop when mining boulders, trees, buildings etc. I updated the mod, but left the faulty code commented in if any dev wants to take a look. The server crash happens when, for example a boulder is being mined and the code triggers by trying to drop custom loot, but can't because the item was mysteriously destroyed before it reached the "reality"

 

Mod "Birds and Berries and Trees and Flowers for friends" produces simillar issue. Error http://pastebin.com/hiHXf7VZ . The mod implements, among other things, custom trees and pineapple bushes and the crash occures when you try to dig up the pineapple bush for example.

 

There are other mods as well most likely, but i haven't had the time to grab error logs from these, but the crash works similarly.

 

Is a function changed radically in a code somewhere on Klei side or what exactly is going on because a lot of modders are puzzled over this issue.

Thanks in advance! (and thanks for the Caves, hopefully the bugs can be ironed out and people can actually play for a little while without being stuck forever on 1 gameday as of the crashes all the time)

Link to comment
Share on other sites

Disregard Kooky's post I have found the problem.

I changed line 136 to

local tasklist = require("map/tasks").sampletasks

 

While this might work, it actually shouldn't work at all because that file is not returning anything for you to have access to. It's creating a global variable at the end of the file called 'tasks'; for this to actually work means that something is bugged.

 

Apparently this changed on November 20th update.

 

 

I would like to report a bigger problem we have found together with other modders.

Currently many of the mods, that worked fine before the update, are causing server crashes.

This is not happening because the mods might be conflicting with other mods, no it is a standalone problem with every mod that uses the "mysterious" function that causes this to happen.

Let's go:

Mod "Craft Loot Run" produces this kind of error http://pastebin.com/FzHXY7r3 as the mod implements a feature where items can drop when mining boulders, trees, buildings etc. I updated the mod, but left the faulty code commented in if any dev wants to take a look. The server crash happens when, for example a boulder is being mined and the code triggers by trying to drop custom loot, but can't because the item was mysteriously destroyed before it reached the "reality"

Mod "Birds and Berries and Trees and Flowers for friends" produces simillar issue. Error http://pastebin.com/hiHXf7VZ . The mod implements, among other things, custom trees and pineapple bushes and the crash occures when you try to dig up the pineapple bush for example.

There are other mods as well most likely, but i haven't had the time to grab error logs from these, but the crash works similarly.

Is a function changed radically in a code somewhere on Klei side or what exactly is going on because a lot of modders are puzzled over this issue.

Thanks in advance! (and thanks for the Caves, hopefully the bugs can be ironed out and people can actually play for a little while without being stuck forever on 1 gameday as of the crashes all the time)

 

Culprit for this is inst:Remove() should be called after all loot has been spawned. Make sure you drop the loot then remove the instance for the item.

Edited by Kzisor
Link to comment
Share on other sites

  • Developer

@Metroite, thanks for posting the issue. Have you isolated the issue to a single mod? If you have tracked it down to which mod is causing the problem, then that will help us track down if it's an issue with the game, or an issue with the mod.

 

Thanks!

Link to comment
Share on other sites

  • Developer

Hey @DejaVuZXY, thanks for posting the issue!

We've looked into the issue, and this is currently being caused by an assert we added to track down when GetPosition is getting called on an entity that has already been destroyed. The assert will eventually go away, because of the performance cost, but it's an indication that something is going wrong in the mod code (and will eventually give you incorrect positions).

As @Kzisor, found out with his Digable Reeds mod, the likely issues are cases where you're calling inst:Remove before you're done actually using the instance. Which I believe was most likely a consequence of mod code that was copied from now-incorrect game code.

 

I looked though "Craft Loot Run", and on the surface it appears to be correct. Are you still seeing issues with this mod?

 

"Birds and Berries and Trees and Flowers for friends" still appears to have issues though. In appletree.lua, in dig_up_stump the code is calling Remove on the inst, before the loot is spawned.

local function dig_up_stump(inst, chopper)	inst:Remove()	inst.components.lootdropper:SpawnLootPrefab("log")end

@ProfFarnsworth, have you looked into updating your mods so that the calls to Remove happen after?


 

 

 

Link to comment
Share on other sites

Hey @DejaVuZXY, thanks for posting the issue!

We've looked into the issue, and this is currently being caused by an assert we added to track down when GetPosition is getting called on an entity that has already been destroyed. The assert will eventually go away, because of the performance cost, but it's an indication that something is going wrong in the mod code (and will eventually give you incorrect positions).

As @Kzisor, found out with his Digable Reeds mod, the likely issues are cases where you're calling inst:Remove before you're done actually using the instance. Which I believe was most likely a consequence of mod code that was copied from now-incorrect game code.

 

I looked though "Craft Loot Run", and on the surface it appears to be correct. Are you still seeing issues with this mod?

 

"Birds and Berries and Trees and Flowers for friends" still appears to have issues though. In appletree.lua, in dig_up_stump the code is calling Remove on the inst, before the loot is spawned.

local function dig_up_stump(inst, chopper)	inst:Remove()	inst.components.lootdropper:SpawnLootPrefab("log")end

@ProfFarnsworth, have you looked into updating your mods so that the calls to Remove happen after?

 

 

Whoopsy! :)

 

No I still can't see my own server, but once I can, OH BOY! I'll look at changing these lines for all items.

 

Thanks for the heads up!

Link to comment
Share on other sites

Hey @DejaVuZXY, thanks for posting the issue!

We've looked into the issue, and this is currently being caused by an assert we added to track down when GetPosition is getting called on an entity that has already been destroyed. The assert will eventually go away, because of the performance cost, but it's an indication that something is going wrong in the mod code (and will eventually give you incorrect positions).

As @Kzisor, found out with his Digable Reeds mod, the likely issues are cases where you're calling inst:Remove before you're done actually using the instance. Which I believe was most likely a consequence of mod code that was copied from now-incorrect game code.

 

I looked though "Craft Loot Run", and on the surface it appears to be correct. Are you still seeing issues with this mod?

 

"Birds and Berries and Trees and Flowers for friends" still appears to have issues though. In appletree.lua, in dig_up_stump the code is calling Remove on the inst, before the loot is spawned.

local function dig_up_stump(inst, chopper)	inst:Remove()	inst.components.lootdropper:SpawnLootPrefab("log")end

@ProfFarnsworth, have you looked into updating your mods so that the calls to Remove happen after?

 

 

With help i got my mods code sorted out. I don't know which version of the code you saw before, the broken one or now the fixed one, anyway it's working.

 

(a bit off-topic but...)

While i got a shard of your attention here (perhaps people will see what i just did there) i would also like to know if you're adding more options to worldgenoverride to be able to make other prfeabs renewable as well? Currently a LOT of things like Ancient Guardian, different statues, clockwork monsters etc etc etc are not renewable and in Wilderness servers that becomes a huge issue.

I have been using "Fix Multiplayer" mod for the resource renewal code and i love the method used there, unfortunately that part of the mod is not working very well and/or occasionally causes crashes. My dream would be to see a proper way to be able to make EVERY single prefab renewable. (and i can't stress that enough... every single one, the ones not needed for renewal can be configured not to then)

That said, Wilderness servers start lagging eventually when certaint prefabs overrun the place, may they be monsters or items or whatever else. Which means there should be some method that would clean up items left on the ground after X (configurable value) amount of days, same goes for monsters, there should be an option to set a configurable limit to these.

 

ALSO, there is a bug with monkey, i don't have the error log anymore, but basically i think it happens when they start turning into shadowmonkeys.

 

Nevertheless, good job on the caves, absolutely love it.

Link to comment
Share on other sites

  • Developer
While this might work, it actually shouldn't work at all because that file is not returning anything for you to have access to. It's creating a global variable at the end of the file called 'tasks'; for this to actually work means that something is bugged.


That's actually changed, so the correct fix now is what @afetogbo posted.
Link to comment
Share on other sites

  • Developer

(a bit off-topic but...)

While i got a shard of your attention here (perhaps people will see what i just did there) i would also like to know if you're adding more options to worldgenoverride to be able to make other prfeabs renewable as well? Currently a LOT of things like Ancient Guardian, different statues, clockwork monsters etc etc etc are not renewable and in Wilderness servers that becomes a huge issue.

I have been using "Fix Multiplayer" mod for the resource renewal code and i love the method used there, unfortunately that part of the mod is not working very well and/or occasionally causes crashes. My dream would be to see a proper way to be able to make EVERY single prefab renewable. (and i can't stress that enough... every single one, the ones not needed for renewal can be configured not to then)

That said, Wilderness servers start lagging eventually when certaint prefabs overrun the place, may they be monsters or items or whatever else. Which means there should be some method that would clean up items left on the ground after X (configurable value) amount of days, same goes for monsters, there should be an option to set a configurable limit to these.

 

ALSO, there is a bug with monkey, i don't have the error log anymore, but basically i think it happens when they start turning into shadowmonkeys.

 

Nevertheless, good job on the caves, absolutely love it.

The shadowmonkey thing will be fixed in the next release, thanks. :-)

Concerning world renewal. As you may know there are some initial renewal features in the game, but we've just brushed the surface. The reason is, Don't Starve is all about certain kinds of scarcity. We've also tried to make the world very coherent within Maxwell's twisted image. Because of those two things, we're definitely not going to just periodically respawn everything. (It's important to us that if you destroy your world, it's destroyed! Otherwise what does anything matter at all?)

But that said, we've begun down a road of making things renew in ways that are thematically consistent and still make sense for gameplay. Many of the plants renew themselves, either by growing back in place or producing offspring -- because that's what plants do. For the rocks, we added the meteor showers, as something that's very periodic and noticeable, but carries some risks for the player as well. This is the kind of direction we're going to continue going down.

HOWEVER, if for your own worlds you just want everything to respawn, you can look into the way carrots and evergreens work (regrowthmanager and plantregrowth components). Regrowthmanager is really easy to add new regrowth types to (don't forget to set up the prefabs!) but plantregrowth is a little weird for modding...

Although we have some other priorities at the moment, if there are particular resources which naturally become very sparse late game, it's good to bring it up so we can focus on those ones first.

And to your other point, we also have plans to "clean up" long running worlds as well, but again it just hasn't been the most important thing yet. We are worried about it though!

Hope that helps!

Link to comment
Share on other sites

The shadowmonkey thing will be fixed in the next release, thanks. :-)

Concerning world renewal. As you may know there are some initial renewal features in the game, but we've just brushed the surface. The reason is, Don't Starve is all about certain kinds of scarcity. We've also tried to make the world very coherent within Maxwell's twisted image. Because of those two things, we're definitely not going to just periodically respawn everything. (It's important to us that if you destroy your world, it's destroyed! Otherwise what does anything matter at all?)

But that said, we've begun down a road of making things renew in ways that are thematically consistent and still make sense for gameplay. Many of the plants renew themselves, either by growing back in place or producing offspring -- because that's what plants do. For the rocks, we added the meteor showers, as something that's very periodic and noticeable, but carries some risks for the player as well. This is the kind of direction we're going to continue going down.

HOWEVER, if for your own worlds you just want everything to respawn, you can look into the way carrots and evergreens work (regrowthmanager and plantregrowth components). Regrowthmanager is really easy to add new regrowth types to (don't forget to set up the prefabs!) but plantregrowth is a little weird for modding...

Although we have some other priorities at the moment, if there are particular resources which naturally become very sparse late game, it's good to bring it up so we can focus on those ones first.

And to your other point, we also have plans to "clean up" long running worlds as well, but again it just hasn't been the most important thing yet. We are worried about it though!

Hope that helps!

 

Thanks for responding and for the clarification. I understand what you mean by the world being coherent, but as there are different game mods, i believe the games "philosophy" changes as well when new gamemod is played. I can't play on any other game mod than Wilderness as in those, people nearly always die and mapwipes are very often to happen, which means 80% of the game content can never be explored. The Wilderness i love but the issue with resources running out is a problem (in my head at least) as the late joiners have pretty much nothing to do in the game world anymore, it's hard to survive and half the game content has simply "depleted" from the world.

 

That said, i do like the direction you are going with this game and you have all done a great job. Once the game mechanics and performance issues get sorted out and server clustering is tweaked (easier and more flexible configuration, portal connecting etc), i think the game has huge potential of becoming something really amazing.

 

Again, good job!

Edited by DejaVuZXY
Link to comment
Share on other sites

Hmm, the next issue is mod related... and to get them in a working order... Anyway yesterday we were talking to another modder and he ended up pushing another update to his mod, then this happened (mod is "Fix Multiplayer"):

 

(This is dedicated server error log)

Failure error code received: 404
[00:00:17]: With Body: <HTML><HEAD><TITLE>Error</TITLE></HEAD><BODY>
An error occurred while processing your request.<p>
Reference #25.4e2c8343.1448433918.1c8ccb93
</BODY></HTML>

 

Remember this guys? I think it's back again!

 

So yes, i can't download his mod and any new mods that were published to workshop as of yesterday and perhaps maybe even day before that. All the other mods that have not received an update are downloading fine.

Clientside error log is this when trying to download a mod which you have subscribed to:

 

[00:00:28]: DownloadPublishedFileV2()
[00:00:28]: Did not find the ugc handle in the cache. This is likely because you're subscribed to a non-existent file 503889043
[00:00:28]: DownloadPublishedFileV2()
[00:00:28]: OnDownloadPublishedFileResultV2
[00:00:28]:    EResult 2, 400055014014527857
[00:00:28]: Failed downloading mod!
[00:00:35]:    EResult 15, 503889043
[00:00:35]: Failed getting mod details.

 

If you just want to talk to me then you don't have to go these lengths to get me report bugs... :joyous:

Link to comment
Share on other sites

A great thank for the bugs fix provided here. It's very very helpful.

 

 

 

But that said, we've begun down a road of making things renew in ways that are thematically consistent and still make sense for gameplay. Many of the plants renew themselves, either by growing back in place or producing offspring -- because that's what plants do. For the rocks, we added the meteor showers, as something that's very periodic and noticeable, but carries some risks for the player as well. This is the kind of direction we're going to continue going down.

 

Maybe some things could renew if the player do some actions in order to allow the process.

Like giving carrot to rabbit to make them reproduce (or fasten the process). (Rabbit are already renewable if i'm not wrong, it's just an example.)

 

Or you should make a empty beehive and release bee next to it in summer or autumn to hope they'll make a true beehive, but with the risk it became a wasphive.

Link to comment
Share on other sites

  • Developer
[00:00:28]: DownloadPublishedFileV2() [00:00:28]: Did not find the ugc handle in the cache. This is likely because you're subscribed to a non-existent file 503889043 [00:00:28]: DownloadPublishedFileV2() [00:00:28]: OnDownloadPublishedFileResultV2 [00:00:28]:    EResult 2, 400055014014527857 [00:00:28]: Failed downloading mod! [00:00:35]:    EResult 15, 503889043 [00:00:35]: Failed getting mod details.   If you just want to talk to me then you don't have to go these lengths to get me report bugs...
 

 

Are you still seeing issues with the mod downloading? I know that Valve was changing some servers on their side, so this may have been a temporary failure. I've tried reproducing the issue you're seeing but without any luck so far.

Link to comment
Share on other sites

 

 

Are you still seeing issues with the mod downloading? I know that Valve was changing some servers on their side, so this may have been a temporary failure. I've tried reproducing the issue you're seeing but without any luck so far.

 

 

Yes, it seems the issue is now solved.

Link to comment
Share on other sites

Hello guys!

My problem is i dont hear woodcutting sounds. It appears every time i enable ANY mod. I verified game cache but everything was ok

 

 

I get the same issue... but without mods. Really weird when this bug began for me because all I did was adjust some sound settings. I tried resetting back to default but that didn't work.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
  • Create New...