Solid Talk on reversal of Math.random (in-game, infact) and how it is done , Context: Mess Detection by EarthComputer ☆☆☆☆☆
Powerpoint Presentation by jurrejelle on Reverse Engineering Minecraft RNG ☆☆☆☆☆
On Lattice Basics by EDDxample ☆☆☆☆☆
MAZE 3000 CTF Write-up which has some relevant info on lcg and a concise example of latticg || Link to the CTF itself ☆☆☆☆☆
Writeup on Java Random LCG in context of Minecraft by Neil (hube12) himself , also goes a bit into seedcracking methodology ☆☆☆☆☆
Mess Detector Article Script - Has a bit of relevant info ☆☆☆☆☆
Predicting Math.Random() case but provides easy to understand info on LCGs in general
On Predictability of LCG’s and hints of further advancements on how to handle particular cases
General talk on LCG state prediction
Generic Wikipedia Article
Weird Article
KaptainWutax’s docs (Coming Soon™)
YES
☆☆☆☆☆ articles are written by known minecraft seedcrackers (EarthComputer, Neil etc) and are in reference to Minecraft
Minecraft Seedfinding Ep. 1 - Linear Congruential Generators
Minecraft Seedfinding Ep. 2 Pt.1 - A General Seedfinding Problem
Minecraft Seedfinding Ep. 2 Pt. 2 - Lattices and Linear Programming
Dungeon Seed Cracking Thing
Episode 0: Setting up your environment
Episode 1: Making a structure finder
Episode 0bis: Libraries explanations
Getting started with Java SeedFinding - Feature Utils
Seedfinding tutorial part 0: Structures and LCG
Seedfinding tutorial part 1: Biome Generation and shortcutting
Seedfinding tutorial part 2: Terrain Gen and Noises
Seedfinding tutorial part 3: Recursion, Mineshaft, Stronghold and Fortress
Seedfinding tutorial part 4: Latticg
They Cracked My Server!
How I Find Seeds
Seeds & Generation: Ways to enter a Seed
Fast Seed Finding and the SciCraftSeedFinder
LLL Algorithm
IMPORTANT: Essence of Linear Algebra series
Minecraft WORLD GENERATION Explained?⛏️
World Generation Overview written by TelepathicGrunt
Vizard Mod in #Tools section
Layer Generation python raw code by hube12 <???>
The Alan Zucconi video provides a decent top level overview of the process.
Redblobgames on terrain from noise and Replicating Minecraft World Generation in Python - While not for minecraft specifically, they do explain a few related concepts very well.
Because of the mojank code quality , there are hardly any relevant articles available for WorldGen, the current best way is to read Minecraft code (considered not read friendly) , if not then the libraries :→ specifically : KaptainWutax’s libraries, neil’s libraries and cubiomes (In general , code that can mimic world generatiom)
Notes on modular Arithmetic
More notes
Class Notes on Modular Arithmetic
Basics of Modular Arithmetic
Modular Equivalences
How to determine the multiplicative inverse modulo 64 (or other power of two)?
NERD : Elementary Number Theory: Primes, Congruences, and Secrets by William Stein
NERD : Lecture Notes in Number Theory and Cryptography by Matt Kerr
The NERD documents are long and are only recommended if you want to start from the basics, especially the William Stein notes are by far better to start with. Pick any one of the top 4 modular arithmetic notes if confused. Then for the follow up read the modular equivalences article.
Khan Academy video on Discrete Log Problem - Excellent to get a feel of what it is about ; Think of the clock values to be seeds
THEORY: Hensel’s Lemma by brilliant.org
NERD : THEORY: IISC notes - Highly Recommended especially the excercise !
IMPORTANT: computing the multiplicative inverse - Practical stuff however check the below link below for an apt implementation
Gist on the said computational method presented above and how it is used
Practical Implementation of the mod inversion demonstrated above
Practical application of Discrete Log Problem in context of Minecraft - Matthew Bolan’s BoundIntSkips
Cleaner implementation of where the discrete log problem shows up
Hensel Lift in ChunkRandomReversal
lifting by hube12 - Decorator Lifting example by Neil(hube12)
Distance from zero : Where the discrete log problem shows up!
=== Use cases → (Discrete log problem : find number of calls between two seeds) AND (Mod Inversion : Find inverses speedily) === |
[IMPORTANT] Generic Wikipedia Page on Bit Numbering
Understanding what >>
, >>>
and <<
are , read I and III answer
How AND works
General Notes on bit operations
Generic Wiki Page → Opens at Mathematical Equivalents
Inverse of XORs
Bit Twindling Hacks
Concatenate binary representation - Shows up in some code pieces, handy to know
Sqaure One Matrices - Recommended though assumes you have seen 3blue1brown series
Lattices in a friendly manner
LLL with contrast to Gaussian reduction as well as Extended Euclid’s Algorithm and others - also hands on so easy to read
What are RNGs - RedHat article
TUE Lecture Slides on RNG
Extra Info on RNGs
Tables of linear congruential generators of different sizes and good lattice structure by Pierre L’ecuyer
New RSA Vulnerabilities Using Lattice Reduction Methods by Alexander May
Finding Small Roots of Bivariate Integer Polynomial Equations Revisited by Jean-Se´bastien Coron
Discrete Logarithms and factoring by Eric Bach
BKZ 2.0: Better Lattice Security Estimates by Yuanmi Chen and Phong Q. Nguyen
Presentation - The BKZ algorithm by Joop van de Pol
* Practical seed-recovery for the PCG Pseudo-Random Number Generator Irrelevant
Lattice Basis Reduction: Improved Practical Algorithms and Solving Subset Sum Problems.by C. P. Schnorr & M. Euchner
Lattice Basis Reduction Algorithms and their Efficient Implementation on Parallel Systems by Timo Bartkewitz
Linear Hensel Lifting for ℤ(x,y) and ℤ(x) with Cubic Cost by Micheal Monagan
[Credits : Matthew Bolan and Neil on Monkeys Discord] |
These are all the papers (except 1) that was referenced ; which is useful and which isn’t is upto the reader. These are only mentioned here as quick references if something is needed asap
vizard by Neil(hube12) - Tool to visualize structure generation in Minecraft
Structure Finder - Structure Logger by Burger Guy
MineMap by KaptainWutax - amidst but really better <lol> || Minemap Download
SeedMapper by xpple - Do various things with the world seed.
MCTerrainRenderer by <Polymetric, Neil> - Terrain viewer utility to quickly see seeds and skip for testing
DiamondSim by 19MisterX98 - Diamond and Ancient Debris Finder || Showcase video
CrossroadFinder by Gaider10 - Find crossroad formations on a set seed
GPULootSeedFinder by jellejurre - Generate loot seeds on the GPU
SeedCandy by WearBlackAllDay - GUI program to crack seeds
Cubiomes-Viewer by Cubitect - Qt based map viewer and seed finder leveraging on Cubiomes lib
SeedSearcherStandaloneTool(SASSA) by ZodSmar - All in one utility for general seed searching for specific features
SeedcrackerX by 19MisterX98 - In-game seed cracking mod for all versions with GUI and other utils || How to use it || SeedCrackerX’s features demo
PigSpawnerFinder by Gaider10 - Find seeds with pig spawners
SeedCracker by KaptainWutax - in-game seed cracking mod for 1.16
TreeCracker(MSCT) by MCRCortex - Seed Cracker based on Trees
treecrackerPOS by Polymetric - Tree based minecraft seed cracker
MinecraftSeedReverse by YanWQ-monad - <Note: This is a largely unknown tool with no proper demos/tests available, you are on your own and the QnA is the way to get support.> Find a seed by the positions of the structures and biome information
DecompilerMC by Neil - Automated tool to grab Mojang Mappings and map the client/Server jar for Minecraft || The Code generated will be under src folder.
FrabricMC - Primarily a mod development environment, but also since you run genSources, you can view the source freely. Uses Yarn mappings || Setup Video by Technovision || The code for minecraft should be in external libraries and can be searched by pressing LShift
twice and pressing Alt + N . Now you can search whatever you want !
MCP-Reborn by Hexeption - Forge Modding Environment , but also allows browsing code classes , uses own maps or allows to use Mojang Mappings. Code generated by MCP-Reborn (default) is not shareable
SSG by Neil - 12 eye seeds searcher
Seedfinding.com by Neil - Gateway Locations and Shadow Seed finder
SeedInfo by Panda4994 - Seed <somewhat> analysis <more like facts> tool
seed-cheecker by jellejurre - Generate minecraft terrain 'accurately' and performs checks on it
bedrock coordinate locator by DaMatrix
Kaktoos by KaptainWutax - CUDA program to find tallest cactii
NBTExplorer by jaquadro - NBT data source viewer
SecureSeed by EarthComputer - Anti Seed Tamper Tech <idk if this is a joke or not>
Minecraft@Home’s #project-resources channel also houses some tools used in famous porjects (pack.png , herobrine seed etc) |
SeedUtils by KaptainWutax - lib for seed utility helper funcs
FeatureUtils by KaptainWutax - lib for "access to minecraft features"
BiomeUtils by KaptainWutax - lib for "biome generation replication"
NoiseUtils by KaptainWutax - lib for noise simulation
TerrainUtils by KaptainWutax - lib for terrain sim
MathUtils by KaptainWutax - lib for "maths utilities specific to lcg shortcutting and Minecraft world gen"
LattiCG_rs by Neil - LattiCG written in Rust
LattiCG by <mjtb49,KaptainWutax,Riley,Neil etc> - JavaRandom Internal Seed reversal with LLL alg and B&B alg || Latticg_example by Neil(hube12)
Regen by Rayferric - lcg reverser
libseedfinding by EarthComputer - C++ seed finding utilities
ChunkRandomReversal by mjtb49 - A collection of algorithms to reverse using partial information various hashes used by Minecraft to seed its ChunkRandom PRNG
Cubiomes by Cubitect - C Library to mimic terrain generation
js-cubiome by jan-leila - Javascript bindings for Cubiomes
Pyubiomes by 4gboframram - A wip easy-to-use Python wrapper for the most important utilities in Cubiomes (and soon to be more)
minecraft_end_generation_rs by Neil - lib for end generation, part of the SeedFinding factory
minecraft_nether_generation_rs by Neil - lib for nether generation, part of the SeedFinding factory
noise_rs by Neil - <wip> lib for noise replication, part of SeedFinding factory
java_random_rs by Neil - <wip> lib for java random utils, part of SeedFinding Factory
MCBiomes by Neil - <Probably> code to mimic biome generation <!not confirmed>
SEED by KaptainWutax - general index for all the "x"Utils library mentioned above; basically use FeatureUtils, BiomeUtils, SeedUtils, MathUtils freely with just this import || SEED fork by Neil - Rolling release of SEED with more forefront features and bug fixes, preferably use this |
SeedFinding by Neil - lib written in rust for various minecraft generators etc |
Old or deprecated tools aren’t listed but a full tool listing can be found all-tools.adoc(TBD)
Integers, Polynomials, and Rings : A Course in Algebra by Ronald S. Irving
A course in computational algebraic number theory by Henri Cohen
Lattice Basis Reduction: An Introduction to the LLL Algorithm and Its Applications by Murray R Bremner
Donald Knuth, The Art of Computer Programming, Volume 2, Section 3.2.1
Monkeys
Minecraft@Home
Minecraft Seedrunning’s #seed-research channel
Minecraft WorldGen
Neil’s Projects
Matthew’s Projects
/r/MinecraftSeeds subreddit-official server
1.13
1.14
1.13
1.16
1.17
=== No copyright infringement intended. === |