Code Monkey home page Code Monkey logo

minecraftstats's People

Contributors

azariasb avatar bmgxyz avatar braydofficial avatar coldcode69 avatar damarine avatar dominikodz avatar ikafly144 avatar jifish avatar jmdirksen avatar koishimoe avatar lukeeexd avatar mrhatter89 avatar pdinklag avatar ph59x avatar prof-bloodstone avatar spongecade avatar themrengman avatar weihao avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

minecraftstats's Issues

Snapshot 18w10a

The following changes in snapshot 18w10a affect MinecraftStats:

  • The Phantom model and skin was changed, so the related award needs a new icon.
  • The Fish Catcher award needs to consider the newly added tropical_fish mob

[Question] moved path, partial available data

Hi!

I'd like to use this python script with my dockerized minecraft (my github repo yet to be updated).

Differences:

  • My maps are in a subfolder named "maps", not in the main server directory. It's a separate docker volume.
  • the config files are just symlinks to $SERVER_DIR/config/<filename>, so I can have the config as a seperate volume as well.
  • The server is spigot, not vanilla.

Now, obviously, I cannot mount the whole Spigot Server into the MinecraftStats container. But I could mount the config (including players, etc.) and the maps.

Would that suffice?

Thanks and best regards,
Ben

Semicolon instead of plus sign

Hi pdinklag,

It's already some time ago i noticed the following error, but hadn't reported is yet.

In the config-stats.php on line 398 the semicolon at the end of the line should be a plus sign i guess.

For the rest i really like you project.
I use the code of the score for the Suspect award for banning players from my server, the only thing i might change in the future is that the score will always decrease over time, not just the first 4 hours of play time. Oh and i might add a compare between stone mined and diamond mined to detect XRay cheaters.

Thnx,

Jefta

Minimum playtime to enter statistics

update.py should get a "minimum playtime" parameter. Players who played less than the specified amount of time (e.g. one hour) should not be considered in the database at all.

Updating Skins Fails

Only issue I'm having with the past 2 updates is "Failed to update skins". All new players on the board show only default skins.
Screen Shot 2019-05-31 at 12 48 21 AM
Screen Shot 2019-05-31 at 12 48 41 AM

Just installed but isn't showing every player

Hi, just installed this and worked straight away which I'm amazed about. however it isnt showing every player in the stats. I ran update.py first and it loaded 2 people, ran it again and loaded 1 more. Theres been 259 people who have joined the server (map is 2 weeks old) do they all get added few at a time or ?

https://tws-mc.com/stats/

Edit: it seems it will load someone once they login. It doesnt load anyone that was logged already when installed. Am I correct in saying this?

Edit2: How can I get a space in server name when doing --server-name. If I add a space to server name it wont work

Some stats not working in 18w10d

Some stats seem to not be working in 18w10d, namely time since last sleep.
After checking some players' stat files, it appears as though this is a Minecraft bug, because the stat is not even in the JSON files. This needs to be observed.

Responsive Layout

The application should get a responsive layout that works well on mobile devices. The new layout should also fix the layouting problems that occasionally appear in desktop browsers.

Fix indeterministic rankings

Rankings are currently non-deterministic. That is, if the database is updated on the very same data two times, the ranking result may be different.

This is because player data is stored in a hashmap. Players who have the same score for some stat will thus be ordered arbitrarily each time the database is updated, which may cause medals to be distributed differently every time.

Players should get some kind of a monotonic ID that never changes and is used for a final sorting decision, e.g. the GUID.

DataVersion sensitivity

Right now, MinecraftStats follows a bleeding edge philosophy, quickly incorporating changes made in shapshots. In the future, this may become more and more problematic as the JSON file format changes (see, for example, #31).

All stats should get a minimum and maximum DataVersion that they support. This way, player stats with a non-matching data version would simply be ignored. When sharing IDs, this would also allow for the same stat to support multiple versions of Minecraft.

Website stuck on "Loading"

The python script retrives the player data and I've confirmed it does upload json files, however the website does not seem to be receiving any data. I cloned the GIT project so I have not moved any files around.

Data anomaly concerning minimum play time?

Apparently, when the minimum playtime is reconfigured, players that are already in the database stay registered, but their JSON file will be removed. This causes them to show up in the Players list, but clicking on the player name will get the client stuck on "Loading..." since the request for the JSON file 404s.

Skins aren't updated

The --skin_update_interval option is currently completely useless, because what's checked against it is the time since the last stat update. Unless that is longer than 24 hours, skins will never be updated.

V2 for 1.13 Support

Minecraft JE 1.13 will change nearly everything concerning the statistics.

Because it's practically impossible to keep it compatible to older Minecraft statistic versions, this will mean a version 2 that only supports 1.13 snapshots and forward.

Snapshot 18w15a

Snapshot 18w15a added some more new content that allow for new statistics and affect existing ones:

  • Dolphin mobs
  • Conduit blocks
  • Blue Ice (should be considered by Ice Breaker award)
  • Nautilus Shell and Heart of the Sea items (treasures of some kind?)

Spelling error on stat

config-stats.php line 190 I believe has a spelling error
From:
safeGet('stat.useItem.minecraft.cooked_fished', $json, 0) +
To:
safeGet('stat.useItem.minecraft.cooked_fish', $json, 0) +
to display proper stats in the "Fish Gourmet" achivement

Optionally force UUID to name resolution using Mojang API for non-cached players

When players aren't in the usercache.json, they aren't found. As seen in #45 this can be an issue for new Minecraft Stats installations where all players should be imported.

Resolving UUIDs to names from the Mojang API would be too expensive to do each time update.py is invoked, so something like a --force-resolve-uuid option would help here.

Crown Score ordering

When two players have the same crown score, the medals need to be considered in the ordernig. For instance, one silver medal should be worth more than two bronze medals, even if the score is the same.

Minecraft and WebServer on Different Machines

To start: Minecraft Version is 1.12.2
MinecraftStats 1.0

So, My Minecraft is hosted on one server,
and my webserver is a completely different host.
My Minecraft Server Allows FTP, so...

I managed to pull the files via CRON PHP FTP, however,
I noticed you're getting the Last Online time from the modified times
from the Files in the Raw Directory.

Which, since it write via FTP, updates it to the time FTP pulled it...

Found a solution for all of this, so I decided to post it here, incase
this can be used as a second option in case Minecraft and MinecraftStats
are not hosted on same machine.
Named it ftp.php, placed in root directory and run it as a CRON

I'd suggest visiting http://yourwebsite.com/path.to/MinecraftStats/ftp.php
to make sure running correctly

ftp.txt

1.13-pre5

In 1.13-pre5, some entity IDs have changed. This may also apply to the correspondig stats, if any.

Rankings displayed in profiles of inactive players

Inactive players are not eligible for the rankings. Viewing the data of an inactive player, however, will display outdated rankings that they had when they were last active.

The rankings should be cleared for players who become inactive.

Advancements Display

Is it possible to add /advancements data to stats? In this case player can also check their progress in the server which create more "sticky" factor to stay :)

Newbie Question: how to run update.py

My minecraft server is from one host, and my website server is from another.

I copy all file to domain.com/stats

where and how do i run the update.py script from my website host? and /path/to/server as ip:port?

Snapshot 18w10d

Since 18w10d, corals are generated in the world.
There should be a Coral Collector award for coral blocks and plants mined.

Player names aren't updated

Players can change their names. However, a player's name is currently only retrieved the first time a UUID is seen and isn't updated anymore from that point forward.

1.14 stuffs

The following are ideas for 1.14 related stats:

  • Foxes killed
  • Ravagers killed
  • Wandering traders met / killed
  • Pillager banners obtained

Issue updating stats

Running v2 on 1.13, getting the following error. If I re-run the script over and over, it fails at different usernames in different orders and generates the same error.

failed to update skin for [redacted player name]
Traceback (most recent call last):
  File "update.py", line 239, in <module>
    'last': player['last'],
KeyError: 'last'

If newAwardWinners do this?

This is something you might be able to help me with in an easy way. When running the update.php I also need it to do:

foreach (awardwinner) that differs from the awardwinner in the awardsOutput.txt {

}

Is that something you could help with?

Updating

Hi,
Thanks for adding a great feature for servers.

Am I correct in my understanding that, in order to update the stats, I must move the contents of the stats dir from the server to the raw dir.

When I do this is shows that every user was last online at the time update.php was ran. I noticed that your website shows different times for every player.

Regards
Matt

Basic Setup.

Is there a basic guide on setup. I'm finding my biggest issue is I don't know how to say dump server stats or retrive the server stats. I know the player dat files are UUID's now not sure if they go into the data or raw folder if I should even be creating them etc.

Thanks.

Kitty Killer only counts ocelot kills

The Kitty Killer aware only counts ocelot kills, and not cats (like the description suggests).
Fix: Include stat for minecraft:killed minecraft:cat to Kitty Killer.

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.