Coder Social home page Coder Social logo

laggoggles's Introduction

LagGoggles

Intuitive lag hunting!

Notice: For versions above 5.3 you need to have TickCentral installed!

TickCentral provides the functionality to be compatible with Mixin, and is intended to work across various Minecraft versions. I have decided to move away from Mixin because I noticed a lot of people having versioning issues with it. (One mod requiring version X, another shipping version Y, Change in behavior in version Z...)

I am currently working on a complete rewrite of this mod with added functionality.

The planned main functionality is listed below:

  • Throttling block ticking based upon tps, PER PLAYER. This means that every player gets an equal share of tick time on his/her machines. Needs performance testing to see if this is viable. TileEntities will be assigned owners when placed or claimed by a player. Done! This is part of Tiquality
  • Network profiling, monitor in and outgoing bytes
  • Browser interface instead of in-game. Allows for multi monitor setups and much more space to fit content in a proper manner.

If you have suggestions, I will take them into consideration.
LagGoggles is a profiler where you can see timings in the world, visually. It comes with a custom GUI using a configurable keybind. It's compatible with SpongeForge and Mixin.
You can use LagGoggles as a player too! This is my attempt to create an understanding of what causes lag on a server to regular players.
I noticed some common misconceptions like having machines spread out over different chunks causes less lag than putting it in one chunk.
With LagGoggles, you can look around and see that alot of small things like pipes or cables cause a tiny bit of lag most of the time, often resulting in more lag than a machine right next to the source would.

LagGoggles can also profile clientside FPS as of version 4.0! Note that this only works on rendering entities.

Download: here

Screenshots

LagGoggles enabled normal view
alt text alt text
alt text alt text
alt text alt text

alt text alt text alt text alt text

Video explaining the concept

Massive thanks to Grok DuckFarmer for making this video.

Minecraft Talk 35 - LagGoggles and Better Server Play

IMAGE ALT TEXT HERE

Features

  • Teleporting to sources of lag
  • Client GUI, including overlay and clickable menus
  • Colour scale for easy spotting of sources of lag.
  • Calculations are done on the client, so each client can have a different colour scale.
  • Clientside FPS support!
    • Checks render time for Entities, Tile entities and event subscribers
    • It's very young, but it should give some insight in what may cause FPS issues.
  • Config for client:
    • Custom gradients
    • Colorblindness support
  • Config for server
    • Custom permissions for players (non-operators)

Configuration

  • Drop the jar in the /mods folder
  • Make sure you have TickCentral installed. Try the latest version you can find first.
  • Serverside configuration is not required and has no effect.
  • Clients can edit the config to change the colour scale.

How it works

Entities, blocks and event-subscribers are timed using System.nanotime() before and after the tick() and update() methods. These times are recorded and sent to the client when the profiler is done.

Benefits

  • Visualisation of various sources of lag
  • Learn your players to build lag-free bases.

Dependencies

TickCentral

Incompatible

Tiquality, (for now)

laggoggles's People

Contributors

lxgaming avatar terminatornl avatar thatgamerblue avatar tomylobo 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.