Giter Site home page Giter Site logo

Comments (30)

RoinujNosde avatar RoinujNosde commented on September 26, 2024 1

As for the broken next page button, its not saying loading, no. it does nothing when clicked.

Got it, just found the problem.

Self-note: the Paginator is being recreated when the button is clicked.

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024 1

@TomLewis Is your test server on the same network as the live one?

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024 1

I don't think it a good idea pulling on server startup as that adds loading time until the server is working

It's async.

How is there not an library already that caches skins, it seems like there should be something that already exists!

Bukkit does it. This is what SC is using.

1 and 3: I would have to create my own caching system. I rather avoid doing so as it would require a different class per supported Spigot version.

2: What makes a clan active? Not only on server start, but every hour, as the cache expires.

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024 1

I fixed it.

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024 1

@TomLewis I've added the cache task as a hidden feature, since it needs more testing. Enable it like this:

performance:
  cache-player-heads: true
  save-periodically: false
  save-interval: 10
  use-threads: true
  use-bungeecord: false

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024 1

Can you send me your playerdata folder? So that I can try to improve the caching.
(Information playerdata files contain: https://minecraft.gamepedia.com/Player.dat_format)

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024 1

I can, its very large. 1.5GB just for the playerdata folder.

It's alright

Alright, Let me download a backup of my world, then I will extract this folder, re-compress it and send it to you on Discord.

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

You mentioned massive lag on the title. You meant delay, right?

  1. The cache is per server and it expires every hour.
    Do the following: open the roster, let it load. Ask someone (from the same clan) to do the same, this second person shouldn't experience this delay.

  2. Does the loading message show on the next button?

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

You mentioned massive lag on the title. You meant delay, right?

1. The cache is per server and it expires every hour.
   Do the following: open the roster, let it load. Ask someone (from the same clan) to do the same, this second person shouldn't experience this delay.

2. Does the loading message show on the next button?

Delay is a better word, updated.

This delay cant be just for loading 1 page of a crew? A crew with about 60 people in it took a good 60-120 seconds to load.
When one person clicks it, is it loading the entire servers crews into the cache?
I have 1348 clans, and 13,713 people in my sc_players table.

I assume its caching heads? When one crew does their roster is it doing the entire crew, the entire server, or just that 1 page that there loading?

As for the broken next page button, its not saying loading, no. it does nothing when clicked.

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

I assume its caching heads?

Yes

When one crew does their roster is it doing the entire crew, the entire server, or just that 1 page that there loading?

Just one page

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

@TomLewis Is your test server on the same network as the live one?

yes! its the same machine!

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

You can request the same profile once per minute, however you can send as many unique requests as you like.

(From wiki.vg)

Maybe you ran both servers at the same time and reached the limit?

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

You can request the same profile once per minute, however you can send as many unique requests as you like.

(From wiki.vg)

Maybe you ran both servers at the same time and reached the limit?

Are you not loading per page tho? Shouldn't even touch the limit, only if you are trying to load all 250,000 users, that might be an issue hahaha

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

only if you are trying to load all 250,000 users

That's not the case haha

It shouldn't touch the limit if you are using one server on the network.
But if you use 2 at the same time and try to get the skin of the same player you will have to wait 60 seconds.

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

It shouldn't touch the limit if you are using one server on the network.

The test server is barley used, it has only a few players a day on it, I saw that SimpleClans has a bungee setting would this not contradict only using it on one server, I would like to use it on multiple so I can test/use it on other servers.
You could keep a cahce in MySQL thats shared?

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

I've developed a task that gets all skins on enable and updates them every hour.
So players shouldn't experience any delay. Would you like to test it?

Maybe you could give me some feedback, like: get all skins or only from players in clans (the remaining would be loaded when need, ex. Leaderboard)

I saw that SimpleClans has a bungee setting

This setting is misleading... I need to implement real bungee support or remove it.

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

I've developed a task that gets all skins on enable and updates them every hour.
So players shouldn't experience any delay. Would you like to test it?

Yes I can test! I don't think it a good idea pulling on server startup as that adds loading time until the server is working, but there has to be a way to do it based on how active crews are.

Maybe:

  1. For speed have a placeholder head "hourglass" when loading heads, so as soon as you click it, all the users load and if they are not cached it shows a hourglass until they are loaded. https://minecraft-heads.com/custom-heads/search?searchword=hourglass
  2. Pull heads asynchronous based on active crews once the servers started, So if you track how active crews are, maybe do a call for just these in async.
  3. You could update individual heads once someone logs on per player, player logs on, cache their skin for 5days (let us set the time)

How is there not an library already that caches skins, it seems like there should be something that already exists!

I have 13,000 crews, but I have only about 250 that are active, so this could be done for active crews only.

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

Alright, did you find the issue with going to the next pages? They straight up just dont work.

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

Brilliant thanks, I will get this on my prod.
What is "use-threads" as mine is set to false.

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

What is "use-threads" as mine is set to false.

This option writes changes to the db using a different thread to not cause lag on the main thread.

from simpleclans.

SrBedrock avatar SrBedrock commented on September 26, 2024

What is "use-threads" as mine is set to false.

This option writes changes to the db using a different thread to not cause lag on the main thread.

[13:09:35 ERROR]: Nag author: 'Phaed' of 'SimpleClans' about the following: This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies.

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

@SrBedrock use-threads: true gives you that warning? Open a new issue, please.

from simpleclans.

SrBedrock avatar SrBedrock commented on September 26, 2024

@SrBedrock use-threads: true gives you that warning? Open a new issue, please.

Yes.

from simpleclans.

SrBedrock avatar SrBedrock commented on September 26, 2024

Issue open #49

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

After using 2.13.1 Clicking on Roster still has a massive delay even with cache-player-heads.

I still suggest placeholder heads until they are loaded into cache instead of waiting 60-120 seconds for it to finish loading.

Then It would be nice to have a setting to manage the cache, most players dont change their skin that often, I would set my cache to 1 month or something high.

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

Can you send me your playerdata folder? So that I can try to improve the caching.
(Information playerdata files contain: https://minecraft.gamepedia.com/Player.dat_format)

I can, its very large. 1.5GB just for the playerdata folder.

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

I can, its very large. 1.5GB just for the playerdata folder.

It's alright

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

@TomLewis still an issue?

from simpleclans.

TomLewis avatar TomLewis commented on September 26, 2024

Did I send you the data? I cant remember now.
The clan roster is still very, very slow. I still suggest a placeholder head until they are loaded, so then the page opens instantly with the placeholder and loads their heads on top. Thats how the "Heads Database" loads custom heads.
https://www.spigotmc.org/resources/head-database.14280/

from simpleclans.

RoinujNosde avatar RoinujNosde commented on September 26, 2024

Did I send you the data? I cant remember now.

Nope.

The clan roster is still very, very slow. I still suggest a placeholder head until they are loaded, so then the page opens instantly with the placeholder and loads their heads on top. Thats how the "Heads Database" loads custom heads.
https://www.spigotmc.org/resources/head-database.14280/

I would like to test first the current solution.

from simpleclans.

Related Issues (20)

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.