Git Product home page Git Product logo

vmp-fabric's Introduction

Very Many Players

Github-CI Build Status Discord

A Fabric mod designed to improve server performance at high playercounts.

VMP is still in early development and things may break. Please report any issues to our issue tracker.

So what is VMP?

Very Many Players, or VMP for short, is a Fabric mod designed to improve general server performance at high playercount without sacrificing vanilla functionality or behavior.
For the best performance it is recommended to use VMP along with Lithium.

How VMP achieves its performance improvements?

This list may contain features currently unreleased and only found in development builds

Server-side game logic performance improvements:

  • Uses area maps to optimize nearby packet sending and player lookups
  • Uses cache to optimize entity trackers, fluid state lookups, ingredient matching and biome lookup
  • Optimizes natural spawning with caches and other tricks
  • Optimizes entity tracking with area maps
  • Optimizes entity iteration for collisions
  • Optimizes ticket propagator using MCUtil from the Paper project (patch licensed under MIT)
  • Makes initial chunk loading async on player login
  • Makes several commands run async only when issued by a player

Client-side game logic performance improvements:

  • Makes time source to use built-in Java time source instead of GLFW via JNI calls

Networking performance & responsiveness improvements:

  • Uses our own chunk sending mechanism (optionally with packet-level rate-limiting)
  • Adds packet-level per-player render distance
  • Makes vanilla tcp connections more responsive using packet priority from raknetify
    (works best when the server is connected without reverse proxies such as Velocity and SSH port forwarding)
  • Mitigates several kinds of bot attacks with split event loops and optimizations

Other improvements:

  • Uses AsyncAppender to improve logging performance and keep logging IO off the main thread

... and more

Support

Issue tracker
Discord server

Building and setting up

Requires Java 17 or later, both to build it and to use it.
Use Git to clone this repository, do NOT download zip
Run the following commands in the project directory:

./gradlew clean build

License

License information can be found here.

vmp-fabric's People

Contributors

ishland 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.