I started playing Minecraft in late 2012 (when 1.3.2 started). I vividly remember the first few survival worlds I had and would like to play on them again. Problem is I can't remember the seeds for them. And them worlds are long gone now considering I used to play them on one of my first computers. I was wondering if there was some sort of program that can search the seed history on a MC account so I can find the seeds for the first worlds I started?
The Meaning of Life, the Universe, and Everything.
Join Date:
8/20/2011
Posts:
231
Member Details
There's no reason why your Minecraft account would remember old world seeds, there is no "seed history". World data isn't kept as part of your account, it's all contained in the data files on your computer. It's true that if you play online with other people, then world data is transmitted back and forth as avatars move around and make changes to the world. But when you stop playing, all the world data is saved in local save files, not on the server.
Even if you could find the seeds for your old worlds, I think it's possible that you wouldn't be able to get your old worlds back again anyway. The world generation code in Minecraft has changed quite a lot since 2012, so old seeds may not generate the same scenery as they did back then.
Sorry, but I think you're just going to have to cherish your happy memories of 2012.
Ah that's no problem then haha. But just out of curiosity, when you say the generation code has changed. Does that include all the older versions of Minecraft including 1.3.2? So even if I did knew the seed and put it on that version will it not generate the same?
Ah that's no problem then haha. But just out of curiosity, when you say the generation code has changed. Does that include all the older versions of Minecraft including 1.3.2? So even if I did knew the seed and put it on that version will it not generate the same?
I just checked the Minecraft launcher, and to my surprise it does still list "release 1.3.2" as one of the versions which you can install. I've never checked back that far before! The world generation code has only changed in newer versions, so if you could install 1.3.2, and if there was some way of recovering your old seeds, then yes, you should see your worlds as they were back in 2012.
Ah then that's good to hear, thank you. If there isn't any way to dig up old seeds, I'll try manually looking for it. I know that may take a few years but I was wondering if it was actually possible to find a specific seed in this manner, and has anybody ever done it before? How many digits can a Minecraft seed (from 1.3.2) include? Just curious.
EDIT: I've heard something about the date and time on your computer can create the outcome of each seed.
Thiccilo, mathematically it could be possible to find a seed based on an existing world, but it would probably run forever to find just one on ordinary computers.
Problem is that even after finding it, you should play on that version, because when world generation algorithms change, you get discontinuities where the world generated in the previous version meets the chunks generated in the new version, and usually it's a very big mess.
Without the original world save files, there would be almost no way to randomly find a seed again, about all you might do is find a seed sort of like the one you had back then, but the exact one would be pretty much a statistical impossibility. I don't know offhand how big the seed can be, but I would guess a 32 bit or even 64 bit number, which are both really large, trying them all would take longer than the remaining lifetime of the universe I expect.
Now, if you entered a word or phrase as the seed, and can recall that, you can use the old version of the game from that time and enter the word or phrase again, and it should generate the same world as it calculates the seed based on what you entered. If you left the seed blank, it generates a random seed, and that might be based on the date and time, so it's theoretically possible to re-create a seed that way, but you'd need to know the exact date and time you created the original seed, down to probably the second or even 10th of a second, or even a smaller unit of time, and again, that would be almost impossible to re-create.
Rollback Post to RevisionRollBack
D_B
To tell them how to live is to prevent them living.
EDIT: I've heard something about the date and time on your computer can create the outcome of each seed.
This was only true for versions of Java prior to Java 5 (also known as Java 1.5, not to be confused with Minecraft 1.5), which was released long before Minecraft, which appears to require Java 5 at a minimum for any version (versions older than 1.6 can run on Java 5); since then there is no correlation between the system time and the world seed (the continued contusion may come from the fact that the RNG the game uses creates a random seed in part by using Java's "System.nanoTime()" function but the "time" returned by this function is basically just a count of CPU cycles or something since you started the JVM. This is also combined with another magic number which is different for every instance of Random, many of which have already been created by the time you create a new world, so even if two are created at the same instant they will have different seeds):
Time of generation
This is mostly theoretical. But if you were to generate a new Minecraft world, with a random seed, in a really old Java-version (e.g. Java 1.4.2), around Sun Jul 06 10492 04:47:30 GMT-0500 (Central Daylight Time), in the right millisecond it would get your seed. With Java 1.5 being released long before Minecraft existed, it is unlikely that this ever happened though. For your seed it's very obviously not true, looking at the date.
Thiccilo, mathematically it could be possible to find a seed based on an existing world, but it would probably run forever to find just one on ordinary computers.
It can be done in under a day with the help of GPU computing, even by the standards of hardware years ago, much less today:
However, it is in fact possible to discover any Minecraft world's seed with just a bit of exploration and about 8 hours on an average gaming graphics card [as of 2014].
This largely takes advantage of the fact that there are only 2^48 seeds that can be randomly generated, a factor of 65536 less than what you might expect due to Java's Random only using 48 bits (the 8 hours quoted would be 60 years if all 2^64 seeds had to be searched. Also, since only the biome map uses all 64 bits this means that even if somebody entered a seed which doesn't map to one that Random can generate (this even includes many text seeds) you could still narrow down the possibilities, and most such seeds will be one of 2^32 hashcodes from text; it is highly unlikely that anybody uses seeds which can't be randomly generated or obtained from a hashcode). However, this requires knowing the precise locations of structures; a general description of what the world looked like isn't enough.
Hello, you could check the recycle bin on the computer, as it could be their
ONE: OP changed computers.
TWO: Minecraft doesn't use the Windows recycle bin. When Minecraft deletes a world it is GONE.
Rollback Post to RevisionRollBack
There are no dangerous weapons. There are only dangerous people. R.A. Heinlein
If you aren't part of the solution, then you obviously weren't properly dissolved.
However, this requires knowing the precise locations of structures; a general description of what the world looked like isn't enough.
And that's the reason why I said it could run forever
Mathematics is just a bit precise, so if you feed incorrect data, it would give you incorrect results and so you would have to correct every single wrong detail and rerun.
If I remember well the thread you posted never published code and never said how much detail you need (it mentions that the world “must not be too small”) so I think it's an “attack” on some structure generated far from spawn. May I speculate it needs at least the position of two End Strongholds (or maybe just the portal)? That's assuming the thread assumption wasn't fake.
If I remember well the thread you posted never published code and never said how much detail you need (it mentions that the world “must not be too small”) so I think it's an “attack” on some structure generated far from spawn. May I speculate it needs at least the position of two End Strongholds (or maybe just the portal)? That's assuming the thread assumption wasn't fake.
You can find their code here (I found it by searching for their forum name); it claims that it now takes only 2 hours to search 2^48 seeds on a more modern GPU:
This tool performs the first phase of a brute-force search to reverse engineer a Minecraft world seed using a set of known feature or structure coordinates. This first phase identifies only the lower 48 bits of the 64-bit world seed, which govern the placement of various structures and features. The results of this search then allow for a second phase search to identify the upper 16 bits of the seed which govern biomes, terrain and everything else.
(the last part is actually incorrect - the biome map is the only part of world generation that uses the full 64 bit seed; everything else is indirectly affected at best; for example, the presence of trees is governed by the biome but two seeds with the same lower 48 bits will have the same trees, as well as terrain, ores, animals, etc where the biomes match, as seen in this example)
Also, the reason why they didn't release it for several years is because of the potential to exploit it by cracking the seed for servers which do not want to give it out - Spigot even gives you the ability to change the "magic" numbers which affect the locations of structures so they think it is a very real threat (I believe there is even a report on the bug tracker which was made private):
I am releasing this code now in June 2018 because it has been over three years since the vulnerability was first revealed, and one year since Spigot was last updated to include countermeasures against it.
seed-village
Default: 10387312
Type: Integer
Description: Controls the seed used for the placement of villages in your world, allowing for further customisation of their spawning. Default value represents vanilla. When left at vanilla values, it is possible someone can brute force discover your worlds seed. It is recommended to change these values to any other random number BEFORE generating your world if you wish to keep the seed secret at all cost.
(they do not appear to include mineshafts though, which do not use a "magic" number and are far more common and have the simplest algorithm, thus would seem to be ideal for such a search)
Also, all that matters is the locations of structures, the more the better, not how far apart they are or what type they are (except for strongholds*); essentially, you gather a list of chunk coordinates containing structures and check if a given seed has a structure at each location (for most seeds only one location needs to be checked since you can abort as soon as one fails, so checking for 10 structures will only take slightly longer than 1; for example, there is a 1 in 576 chance of a village generating within a 24x24 chunk area within each 32x32 chunk region, mineshafts have a 1 in 250 chance per chunk (1 in 100 prior to 1.7), and so on. While multiple types of structures can be included one type works just as well and would be simpler to search for). The code involved is quite simple; the source for the game is widely available and otherwise you basically just have a loop that iterates through a list of coordinates within an outer loop which iterates through all possible 48 bit seeds (the most complicated part would be writing code for a GPU; I have no experience with GPU programming so I don't know how much it differs from "normal" CPU-based code).
Once you find a match you do need to then find the correct biome map, which is much more time-consuming to generate and check, but there are only 65536 possibilities per 48 bit base seed, of which you ideally have one, and you can use structures that only generate in certain biomes to filter out the results (e.g. if you know that chunk 10, 20 has a desert temple there has to be a desert there), along with a list of biomes at various points. After this you hopefully have no more than a few results which can be manually verified (even then it is entirely possible that the area of interest could be identical in multiple seeds; for all purposes though they would be the correct seed if you don't care about areas further away - you could even recover such a similar seed for a world that lost its seed and not have chunk walls if the biomes bordering old chunks are the same).
*Strongholds are not a good choice, if practical at all, for a structure-based seed search because the game attempts to locate them within non-water biomes so you need to generate the biome map, which is extremely expensive compared to simply checking if a structure can generate in a chunk. They are also offset by up to 112 blocks from their initial location, even if all the biomes around it are valid, so the "start" of a stronghold may be nowhere near the "true" spawn chunk.
Interesting information, so the key is the villages... Also probably not a problem for Mojang since on Java they do not provide server-based added-value-content so knowing the seed on vanilla servers is pretty dull.
Interesting information, so the key is the villages... Also probably not a problem for Mojang since on Java they do not provide server-based added-value-content so knowing the seed on vanilla servers is pretty dull.
Any structure other than strongholds will work, not just villages; if you look at the link to the Spigot configuration you'll see they include other structures as well, and even slime chunks, while they don't appear to include mineshafts since they do not have a "magic" number, yet they are more common than all other structures combined (the chance of a mineshaft per chunk is 1/250, 1/100 prior to 1.7, while villages and most other structures are 1/1024 (averaged over a 32x32 chunk region, 1/576 within the 56.25% of chunks that can have one within a region) and are effectively much rarer due to only generating in certain biomes) and have a very simple algorithm, literally a single line of code compared to over a dozen for villages (plus a few more in either case to set the per-chunk seed), so I'm surprised nobody seems to have exploited them, at least, they aren't included in the tool I linked to (they aren't that hard to find, I find one nearly every day, say every 3-4 days at the 1.7+ frequency, while thoroughly exploring everything, not specifically searching for them, and it is easy to determine their starting point, which is a large room with a dirt floor - certainly, much easier than slime chunks, which are included in the tool):
public class MapGenMineshaft extends MapGenStructure
{
protected boolean canSpawnStructureAtCoords(int par1, int par2)
{
return this.rand.nextDouble() < this.field_82673_e && this.rand.nextInt(80) < Math.max(Math.abs(par1), Math.abs(par2));
}
}
// This algorithm, with slight variations, is also used by all structures other than strongholds and
// Nether fortresses
public class MapGenVillage extends MapGenStructure
{
protected boolean canSpawnStructureAtCoords(int par1, int par2)
{
int var3 = par1;
int var4 = par2;
if (par1 < 0) par1 -= this.field_82665_g - 1;
if (par2 < 0) par2 -= this.field_82665_g - 1;
int var5 = par1 / this.field_82665_g;
int var6 = par2 / this.field_82665_g;
Random var7 = this.worldObj.setRandomSeed(var5, var6, 10387312); // Magic number which affects
var5 *= this.field_82665_g; // structure locations
var6 *= this.field_82665_g;
var5 += var7.nextInt(this.field_82665_g - this.field_82666_h);
var6 += var7.nextInt(this.field_82665_g - this.field_82666_h);
if (var3 == var5 && var4 == var6)
{
// Biome check is not needed for the initial structure search (just return true)
return this.worldObj.getWorldChunkManager().areBiomesViable(var3 * 16 + 8, var4 * 16 + 8, 0, villageSpawnBiomes);
}
return false;
}
}
// Called by MapGenVillage.canSpawnStructureAtCoords
public abstract class World implements IBlockAccess
{
public Random setRandomSeed(int par1, int par2, int par3)
{
long var4 = (long)par1 * 341873128712L + (long)par2 * 132897987541L + this.getWorldInfo().getSeed() + (long)par3;
this.rand.setSeed(var4);
return this.rand;
}
}
Villages (and temples, monuments, etc) do have the advantage of only generating in certain biomes but you can just as easily check a set of points for matching biomes (e.g. 0,0 must be plains, 100, 0 must be desert, etc) and you wouldn't want to include the biome check during the initial search phase (the slowdown may not be that bad considering there is only a 1/576 chance of the initial location check passing, but it would make the code much more complex and running hundreds or thousands of biome generators at once may degrade local cache/memory bandwidth performance. Due to only needing to check up to 65536 seeds you could easily run the biome search as a single threaded CPU-based program).
I started playing Minecraft in late 2012 (when 1.3.2 started). I vividly remember the first few survival worlds I had and would like to play on them again. Problem is I can't remember the seeds for them. And them worlds are long gone now considering I used to play them on one of my first computers. I was wondering if there was some sort of program that can search the seed history on a MC account so I can find the seeds for the first worlds I started?
There's no reason why your Minecraft account would remember old world seeds, there is no "seed history". World data isn't kept as part of your account, it's all contained in the data files on your computer. It's true that if you play online with other people, then world data is transmitted back and forth as avatars move around and make changes to the world. But when you stop playing, all the world data is saved in local save files, not on the server.
Even if you could find the seeds for your old worlds, I think it's possible that you wouldn't be able to get your old worlds back again anyway. The world generation code in Minecraft has changed quite a lot since 2012, so old seeds may not generate the same scenery as they did back then.
Sorry, but I think you're just going to have to cherish your happy memories of 2012.
Ah that's no problem then haha. But just out of curiosity, when you say the generation code has changed. Does that include all the older versions of Minecraft including 1.3.2? So even if I did knew the seed and put it on that version will it not generate the same?
I just checked the Minecraft launcher, and to my surprise it does still list "release 1.3.2" as one of the versions which you can install. I've never checked back that far before! The world generation code has only changed in newer versions, so if you could install 1.3.2, and if there was some way of recovering your old seeds, then yes, you should see your worlds as they were back in 2012.
Ah then that's good to hear, thank you. If there isn't any way to dig up old seeds, I'll try manually looking for it. I know that may take a few years but I was wondering if it was actually possible to find a specific seed in this manner, and has anybody ever done it before? How many digits can a Minecraft seed (from 1.3.2) include? Just curious.
EDIT: I've heard something about the date and time on your computer can create the outcome of each seed.
Thiccilo, mathematically it could be possible to find a seed based on an existing world, but it would probably run forever to find just one on ordinary computers.
Problem is that even after finding it, you should play on that version, because when world generation algorithms change, you get discontinuities where the world generated in the previous version meets the chunks generated in the new version, and usually it's a very big mess.
Without the original world save files, there would be almost no way to randomly find a seed again, about all you might do is find a seed sort of like the one you had back then, but the exact one would be pretty much a statistical impossibility. I don't know offhand how big the seed can be, but I would guess a 32 bit or even 64 bit number, which are both really large, trying them all would take longer than the remaining lifetime of the universe I expect.
Now, if you entered a word or phrase as the seed, and can recall that, you can use the old version of the game from that time and enter the word or phrase again, and it should generate the same world as it calculates the seed based on what you entered. If you left the seed blank, it generates a random seed, and that might be based on the date and time, so it's theoretically possible to re-create a seed that way, but you'd need to know the exact date and time you created the original seed, down to probably the second or even 10th of a second, or even a smaller unit of time, and again, that would be almost impossible to re-create.
D_B
To tell them how to live is to prevent them living.
This was only true for versions of Java prior to Java 5 (also known as Java 1.5, not to be confused with Minecraft 1.5), which was released long before Minecraft, which appears to require Java 5 at a minimum for any version (versions older than 1.6 can run on Java 5); since then there is no correlation between the system time and the world seed (the continued contusion may come from the fact that the RNG the game uses creates a random seed in part by using Java's "System.nanoTime()" function but the "time" returned by this function is basically just a count of CPU cycles or something since you started the JVM. This is also combined with another magic number which is different for every instance of Random, many of which have already been created by the time you create a new world, so even if two are created at the same instant they will have different seeds):
("-123775873255737467" is the seed for my first world, which was actually created on March 28, 2013 at 6:20:05:8 PM)
It can be done in under a day with the help of GPU computing, even by the standards of hardware years ago, much less today:
This largely takes advantage of the fact that there are only 2^48 seeds that can be randomly generated, a factor of 65536 less than what you might expect due to Java's Random only using 48 bits (the 8 hours quoted would be 60 years if all 2^64 seeds had to be searched. Also, since only the biome map uses all 64 bits this means that even if somebody entered a seed which doesn't map to one that Random can generate (this even includes many text seeds) you could still narrow down the possibilities, and most such seeds will be one of 2^32 hashcodes from text; it is highly unlikely that anybody uses seeds which can't be randomly generated or obtained from a hashcode). However, this requires knowing the precise locations of structures; a general description of what the world looked like isn't enough.
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Hello, you could check the recycle bin on the computer, as it could be their
ONE: OP changed computers.
TWO: Minecraft doesn't use the Windows recycle bin. When Minecraft deletes a world it is GONE.
There are no dangerous weapons. There are only dangerous people. R.A. Heinlein
If you aren't part of the solution, then you obviously weren't properly dissolved.
The latest release of Amidst, version 4.6 can be found here:
https://github.com/toolbox4minecraft/amidst/releases
You should probably also read this:
https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-tools/2970854-amidst-map-explorer-for-minecraft-1-14
You can find me on the Minecraft Forums Discord server.
https://discord.gg/wGrQNKX
And that's the reason why I said it could run forever
Mathematics is just a bit precise, so if you feed incorrect data, it would give you incorrect results and so you would have to correct every single wrong detail and rerun.
If I remember well the thread you posted never published code and never said how much detail you need (it mentions that the world “must not be too small”) so I think it's an “attack” on some structure generated far from spawn. May I speculate it needs at least the position of two End Strongholds (or maybe just the portal)? That's assuming the thread assumption wasn't fake.
You can find their code here (I found it by searching for their forum name); it claims that it now takes only 2 hours to search 2^48 seeds on a more modern GPU:
(the last part is actually incorrect - the biome map is the only part of world generation that uses the full 64 bit seed; everything else is indirectly affected at best; for example, the presence of trees is governed by the biome but two seeds with the same lower 48 bits will have the same trees, as well as terrain, ores, animals, etc where the biomes match, as seen in this example)
Also, the reason why they didn't release it for several years is because of the potential to exploit it by cracking the seed for servers which do not want to give it out - Spigot even gives you the ability to change the "magic" numbers which affect the locations of structures so they think it is a very real threat (I believe there is even a report on the bug tracker which was made private):
(they do not appear to include mineshafts though, which do not use a "magic" number and are far more common and have the simplest algorithm, thus would seem to be ideal for such a search)
Also, all that matters is the locations of structures, the more the better, not how far apart they are or what type they are (except for strongholds*); essentially, you gather a list of chunk coordinates containing structures and check if a given seed has a structure at each location (for most seeds only one location needs to be checked since you can abort as soon as one fails, so checking for 10 structures will only take slightly longer than 1; for example, there is a 1 in 576 chance of a village generating within a 24x24 chunk area within each 32x32 chunk region, mineshafts have a 1 in 250 chance per chunk (1 in 100 prior to 1.7), and so on. While multiple types of structures can be included one type works just as well and would be simpler to search for). The code involved is quite simple; the source for the game is widely available and otherwise you basically just have a loop that iterates through a list of coordinates within an outer loop which iterates through all possible 48 bit seeds (the most complicated part would be writing code for a GPU; I have no experience with GPU programming so I don't know how much it differs from "normal" CPU-based code).
Once you find a match you do need to then find the correct biome map, which is much more time-consuming to generate and check, but there are only 65536 possibilities per 48 bit base seed, of which you ideally have one, and you can use structures that only generate in certain biomes to filter out the results (e.g. if you know that chunk 10, 20 has a desert temple there has to be a desert there), along with a list of biomes at various points. After this you hopefully have no more than a few results which can be manually verified (even then it is entirely possible that the area of interest could be identical in multiple seeds; for all purposes though they would be the correct seed if you don't care about areas further away - you could even recover such a similar seed for a world that lost its seed and not have chunk walls if the biomes bordering old chunks are the same).
*Strongholds are not a good choice, if practical at all, for a structure-based seed search because the game attempts to locate them within non-water biomes so you need to generate the biome map, which is extremely expensive compared to simply checking if a structure can generate in a chunk. They are also offset by up to 112 blocks from their initial location, even if all the biomes around it are valid, so the "start" of a stronghold may be nowhere near the "true" spawn chunk.
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Interesting information, so the key is the villages... Also probably not a problem for Mojang since on Java they do not provide server-based added-value-content so knowing the seed on vanilla servers is pretty dull.
Any structure other than strongholds will work, not just villages; if you look at the link to the Spigot configuration you'll see they include other structures as well, and even slime chunks, while they don't appear to include mineshafts since they do not have a "magic" number, yet they are more common than all other structures combined (the chance of a mineshaft per chunk is 1/250, 1/100 prior to 1.7, while villages and most other structures are 1/1024 (averaged over a 32x32 chunk region, 1/576 within the 56.25% of chunks that can have one within a region) and are effectively much rarer due to only generating in certain biomes) and have a very simple algorithm, literally a single line of code compared to over a dozen for villages (plus a few more in either case to set the per-chunk seed), so I'm surprised nobody seems to have exploited them, at least, they aren't included in the tool I linked to (they aren't that hard to find, I find one nearly every day, say every 3-4 days at the 1.7+ frequency, while thoroughly exploring everything, not specifically searching for them, and it is easy to determine their starting point, which is a large room with a dirt floor - certainly, much easier than slime chunks, which are included in the tool):
Villages (and temples, monuments, etc) do have the advantage of only generating in certain biomes but you can just as easily check a set of points for matching biomes (e.g. 0,0 must be plains, 100, 0 must be desert, etc) and you wouldn't want to include the biome check during the initial search phase (the slowdown may not be that bad considering there is only a 1/576 chance of the initial location check passing, but it would make the code much more complex and running hundreds or thousands of biome generators at once may degrade local cache/memory bandwidth performance. Due to only needing to check up to 65536 seeds you could easily run the biome search as a single threaded CPU-based program).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?