Find a Minecraft SMP server seed based on known locations
Is it possible to find the seed of a 1.4.5 map without having the .dat file by using landmark coords? Is there a program that can come up with a list of possible seeds by entering the coords of dungeon spawners or villages or temples,etc?
4 Solutions collect form web for “Find a Minecraft SMP server seed based on known locations”
No, there is no such program and likely never will be.
As a programming task, it’s identical to the least efficient method of password cracking. We can’t reverse-calculate the seed no matter how many landmark coordinates we have, because the type of calculation Minecraft uses for seed generation is one-way. Thus, what such a program would have to do is try every seed until it finds one that matches the landmarks.
In computer security terms this is called a brute-force attack, and it can take a very long time:
- Minecraft’s seeds have 18 quintillion possible values.
- A GPU-based password cracker on consumer-grade hardware today, very loosely, can try about a billion numbers a second, given a target result (such as our landmarks).
- 1 quintillion is a billion billion.
- That gives us about 18 billion seconds needed to try every possible seed.
- On average we will have to only try half the seeds, so that brings us down to an average of 9 billion seconds to find a match.
- 9 billion seconds is over 285 years.
- In reality the program would have to run world-generation (or some kind of faked world generation) on every seed in order to find out if it matches our landmarks, so multiply 285 years by how long it takes Minecraft to start a new world. If we’re generous and say a fake-generation takes only 3 seconds, that gives us 856 years to find a match, on average.
And all that is ignoring the question of how the program would handle the fact that our coordinates of landmarks are going to be guesses (which block in a village is the coordinate the world generator got from the seed?) and not exact matches for what the seed actually produced. That adds at least a few processor cycles to every time the program needs to check a particular seed for matches.
So as you can see, the idea is lovely, but in practice finding a seed from landmark coordinates is impractical enough that no-one is going to write such a program – by the time it finishes running, we’d all be dead (and Minecraft will likely have changed its world-generation again…). At least, not practical until we have quantum computers.
The seed usually runs through Java’s Random class, which only uses 48 bits of the seed. There are some complicating factors, but I’m finishing off a tool to do this. At the moment it narrows the options for the lower 48 bits to a few tens of thousands – will need to chain with some other technique to reduce further. With one technique, I’m extracting about 32 bits and have 32 to go (“only” 4 billion possibilities).
Personally, I don’t really think that working backwards to a map’s seed from structure coordinates will help, due to Minecraft’s incredibly randomized map generation procedure. However, I have heard of a small mod/plugin called World Downloader: http://www.minecraftforum.net/topic/1444862-145-world-downloader-mod/
It’s been updated to 1.4.5, and what it does is basically download a multiplayer map from the server side. If you’re willing to use a small-scale mod, you can use this to get the world file in your hands.
Once you’ve done that, you can add the file to your saves file in Minecraft (assuming you run your game on a Mac as I am not sure about Windows). Next, open up your game and go to the save. If cheats have been enabled, you can simply type in /seed as Yamikuronue suggested. However, if cheats are presumably still in their default (set to false from the server side), you can press esc, open up the world to LAN, and when the menu pops up, simply enable cheats. Your LAN world will still be the same as the SMP world, just with cheats enabled. Finally, you can enter /seed as mentioned previously.
The best way to find the seed if you have the server on your computer is to upload the level.dat file from the world folder into mineatlas.com. It will tell you the seed there and even show you a map of the world!