Coder Social home page Coder Social logo

kombu-rordan / secureseed Goto Github PK

View Code? Open in Web Editor NEW

This project forked from earthcomputer/secureseed

0.0 0.0 0.0 103 KB

State-of-the-art cryptography to protect your world seed against seed cracking tools

License: MIT License

Java 100.00%

secureseed's Introduction

SecureSeed

State-of-the-art cryptography to protect your world seed against seed cracking tools.

This mod is written for the Fabric Mod Loader. If you have advanced knowledge on coding Spigot plugins, help with porting this to Spigot would be greatly appreciated.

How does it work?

  1. Increased the number of bits in the world seed from 64 to 1024. Although cracking a 64-bit seed with the other anti-seed-cracking measures is likely infeasible at the moment without access to a huge datacenter, we cannot rule out this possibility from the future, 1024 bits is likely to be safe for a very long time.
  2. Changed the random number generators from LCGs (and the homebrew RNG in the biome generator) to a fast cryptographically secure RNG based on the BLAKE2 secure hashing algorithm. This has a minor negative impact on performance of world gen, but ensures that players cannot derive any information about the world other than the blocks they can already see.
  3. Changed local seeding formulas throughout the world generator to a more secure "concatenation" approach enabled by the cryptographically secure RNG. The secureness of the RNG ensures that this concatenation cannot feasibly be derived from the outputs of the RNG, and that there are no weird links that can be exploited between the way different chunks and structures generate in the world.

Discord

https://discord.gg/Jg7Bun7

Installation

  1. Download and run the Fabric installer.
    • Click "download installer".
    • Note: this step may vary if you aren't using the vanilla launcher or an old version of Minecraft.
    • Follow the installation steps depending on whether you want to install on the client or the server.
  2. Download SecureSeed from the releases page and move it to the mods folder (.minecraft/mods).

Contributing

  1. Clone the repository
    git clone https://github.com/Earthcomputer/SecureSeed
    cd SecureSeed
    
  2. Generate the Minecraft source code
    ./gradlew genSources
    
    • Note: on Windows, use gradlew rather than ./gradlew.
  3. Import the project into your preferred IDE.
    1. If you use IntelliJ (the preferred option), you can simply import the project as a Gradle project.
    2. If you use Eclipse, you need to ./gradlew eclipse before importing the project as an Eclipse project.
  4. Edit the code
  5. After testing in the IDE, build a JAR to test whether it works outside the IDE too
    ./gradlew build
    
    The mod JAR may be found in the build/libs directory
  6. Create a pull request so that your changes can be integrated into SecureSeed
    • Note: for large contributions, create an issue before doing all that work, to ask whether your pull request is likely to be accepted

secureseed's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.