GithubHelp home page GithubHelp logo

remainingtoast / paperbin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from x4e/paperbin

1.0 0.0 0.0 22.92 MB

An experiment at improving the performance of PaperMC

License: Other

Kotlin 83.43% Java 8.45% Rust 7.68% Shell 0.43%

paperbin's Introduction

PaperBin ๐Ÿ—‘๏ธ

Java CI with Gradle Downloads Discord

An experiment at improving the performance of PaperMC.

This project uses jvmti to modify Minecraft classes at runtime. Because of this paperbin can even be run on top of modified versions of paper.

Donate

You can donate by sending bitcoin to bc1q35vyw5rudnttchglj3rch9p2j9xxannumn3muv.

Usage

Note: It is highly recommended to run PaperBin on Java 15 using ZGC and large pages for best performance.

Download the latest 1.12.2 release from Paper's website.

Go to the releases and download PaperBin.jar as well as the relevant native library for your platform (dll for windows, dylib for mac, so for linux). The following commands will be for the linux native library, adapt them for your one.

java -jar paper-1.12.2-1618.jar
java -agentpath:libJvmClassHook.so -jar PaperBin.jar cache/patched_1.12.2.jar

The first command should exit with an error. If it does not then quit it yourself once it has finished starting up the server.

Testomonials

paperbin did lots of impovements to my server i can f***ing handle 15k entities in 4 chunks without tps drop

(Kaspian#8508)

paperbin runs great for a server with 100+ players and wont affect breaking blocks or eating that much when the tps is low would recommend

(cubebuilderunderscore#4344)

thanks for making such a helpful server tool

(Gav#7669)

Test Server

This plugin is currently active on oldfag.org, feel free to connect and test it out, there are no rules.

Features:

  • Multithreaded mob ai goal calculation
  • Anti Chunk Ban
  • Anti Crasher (book exploit)
  • Anti Dupe (portal entity exploit)
  • Anti Elytra Fly (infinite durability exploit)
  • Anti Grief (various exploits to break end portals)
  • Anti Nether Roof (prevent people glitching above/below bedrock or outside the world border)
  • Anti Portal God Mode (exploit allowing invincibility after travelling through a portal)
  • Anti Unicode Chat
  • Block Tick Rate Limiter (limit the rate at which blocks are ticked)
  • Chunk Loading Optimisations (remove some unecessary locks)
  • Faster Game Rule Lookups (average O(1) vs original O(n))
  • Mob AI Rate Limiting
  • Optimised everyone sleeping checks
  • Tps Compensation for events such as food/potion consumption, furnace/brewing progress etc
  • Village rate limiter (rate limit the rate at which villages are updated)

Configuration

The first time you run PaperBin it will output the default config to paperbin.properties, just replace the defaults as necessary.

Building

Paperbin needs the patched paper jar as a dependency, so you will need to follow these build steps.

git clone https://github.com/x4e/PaperBin
cd PaperBin
mkdir paperbin
wget https://papermc.io/api/v2/projects/paper/versions/1.12.2/builds/1618/downloads/paper-1.12.2-1618.jar -O paperbin/paper.jar
cd paperbin
java -jar paper.jar
cd ../
./build.sh

YourKit

YourKit

Thank you YourKit for supporting this project with their amazing profiler.

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.

paperbin's People

Contributors

x4e avatar remainingtoast avatar 5ht2 avatar charlie353535 avatar fee1-dead avatar tigermouthbear avatar not-ivy avatar willemml avatar

Stargazers

 avatar

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.