Jump to content

World Seeds Mod! - Generate worlds with custom world seeds


Recommended Posts

  • Developer

I have been hard at work implementing a highly requested feature, world seeds!
now you can set world seeds from the world gen options screen, and generate the exact same world over and over again.

Here is the rundown on world seeds:
Forest and Cave worlds can have unique seeds; you can set world seeds before generating your world/view existing world seeds here:worldseeds.thumb.png.22093cbd190f68985c6e7a23e7cfbb7b.png

Sadly, due to a(now patched) bug, worlds generated on versions before Game Update 369546 cannot be reproduced with world seeds.
To let you know if this is the case, worlds generated before that version will show you this:
image.png.1c148635e1ae6de45ea88cffccd91fe7.png 

You can still view the world seed by viewing the debug console log(hitting the tilde key (`) which can generally be found right below the "Esc" key)
But, you won't get an identical world when using that seed.
image.png.46978fa961756ab19acd884ab92f295f.png

Inside the world, the server actions menu(that can be accessed by holding tab) has a new option:
image.thumb.png.75e6179b3d694bdb9dc61ef890557237.png

This option will cause the world to generate anew, but using the exact same seed as the current world.
This will generate an identical world except under the following conditions:

  • The world was generated before Game Update 369546.
  • Worldgen has been updated since you generated that world(either a mod or a game update)

Regenerate World will cause a new random seed to be used.
It's not currently feasible to allow you to enter a custom seed from that menu when regenerating a world, sorry.

World seeds should be compatible with all worldgen mods(obviously, when you generate a world with a worldgen affecting mod, the seed will result in a different world than the exact same seed generating a world without any worldgen mods), if ever a mod doesn't generate an identical world, tell me about it, and I can work with the mod creator to fix it.

For dedicated servers to specify a custom seed, simply add an override called worldseed and set it to be your custom seed.

To get this mod, subscribe to [API] Gem Core, it has been bundled inside there since it uses about 17(I'm exaggerating, but it does use a lot) API features, so I figured I should just roll it out inside Gem Core. After enabling the mod, go to the Forest/Cave tabs to set the world seed.

Lastly, a huge thanks to Scott Hansen for helping me get the necessary fixes into the game itself, and helping me figure out worlds seeds better.

Link to comment
Share on other sites

  • Developer
4 minutes ago, Zeklo said:

It's gonna be somewhat difficult to gain new traffic from people looking for a World Seed mod if it's bundled with Gem Core. 

Other than that, looks great!

I didn't want to make people download another mod, (not when I already had to design several gem core features just for it), but yeah, it probably won't be as visible as a new mod.

2 minutes ago, Leonardo Cox said:

Zark's world conquest to get everyone to download Gem Core continues.

It wasn't quite like that, its that or making a second(very small) mod that everyone would have to download anyway.

Just now, KainMorgen said:

Great mod!
Are strings supported as worldseeds too?

yup, strings get hashed using this hash function: 

 

Link to comment
Share on other sites

sounds like something that should be in the game anyways

although , adding it onto an existing mod means it's not going to get any real publicity outside of this single forum post . since it's not going to get a front page opportunity while merged with a mod that already has lost its relevancy in the workshop search algorithm . so this is dead on arrival

was mildly interested at first , but seeing that it requires you to download this other mod that does a bunch of complicated nonsense that can't even be explained on the mods own steam page ; nah

Link to comment
Share on other sites

  • Developer
15 minutes ago, mirrormind said:

although , adding it onto an existing mod means it's not going to get any real publicity outside of this single forum post . since it's not going to get a front page opportunity while merged with a mod that already has lost its relevancy in the workshop search algorithm . so this is dead on arrival

I wouldn't say a mod with a userbase of 185k users means zero publicity, maybe not just new user publicity.

10 minutes ago, mirrormind said:

was mildly interested at first , but seeing that it requires you to download this other mod that does a bunch of complicated nonsense that can't even be explained on the mods own steam page ; nah

it shouldn't be explained on the steam page, cause with the exception of world seeds, nothing else in this mod will do anything by itself.
99% of this mod is intended for other mods to take advantage of features provided, and therefore isn't needed to list on the mod page(you can check the gitlab wiki for information on the features as a developer). also, even if it was seperated, this mod would still be required, Gem Core's featureset does 99% of the legwork for world seeds, the other 1% would have made it into a mod that required Gem Core.

Link to comment
Share on other sites

great work :)

But if you already got the devs to fix/include the relevant seed code to the game, why didnt the devs added your (eg UI) code to the game itself, so no one needs a mod for that? (since there are also many people who always play with 0 mods)

Link to comment
Share on other sites

  • Developer
10 minutes ago, Serpens said:

great work :)

But if you already got the devs to fix/include the relevant seed code to the game, why didnt the devs added your (eg UI) code to the game itself, so no one needs a mod for that? (since there are also many people who always play with 0 mods)

Atleast for the moment, they weren't interested in that...

Link to comment
Share on other sites

53 minutes ago, Zarklord said:

Atleast for the moment, they weren't interested in that...

tfw Minecraft has more convenient options to allow the player more freedom to change various things while DST has barely anything other than the bare minimum and weird things like "Wigfrid's Umlauts" :wilson_cry:..

Link to comment
Share on other sites

Yeah, useful option to have - in lack of one from default WorldGen (good thing there's a toggle option for "Wigfrid's Umlauts", talking about priorities :roll:) - yet as some stated, because of that "subscribe to 2 at the price of 1" Gem Core API forced-bundle, sadly is a pass from me as well. Will wait 'till WorldGen gets some love, presumably after all "Return of Them" DLC goes live.

Spoiler

waiting-for-worldgen-update.png.c2d5739bb3169f724e1ec62e53e72f59.png

 

Link to comment
Share on other sites

  • Developer
1 hour ago, Viktor234 said:

Is it actually possible to get the world seed of any world or do you need to be the admin of the world & have the Gem Core mod to ask the world seed?

You can get the seed by doing print(TheWorld.meta.seed) regardless of admin(inside the game world).

Link to comment
Share on other sites

I just tried the mod by making a world without mod, asking the seed, and making another world with the same seed, and I got the same world again. Worked as intended.

But if I ask the World Seed of a Klei Official Server World and try to replay that world, I get a totally different world.

 

Example: World seed 1569731226:

Klei Official:

Spoiler

image.thumb.png.d1810affc30b08a164ecc3ebb372dcd8.png

My Server:

Spoiler

image.thumb.png.51e92d7bbc616b8dfbe4a8cf0d3c85df.png

 

Is there any way to fix that bug and to get the world I want to play? Or are Klei Servers just different for now?

It's not like I want to cheat a server by unrevealing the whole world (that's already doable without making another server as you can see), I just found a nice world on a Klei Official Server which I would like to replay.

Link to comment
Share on other sites

  • Developer
7 hours ago, Viktor234 said:

11/11 Klei Official servers were regenerated today: It shouldn't predate the patch at all, unless Klei didn't update their servers.

you could check that by doing print(TheWorld.meta.build_version) and if its greater than 369546, then it should generate correctly...
it's also possible that they have done the thing I want to mod back in, which is modding backing the pre patch behavior(where world seed didn't completely determine what your world looked like), so that you can have "Truly Random" worlds for dedicated servers to prevent people from copying the world seed like you were attempting to do.

 

Link to comment
Share on other sites

@ScottHansen Can you confirm that the Klei Official Servers do not publish their world seeds or aren't updated yet and thus contain wrong world seeds?

It it's the 1st case, give a statement why it's that case. Some players want to enjoy worlds, and worlds with a really nice generation are worth it to be shared. It's completly unnecessary to cheat a world by copying the world seed, making your own world, scanning the whole world, and returning to the Klei Official World. Klei Official Worlds regenerate about once a day, and according to this topic, it's already possible to unreveal the whole world as client.

Another case is the fact that the developers could fix world bugs easier if they get the right world seed, since they can just reproduce 1:1 the same world generation and track the buggy generation down.

Link to comment
Share on other sites

  • Developer
2 hours ago, Viktor234 said:

@ScottHansen Can you confirm that the Klei Official Servers do not publish their world seeds or aren't updated yet and thus contain wrong world seeds?

It it's the 1st case, give a statement why it's that case. Some players want to enjoy worlds, and worlds with a really nice generation are worth it to be shared. It's completly unnecessary to cheat a world by copying the world seed, making your own world, scanning the whole world, and returning to the Klei Official World. Klei Official Worlds regenerate about once a day, and according to this topic, it's already possible to unreveal the whole world as client.

Another case is the fact that the developers could fix world bugs easier if they get the right world seed, since they can just reproduce 1:1 the same world generation and track the buggy generation down.

It occured to me probably why it doesn't work.
I'm pretty sure the klei servers run on linux, and probably PROBABLY seeds are os dependant.

Link to comment
Share on other sites

  • Developer
2 hours ago, Viktor234 said:

@ScottHansen Can you confirm that the Klei Official Servers do not publish their world seeds or aren't updated yet and thus contain wrong world seeds?

It it's the 1st case, give a statement why it's that case. Some players want to enjoy worlds, and worlds with a really nice generation are worth it to be shared. It's completly unnecessary to cheat a world by copying the world seed, making your own world, scanning the whole world, and returning to the Klei Official World. Klei Official Worlds regenerate about once a day, and according to this topic, it's already possible to unreveal the whole world as client.

Another case is the fact that the developers could fix world bugs easier if they get the right world seed, since they can just reproduce 1:1 the same world generation and track the buggy generation down.

We are not doing anything intentional to prevent copying and reusing the seeds from our dedicated servers. Presumably, the worlds on our dedicated servers have regenerated a few times since the last hotfix went out so I would expect it to be working. At this point it should be considered a bug.

Link to comment
Share on other sites

  • Developer
1 hour ago, JackJohnsn said:

Ok so... what if I use world A's cave seed and world B's forest seed? Does it work? If it does, how would the sinkholes connected?

that works.
sinkholes have an id 1-10, which links to the other sinkhole with the same id.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...