Fans vinden seed van Minecraft-startscherm

Met de hulp van een distributed-computingnetwerk voor Minecraft-onderzoek hebben fans van het bekende Microsoft-spel de zogeheten seed gevonden van de wereld die in het startscherm is te zien.

Alle werelden in Minecraft worden procedureel gegenereerd met een seedgetal als basis voor de eigenschappen van die wereld. Als je een spel start, krijg je dus een unieke wereld, die een ander alleen kan ervaren als dat spel met hetzelfde seedgetal wordt gestart. Aangezien die seeds werken met getallen van negentien cijfers, is de kans dat je dezelfde wereld twee keer ziet of per toeval op een identieke wereld stuit, astronomisch klein. Zo is ook het lukraak of brute-force zoeken naar de parameters van de wereld die in het startscherm van Minecraft is te zien, onbegonnen werk: reden voor fans om slimme trucs in te zetten voor hun zoektocht.

Zo werd eerst een deel van de puzzel opgelost door te kijken naar de wolken van het startschermpanorama. Vervolgens kwam een distributed-computingnetwerk, Minecraft@Home, eraan te pas om verder naar de seed te zoeken. Dat was mogelijk doordat op dit Boinc-netwerk al een zoektocht gaande was naar de seed van de wereld die in het icoon van pack.png van Minecraft is te zien. De methode om daarnaar te zoeken werd ook gebruikt om naar de panoramaseed te zoeken.

Het kostte slechts één dag, maar wel het equivalent van 93 dagen rekenen met 54,5 exaflops om de seed van het startscherm te vinden. Sterker nog, er werden twee seeds gevonden doordat de random number generator van Java minder unieke getallen oplevert dan het aantal mogelijke seeds. Zo blijven er 'slechts' ongeveer 231 biljoen mogelijkheden over.

Door in Java-client versie beta 1.7.3 van Minecraft de seed 2151901553968352745 of 8091867987493326313 in te vullen en naar de coördinaten X=61.48, Y=75, Z=-68.73 te gaan, kun je het panorama van het beginscherm zelf zien. De zoektocht naar de wereld die in het pack.png-icoon te zien is, gaat onverminderd door, maar alle 200 miljoen Minecraft-kopers kunnen voortaan rondlopen in de wereld waar ze al jaren tegenaan kijken.

Minecraft-seed

Door Willem de Moor

Redacteur

20-07-2020 • 13:09

68

Reacties (68)

68
66
33
3
1
8
Wijzig sortering
.oisyn Moderator Devschuur® 20 juli 2020 14:07
Hebben ze het hier dan over de Beta 1.7.3 uit 2011? Volgens deze lijst is er geen release 1.7.3. De beta lijkt me ook logischer, gezien de ouderdom van het plaatje en het feit dat de generator na verloop van tijd een aantal keer is aangepast (en dus met dezelfde seed een ander landschap genereert).

.edit: uit de Trivia sectie van Beta 1.7.3:
This was also the last version to feature the old pre-Beta 1.8 terrain generator with the random terrain.
.edit2: ah ja staat idd ook gewoon in het bronartikel :)
Everyone should be familiar with this world. It's the one that always appeared on Minecraft's main-menu (title-screen), blurred and slowly rotating around.
It first appeared in 2011 for Minecraft Beta 1.8 and stayed for many years, until it was only recently replaced in 1.13 and every version after that.

And nobody ever knew the seed... until now!
The seed was found today, on 18th of July 2020 at around 5:45 AM UTC.

Version: Beta 1.7.3
Coordinates: X=61.48~, Y=75, Z=-68.73~
Seed: 2151901553968352745 OR 8091867987493326313 (both work)
@willemdemoor Misschien even vermelden in het artikel dat het om de beta gaat.

[Reactie gewijzigd door .oisyn op 25 juli 2024 09:44]

toegevoegd en naar de minecraft-wiki (met download) gelinkt
Ik heb al jaren geen Minecraft meer gespeeld, maar vroeger was het toch in Java geschreven, en moest je een .jar bestand downloaden? Is het niet mogelijk die naar (lelijke) broncode te decompileren en dan met een regex op zoek te gaan naar de seed?
Nee, de seed wordt random gegenereed bij het maken van een nieuwe spel wereld. en is dus niet hardcoded.
Wat je op het begin scherm ziet is gewoon een filmpje, en niet door de game engine gerenderd, dus daar kan je de seed ook niet uithalen.

Zie ook dit filmpje voor een uitleg over hoe ze de seed voor pack.png proberen te vinden https://www.youtube.com/watch?v=eC7f9tMslVE

[Reactie gewijzigd door Bl00dsoul op 25 juli 2024 09:44]

Het start scherm is waarschijnlijk gewoon een plaatje dat gemaakt is van die wereld. Dan is deze dus niet terug te vinden in de broncode. Ik zou me zelfs goed voor kunnen stellen dat de makers niet eens weten van welke seed het afkomstig is.
Dat klopt. In de zoektocht naar pack.png hebben ook Notch en Jeb gereageerd dat ze niet weten welke seed dit is, wie deze afbeelding gemaakt heeft en dat ze het vermoeden hebben dat het een random seed is.
Dat klinkt aannemelijk omdat in de eerste versie waar pack.png in voor komt nog geen mogelijkheid was om seeds in te vullen.
Is het niet mogelijk die naar (lelijke) broncode te decompileren en dan met een regex op zoek te gaan naar de seed?
Decompileren is mogelijk, maar de panorama in het beginscherm is een aan elkaar geregen reeks afbeeldingen. Dat betekent dus dat je nog altijd geen info hier uit kunt halen verder, bruteforcen (of de seed vragen, er vanuit gegaan dat iemand je na al die tijd nog kan vertellen wat de seed was) was dus de enige optie.
En dat laatste is dus een NOPE. Zowel Notch als Jeb hebben geen idee. Komt ook nog eens bij dat je toen de mogelijkheid nog niet had zelf een seed in te vullen.
Het gaat om de startscherm afbeelding van de client. Het is niet dat de client eerst die hele wereld genereerd om die vervolgens als statisch startscherm te tonen.
Dan zou het enige mogelijke nog zijn dat het in de metadata staat? :)
Zal het niet gewoon een gerenderde afbeelding/intro zijn?(Geen idee of het bewegend is)
Zie niet echt het nut er van om de seed op te slaan in de bron.

Edit: Lees hier onder zelfs dat Notch de seed niet eens meer weet.

[Reactie gewijzigd door Christoxz op 25 juli 2024 09:44]

Het start scherm is gewoon een statische afbeelding. Er staat daarom in de gamecode niks over de seed van de wereld, want de game heeft die niet nodig, want het gebruikt een afbeelding.
Er zijn genoeg mensen die de gamecode bekijken. Het is letterlijk gewoon een image zonder de seed in de metadata. Sterker nog, screenshots bevatten geen seed/positie in de metadata. De gedachte dat niemand dit heeft gecheckt voor er een cluster aan vrijwillig aangeboden GPU's op los te laten is vrij dom eerlijk gezegd.
Het is ook absoluut zo dat ik het ook niet verwacht had, maar dat zou dan de enige optie zijn omdat het om een screenshot gaat.
Dat is juist het punt. Ze proberen op basis van een afbeelding te achterhalen uit welke seed het komt. Lees het artikel.
Of jij leest de reacties hier.
Ik weet waar het over gaat
Het zijn meerdere afbeeldingen achter, beetje zoals panorama foto. In nieuwere versies is er trouwens een ander startscherm en je kan er ook zelf een maken via software
Ik zou het geniaal vinden als het wel zo was :D
Het is nog steeds in Java geschreven (al is er ook een C++ versie). Het probleem is dat dit afbeeldingen zijn en niemand de seed van deze maps weet.
Ook Notch (de originele maker) weet het niet en weet niet wie die afbeelding heeft gemaakt. Maar de seed is een willekeurige seed geweest.

(dit hierboven gaat over de pack image btw, weet niet hoe het zit met deze seed).
Ik heb al jaren geen Minecraft meer gespeeld, maar vroeger was het toch in Java geschreven, en moest je een .jar bestand downloaden?
De Java versie is nog steeds beschikbaar en wordt ook actueel gehouden.
Is het niet mogelijk die naar (lelijke) broncode te decompileren en dan met een regex op zoek te gaan naar de seed?
Het betreft een afbeelding van een Minecraft wereld, niet een Minecraft wereld. De afbeelding heeft geen metadata over hoe deze gegenereerd was.
En waarom zou dit niet toevallig een deel van een andere wereld zijn waarvan dit stukje er hetzelfde uitziet?
De random functie is niet volledig random. Er zijn maar ene beperkt aantal werelden die dit kunnen zijn. Herkenning punten zijn wolken, bomen en grass die een locatie aangeven.

EDIT: Om uit te breiden

Er zijn meerdere seeds die exact dezelfde wereld genereren. Ze hebben de interne seed achterhaald waarmee de "userseed" terug uit te rekenen is.

[Reactie gewijzigd door StefanJanssen op 25 juli 2024 09:44]

.oisyn Moderator Devschuur® @StefanJanssen20 juli 2020 14:01
Maar daarbij ga je wel een beetje voorbij aan @Boss' originele punt. Het is strict gezien wel mogelijk dat werelden uit verschillende seeds lokaal exact overeenkomen, maar globaal verschillend zijn. Je zou dus meerdere werelden kunnen hebben waarbij precies dit plaatje waar te nemen is.

Maar, gezien het gelimiteerd aantal werelden dat gegenereerd kan worden zoals je zelf al zegt, is die kans astronomisch klein. En bovendien heeft @bobdetweaker een punt; je kan de rest in het plaatje ook niet zien, dus wat maakt het uit :)
Nee, dat is dus niet mogelijk.

Elke chunk heeft een eigen seed die af te leiden is uit de chunk positie en de world seed die af te leiden is uit de seed van de user. De chunk seed wordt gebruikt voor het plaatsen van bomen, spawners,

De wolken hebben daarintegen een vast patroon waardoor de locatie binnen dat patroon gevonden kan worden. De combinatie chunkseed + wolken zijn er maar een beperkt aantal. Op het moment dat er 2 chunkseeds bekend zijn (want je ziet meer dan 1 chunk). Aan de hand daarvan wordt dus doorgewerkt naar een world seed en dan naar een "user seed".
.oisyn Moderator Devschuur® @StefanJanssen20 juli 2020 14:57
Daarmee zeg je nog steeds niet dat het niet mogelijk kan zijn dat verschillende chunkseeds dezelfde random waardes - en dus dezelfde invulling van het landschap - kunnen opleveren. Dat dat in de praktijk niet zo is, is een ander verhaal.

[Reactie gewijzigd door .oisyn op 25 juli 2024 09:44]

De chunkseeds zijn gebaseerd op locatie en worldseed. Een chunk wordt uit een combinatie van seeds opgebouwd. De worldseed doet biomes, heightmap, caves, rivieren en andere dingen die door meerdere chunks heen gaan. Terwijl de chunkseed puur de dingen daarbinnen aanmaakt. Denk aan spawners, bomen, bloemen, gras en dergelijke.

De combinatie van chunkseed, worldseed en positie zijn uniek.
Ik moet wel toegeven dat seeds altijd repeterend zijn, vaak in zodanige mate dat de herhaling pas buiten de world borders zou plaatsvinden. Een aantal worldseeds zoals "0" herhalen veel meer.

Er zijn plaatsen waar de chunkseed overeenkomt met een chunkseed van een andere worldseed. Maar dan zijn de omliggende seeds wel weer anders. En zou de wereld er ook anders uit zien.
.oisyn Moderator Devschuur® @StefanJanssen20 juli 2020 15:56
Je blijft maar voorbij gaan aan het punt :). De kern van het probleem zit in de pseudo-randomness van de RNG. Je kunt best verschillende seeds hebben die dezelfde series van waardes opleveren. Puur uit het feit dat de seeds anders zijn, kun je (in theorie) niet concluderen dat het resultaat anders is.
Als we er van uit gaan dat er oneindig veel mogelijke seeds zijn zullen er inderdaad verschillende seeds zijn die hetzelfde stukje terrein genereren. Er zijn echter "maar" 281474976710656 unieke seeds en we kunnen er dus vrij zeker van zijn dat de afbeelding uit het hoofdmenu maar in 1 van deze voorkomt.
De wolken hebben daarintegen een vast patroon waardoor de locatie binnen dat patroon gevonden kan worden. De combinatie chunkseed + wolken zijn er maar een beperkt aantal. Op het moment dat er 2 chunkseeds bekend zijn (want je ziet meer dan 1 chunk). Aan de hand daarvan wordt dus doorgewerkt naar een world seed en dan naar een "user seed".
Deze methode werd alleen niet gebruikt voor het vinden van de seed, de meeste informatie was te achterhalen uit de kleur van het hoge gras en de zichtbare grens tussen een aantal biomes.
.oisyn Moderator Devschuur® @Verwijderd20 juli 2020 16:16
Als we er van uit gaan dat er oneindig veel mogelijke seeds zijn is het inderdaad mogelijk dat sommige hetzelfde stukje terrein zullen genereren
Nee, als er oneindig veel zijn dan is het per definitie zo :). Want het aantal mogelijke chunks dat je kunt genereren is eindig. Maar zelfs met een eindig aantal world seeds is het mogelijk. En wat ik al eerder zei, de kans op een duplicaat is met dat geringe aantal seeds astronomisch klein, maar het kán nog steeds. Het is louter uit te sluiten met een exhaustive search. Of wellicht met een wiskundig bewijs door te kijken naar de daadwerkelijke implementatie van de RNG's en de world generator.

[Reactie gewijzigd door .oisyn op 25 juli 2024 09:44]

Nee, een seed heeft een beperkt aantal karakters. En daarvan word maar slechts een klein deel daadwerkelijk gebruikt. Het aantal world seeds is wel degelijk eindig. Het aantal userseeds die tot dezelfde world seed komt is wel oneindig.
.oisyn Moderator Devschuur® @StefanJanssen20 juli 2020 16:18
Ik heb nergens beweerd dat er oneindig veel world seeds zijn. Sterker nog, hier beweerde ik het tegenovergestelde.

[Reactie gewijzigd door .oisyn op 25 juli 2024 09:44]

Ik heb mijn reactie aangepast, als er oneindig veel seeds zijn zullen er inderdaad ook oneindig veel zijn die een bepaalde chunk genereren.
En dan negeren we nog maar even de mogelijkheid dat een bepaald screenshot helemaal niet in die selecte serie random seeds hoeft te zitten, aangezien het screenshot ook gewoon 2 aan elkaar geplakte images kan zijn (aangezien schijnbaar niemand meer weet waar pack.png vandaan komt)
Dat maakt in feite niet uit, aangezien de rest van de wereld niet te zien is.
Het is wel een enorme energieverspilling om de seed van het startscherm met een distributed computing netwerk te zoeken zeg.
Hoezo? Het is toch een mooi hobby project waar wat mensen waarschijnlijk nog nieuwe vaardigheden aan overgehouden hebben ook.
Sorry maar als we duizenden cpu cycles aan het verspillen zijn inclusief alle bijbehorende co2 uitstoot etc. aan het zoeken van de seed van een minecraft beginscherm vraag ik me serieus wel af waar we mee bezig zijn. Ik weet niet hoe lang dit Folding@home project draait en hoeveel cpu kracht er uiteindelijk verbruikt is, maar ik hoop heel erg niet heel veel!
Als ik een game speel ben ik volgens jouw redenatie ook onnodig CPU cycles aan het verbranden.
Soms doen mensen dingen puur om te kijken of het kan. Dat daar (in jouw ogen) onnodig resources aan verspild worden is jammer maar ieder zijn hobby.

Op mij komt dit een beetje over als "zeuren om het zeuren" (iedereen mag hier uiteraard zijn/haar eigen mening over hebben, ik vind het zelf een leuk project)
Een game spelen, speel jij met 1 cpu/gpu paar honderd watt en brengt jou uren aan entertainment. In die zin vrij zinvol want ook dat heeft de mens soms nodig. Met 10000den cores, 100000 watt aan stroom verspillen aan het vinden van een Seed waar letterlijk helemaal niemand wat aan heeft is van een hele andere grote/orde.

Nogmaals weet niet hoe groot dit project was en ik hoop niet heel groot. Maar was dit het wel, dan vind ik dat heel erg zonde.
Maar waarom lees je jezelf dan niet eerst in voorafgaand een reactie te plaatsen? Nu heb je een mening zonder dat je dus eigenlijk weet waar het over gaat. Ja iets met veel cores en energie verbranden.. maar eigenlijk heb je geen idee hoe lang het heeft geduurd (terwijl het in het artikel staat overigens 'het kostte slecht één dag' )
Dan ben jij de gene die niet goed heeft gelezen. Met de nieuwe informatie kostte het slechts nog maar een dag. Het Minecraft Folding @ home project draaide al veel langer! Staat inderdaad letterlijk in het artikel. Ik zou zeggen volg je eigen advies op volgende keer }>

[Reactie gewijzigd door ro8in op 25 juli 2024 09:44]

Tsja, heb je dit wel eens gezien? Of dit?

Ik vrees dat deze bewustwording bij veel mensen nog ver te zoeken is.
Die tweede heeft dan wel weer gezorgd dat er 22+ miljoen bomen geplant zijn/worden.
Er valt ook iets voor te zeggen dat dit aandacht genereerd voor meer belangrijke distributed-computing projecten, zoals het genoemde folding@home.
Leuk project absoluut, maar inderdaad wel energieverspilling.
Tja, net als jouw gebruik van je computer/telefoon om hier commentaar te plaatsen. Wellicht vinden ze/iemand nog een nuttig gebruik voor hetgeen wat ze gemaakt hebben.
ach ja, op die manier beschouwd is het produceren van bommen of allerlei andere zaken die mensen schaden niet meer energieverspilling?

beetje zout en slakken... ;-)
Uiteraard is het veel te eenvoudig om de ontwikkelaar te vragen naar welke seed er gebruikt is... :+

Leuk dat ze distributed hebben gebruikt voor het zoeken naar de seed.
Het is gevraagd aan Notch, maar die wist niet wie de afbeelding gemaakt had en waarschijnlijk was het alsnog gebaseerd op een random seed waarvan de maker ook niet meer weet welke dat is.
Hoe hebben ze dit aangepakt?
Hebben ze de wereld van die afbeelding exact nagemaakt, door de blokjes te plaatsen, om vervolgens op zoek te gaan in elke random wereld naar die compositie van blokjes?

EDIT:
Het antwoord is ja :)
Uit de reddit link:
...and many other people who helped in other ways (such as building the recreation block-by-block)...
Mijn volgende vraag zou zijn, als er 1 blokje verkeerd is geplaatst, is het dan mogelijk geen seed te vinden?

[Reactie gewijzigd door Smurf9852 op 25 juli 2024 09:44]

Mijn volgende vraag zou zijn, als er 1 blokje verkeerd is geplaatst, is het dan mogelijk geen seed te vinden?
Gelukkig hebben we alleen blokken gebruikt waarvan de positie heel duidelijk was.
Mijn volgende vraag zou zijn, als er 1 blokje verkeerd is geplaatst, is het dan mogelijk geen seed te vinden?
Sterker nog, aangezien het een filmpje / lading screenshots is/was, hoeft het nog niet eens uit 1 seed gekomen te zijn. Iemand kan het filmpje gewoon zo bewerkt hebben dat ze 1 of meerdere blokjes weggehaald hebben waardoor nu de seed is gevonden die hetzelfde weergeeft, maar dat hoeft niet de seed van het origineel te zijn (sterker nog, men kan er ook in video blokjes etc aan toegevoegd hebben waardoor er theoretisch helemaal geen originele seed voor hoeft te zijn)
Leuk om een nederlands-talig artikel te lezen over iets waar ik aan heb meegewerkt :D
Infeite is die afbeelding dus een hash van de 3D-wereld en hebben ze nu met brute force de oorspronkelijke data gereconstrueerd die deze hash oplevert.
Stop met deze domme reacties en kijk eerst https://youtu.be/GaRurhiK-Lk dat is het filmpje waarin de guys vertellen hoe ze de seed hebben gevonden.
Leuk, maar wel een behoorlijke verspilling van energie en rekenkracht.
Niet alles in het leven hoeft 'nuttig' te zijn. Al hoop ik zeker wel dat de mensen die hier hun rekenkracht ter beschikking voor hebben gesteld dat ook voor wat minder frivole projecten doen.

Laat in ieder geval de publiciteit van dit 'wapenfeit' wat waard zijn om aandacht voor distributed computing te krijgen.
Klopt, zo kun je natuurlijk stellen dat het spelen van Minecraft zelf ook "nutteloos" is. Maar bij dit soort projecten hoop je toch vaak dat het nuttig wordt ingezet. Het zou wat zijn als we straks, zoals bij Bitcoin mining, net zoveel energie gebruiken als een heel land, enkel voor het vinden van seeds van Minecraft werelden. Dan zou het toch prettig zijn als het wat "zinnigs" oplevert, wat dat ook moge zijn.
Niet alles in het leven hoeft 'nuttig' te zijn. Al hoop ik zeker wel dat de mensen die hier hun rekenkracht ter beschikking voor hebben gesteld dat ook voor wat minder frivole projecten doen.
Mijn persoonlijke voorkeur zou zijn om de gebruikte rekenkracht te doneren aan een "nuttig" project (sorry voor het woord) en de seed te vinden door een mailtje te sturen naar de devs. Is dat niet een veel mooier resultaat?
Vind je? Dit is wel een goede manier om te leren om dit soort problemen aan te pakken. Die kennis kan je weer voor meer dingen gebruiken.
Bor Coördinator Frontpage Admins / FP Powermod @Tk5520 juli 2020 13:23
Leuk, maar wel een behoorlijke verspilling van energie en rekenkracht.
Als je puur naar hetgeen kijkt wat er onderzocht is heb je 100% gelijk en is het onderzoek eigenlijk nutteloos. Wel kan je met dit soort projecten kennis opdoen welke je bij meer nuttige onderzoeken kunt gebruiken. Een soort leertraject waar de echte waarde zich pas later laat uitbetalen.
"Mensen mogen geen plezier hebben"
Dan kan de gehele mensheid ophouden met bestaan aangezien de mens nooit verder zal komen dan ons eigen zonnenstelsel.
Offtopic, kosmische straling is inderdaad erg vervelend voor organisch leven in een ruimteschip, maar met geavanceerd genoeg verpakkingsmateriaal kan je alsnog prima buiten ons eigen zonnestelsel terechtkomen hoor. Al is het maar als kloon / bevruchte eicel. Of je ook op je (hopelijk leefbare) bestemming aan gaat komen is dan een kwestie van getallen. Wet van grote getallen.

Zie Voyager I en II.

*pannenlap, maar zonnestelsel (er is maar 1 (eigen) zon, vandaar de uitzondering)
Dit klinkt als een persoonlijke aanval en zo is het vast niet bedoeld.. en ik wil daarom je reactie ondersteunen omdat men er vaak niet over nadenkt wat er allemaal aan energie wordt verbruikt om één reactie onder een forum of nieuwsbericht achter te laten.
Er draaien servers om Tweakers.net in de lucht te houden. Vervolgens navigeer je via je telefoon of pc (die dus beiden al stroom opnemen) naar de website.. die moet eerst door je router, modem, dnserver, etc etc..
Tenzij je op je mobiele netwerk van je provider zit. Dan moet je via de antenne naar hun servers die jouw redirecten naar de Tweakers servers.
Zeg maar, het stukje nadenken over wat je aan het doen bent voordat je anderen beoordeeld kan inderdaad geen kwaad.
Het enige is alleen dat het geen 1 op 1 doorberekening is die je kan maken... Feitelijk kan je dit soort berekeningen alleen in extreme grootheden (bijv internet gebruik in 1 jaar van x miljoen mensen) uitdrukken.

Want als je gaat praten over "reacties op forums" / "google-zoekopdrachten" dan beland je in zo'n uitzonderingen land dat niemand er meer iets van kan zeggen, bijv :
- Staat jouw modem aan of uit als jij niet die reactie zou tikken?
- Staat jouw toetsenbord aan of uit als jij niet die reactie zou tikken? ( Of in stand-by modus)
- etc voor pc en alle verbonden randapparatuur

Maar ook t.net kan niet 1 server uitzetten omdat jij geen reactie plaatst.

Op dit item kan niet meer gereageerd worden.