Code Monkey home page Code Monkey logo

mcsr-serversiderng-1.16.1's Introduction

ServerSideRNG

ko-fi

ServerSideRNG is an open-source, lightweight Minecraft Fabric mod that helps to ensure the legitimacy of Minecraft Speedruns, achieved by calculating important random values on a verification server.

This mod has been developed with Minecraft Java Edition Speedrunning Moderation team and is both legal and encouraged for speedrun.com submissions. ServerSideRNG requires you to have a Mojang account. Even though having a constant internet connection is recommended, you can still gain value with an unstable one.

By using ServerSideRNG you agree to your UUID (the public ID associated with your Minecraft username) to get uploaded to a private verification server. The data on the server is only visible to Speedrun.com Verifiers and Leaderboard mods.

Speedrun.com Submissions

You can find a ZIP-File with your world name in ".minecraft/verification-zips". Include this file in your Speedrun.com submission like you include your world file (e. g. via google drive)

Usage

ServerSideRNG will automatically verify the RNG of your runs without any player input required. After completing a run, make sure that the run has been uploaded. The run uploads automatically when:

  • Running the /seed command (gives a chat response)
  • Terminating the game
  • Being outside a world for 10 seconds
  • Completing a SpeedrunIGT run (gives a chat response) You can also manually upload your Speedrun via the "/serversiderng_uploadRun" command. If you think your run might not have been uploaded, immediately open a help thread in the Minecraft Java Edition Speedrunning Discord.

Config

You can turn off the first three methods of uploading your Speedrun listed above via the ".minecraft/config/serversiderng/serversiderng.properties" file. Turning any of these methods off is not recommended.

Javadoc

https://voidxwalker.github.io

##License GitHub license

Authors

mcsr-serversiderng-1.16.1's People

Contributors

audiosalix avatar jan-leila avatar pistacium avatar voidxwalker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

moongazer07

mcsr-serversiderng-1.16.1's Issues

Concept exploitable?

Hello, I might have found a serious issue with the mod.
Full disclaimer: This is my opinion, I might have a faulty thought process.

In its current state, the server supplies a seed from which the client derives seeds for the random generators related to each implemented "random" in-game event.
Having a separate random generator for each random event does indeed make it easy for a mod to verify a run's integrity by simply checking if the runner's random generator behaves the same way as theirs.
In my opinion, this approach is fatally flawed.
By fetching the seed the server supplies at the beginning of a run, a runner can simply "calculate their future luck" by generating the stream of events a LRNG with the given seed should produce (similar to how people verifying runs would) prior to running, thus giving them crucial information to decide on whether to request a new seed from the server ("resetting").

tl;dr: With the correct skills, someone could make it so that their drop rates are significantly higher than they should by automatically skipping runs in which the seed isn't in their favor.

One might suggest leaving the game logic as-is; using one LRNG for all random events; But this approach also bears fatal problems for the mod which I will not explain here.

edit: removed a part since it might be misinterpretable

Game insta crashes

My game just instantly crashes when trying to start it with this mod.

Mod not working on Linux

Version Information

7.0.0

Expected Behavior

Getting a response about run submission after /seed etc. on linux

Actual Behavior

When I open the game or create a new world with the mod enabled, I get errors in the log such as "Failed to create new RNGSession". Also when doing /seed there's no message about the run submission. Log file with more details attached below.

Reproduction Steps

Opening the game, creating a new world.

System Information

  • Java Version: 19.0.2
  • CPU: Intel i5-12400F
  • GPU: AMD RX 6600
  • OS: Fedora Linux 37

Other Information

Log file:
log file.zip
List of mods:
Screenshot from 2023-02-28 00-41-41

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.