Caves does not regen when ChooseTranslationTable is used in modinfo (tested and reproducible)


Cheeto-Jesus
  • Pending

I work on a worldgen mod, and with my recent implementation of multi-language support, I've noticed that features break on MacOS (Big Sur 11.3 on a Macbook Pro 15" 2017). I've always known the mod to be a little rough sometimes, but now I noticed something that causes the world to not start up entirely; as the main addition (in terms of new code) was from ChooseTranslationTable, I think this might be a problem that comes with that function, after we run through "regenerate world".

What the problem is:

1. I generate world with my worldgen mod. Everything is alright. I used map reveal to show that there are yay many setpieces in the world.

2. Since it was a demonstration, I press the "regenerate world" button to show how I "reroll" a world for potentially better worldgen. While the world regenerated, I notice that the caves crashed (meaning that the shard closed down its application thread; see "system crash logs.txt") while the world was being generated, but for some reason, the world still got me to the character select screen. No biggies, I thought. "The caves shard is just broken, but I've seen it regenerate before. "

3. I was able to showcase that the world did have a lot of features, and then I tried demonstrating what could happen once I disconnect, rollback to character-select state, and have a normal playing experience with the map un-revealed. However, I was unable to get the server started. The caves kept crashing. The world wouldn't start in the 3 times I've tried afterwards.

Now normally, since I am lazy, I think the quick fix is to just delete those broken worlds and try again. But I think that it's a pretty terrible idea to do that as the modder, but I also lack the resources to figure out if this is a game bug issue or if it's something on my end. Since the code I've written seems to be pretty correct and minimal, I feel that it may be helpful/relevant if I ask you guys to see if this could potentially be a system thing.

Log Files are repeated in the Log Files section.

 

Mods I've used in that world: Setpiece Config Revisited (created this mod with a friend), Global Pause, [API] Gem Core, Map Revealer for DST, Force Biomes (Cave Swamp off, Rabbit and Spider War off, Cave Jungle off; this is for context in case something there that broke things). 

The client log is relevant to the bugged world up to around the 00:17:35 mark. I've zipped up the cluster, and also zipped up the mod in question. The "modinfo alt.lua" shows what the settings could have looked like without using ChooseTranslationTable.

 

All the changes I've made only amounted to implementing ChooseTranslationTables and some options for rare or DS setpieces to spawn; yet, the stability of this mod was drastically changed compared to before. I think there might be something happening more behind the scenes.

 

client_log copy- problems were up to 001735 I think.txt system crash logs.txt Cluster_28.zip Setpiece Config Revisited.zip


Steps to Reproduce

1. Using Setpiece Config Revisited, generate a world; then, regenerate the world through the in-game menu (by pressing esc button). 

2. May take time and chance but errors may happen, and the caves process might quit itself. Semi-common occurrence in my opinion and observations. If no errors occur, repeat step 1 with a fresh world. (I've had errors very frequently however so I feel like it's almost a given that caves shard would crash.)

3. If we exit out of the world after it's been regenerated, and rollback to day 1 (earliest possible save), the server will no longer start.

 

To see difference:

0. In the zipped mod above, rename "modinfo alt.lua" to "modinfo.lua", and observe that the bugs disappear when we try steps 1-3 from above. The only difference between the two different modinfo's is the ChooseTranslationTable, hence my belief that the bug is located there for some reason.

 

OR, better yet, load in the zipped caves file on a Big Sur mac. Try turning it on on DST, and see what errors happen. Something in the logs keep talking about nullrenderer, and I've encountered that issue before too while I was testing the mod.

  • Like 1


User Feedback


The problem (world not starting after I regenerated world, had caves crash on me, then rolled back world to character-select),  occurred again while I was testing the server out with just Setpiece Config Revisited, and Map Revealer mod. The caves crashing and causing the system to not be able to spin up the game world has not occured to me in the past, so I have suspicions that it may have to do with ChooseTranslationTable.

client_log.txt

Share this comment


Link to comment
Share on other sites

Note: upon further testing, I’m pretty certain that the problem comes from ChooseTranslationTable. Switching the “modinfo.lua” with contents from “modinfo alt.lua” with the steps outlined above would show that caves crash upon regenerating the world. It works the first time, but causes the world to be unable to start once we regenerate the world, log out, and attempt to log back in again.

Share this comment


Link to comment
Share on other sites

Bumping for visibility. The errors are reproducible. I think the bug isn't well-known because not enough mods use ChooseTranslationTable yet.

image.thumb.png.4ffd78e4d9c5749f8425a819f4950178.png

Attached image above for crash reference. Similar files are found under "system crash logs.txt".

Edited by Cheeto-Jesus

Share this comment


Link to comment
Share on other sites

Bumping again for obscure bug on ChooseTranslationTable. I totally get that you guys are swamped right now with other bugfixes though. Be well : ) 

If I have time (and this is not a definite), I might provide video walkthrough on how to replicate bug. The above instructions should be enough to find it though, and using the alternate modinfo.lua would show that the malformed-caves-prevents-server-startup-when-world-is-regenerated-and-rollback'd bug doesn't exist on the version without ChooseTranslationTable implementation.

Share this comment


Link to comment
Share on other sites

Bug discovered by users. Will very possibly be rolling back to drop multi-language support, to make sure that the worlds do not experience instability. I hope this issue gets fixed at some point in time, because otherwise this change would impact a huge number of people (estimated 5,000-10,000 Chinese users) without good reason.

Discussion made here, linked back to this post: https://steamcommunity.com/sharedfiles/filedetails/?id=2012031749&tscn=1625063820

Edited by Cheeto-Jesus

Share this comment


Link to comment
Share on other sites

Here to note again, that the "world cannot start" error is also encounterable when world generation gets stuck, user quits out of it, and then attempts to enter the world again. I want to further note that this has never occurred when ChooseTranslationTable isn't in use, and when we switch to a non-ChooseTranslationTable implementation of modinfo.lua (which is also in the zip file given above), the error does not happen.

The mod has been stable for the last year or so since it's been out, since it runs on base-game prefabs and implementations. In previous instances, all of the procedures described in this post would've resulted in the world being generated and capable of being entered again at a later time. Something about ChooseTranslationTable really messes with stability, and I suspect that it might be the same error behind other multi-language mod problems.

Share this comment


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