pdinklag / minecraftstats Goto Github PK
View Code? Open in Web Editor NEWA Minecraft player statistics browser for the web - supports 1.13 and later!
Home Page: https://discord.gg/brH5PGG8By
License: Other
A Minecraft player statistics browser for the web - supports 1.13 and later!
Home Page: https://discord.gg/brH5PGG8By
License: Other
The following changes in snapshot 18w10a affect MinecraftStats:
tropical_fish
mobHi!
I'd like to use this python script with my dockerized minecraft (my github repo yet to be updated).
Differences:
$SERVER_DIR/config/<filename>
, so I can have the config as a seperate volume as well.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
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
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.
Snapshot 18w11a added Drowned zombies, which should get a kill statistic.
Hi,
actually, I just wanted to say thank you ๐
Anyway, I think there would be room for improvements like adding phpunit tests.
I haven't followed development lately. In my fork (outdated), I added a responsive layout for mobile devices. If you haven't got these modifications yet, I'd be happy to create another issue and merge those changes. See: https://github.com/bmhm/MinecraftStats/compare/4d01f56f13cd53305f47986bf6bae5719215277f...master
Thanks, and happy crafting!
Alchemist award doesn't count use of lingering potions.
Fix: use_potion.py add minecraft:lingering_potion to counted statistics.
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 ?
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
Should be on by default, i.e., one should have to activate a checkbox to see inactive players too.
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.
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.
Firefox says:
Use of mozImageSmoothingEnabled is deprecated. Please use the unprefixed imageSmoothingEnabled property instead.
MinecraftStats/js/mcstats-widgets.js
Line 147 in 06251bc
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.
There should be award related to Chorus plants.
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.
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.
Caravan Bandit does not count wandering villagers companion llamas.
Fix: Count kills against minecraft:trader_llama
Trying to add new stats, like spawners broken, scaffolding placed etc etc, wondering if theres a list from minecraft that can be used. Also will 1.14 blocks work e.g scaffolding ?
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.
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.
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 added some more new content that allow for new statistics and affect existing ones:
image-rendering: pixelated;
is not working in Firefox, even though Mozilla's CSS reference mentions it...
In any event, the value optimizeSpeed
seems to work for Firefox. It remains to be seen what Edge and Chrome think of that.
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
For yet to be determined reasons, the loader gif seems to move left when loading pages.
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.
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.
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
The tracking of killing endermite is working as intended.
https://bugs.mojang.com/browse/MC-33710
Confirmed working on my Spigot 1.8.7 installation with MinecraftStats
Just noticed that the 2d context flag imageSmoothingEnabled
is not supported by Firefox and only works in chrome. I should give mozImageSmoothingEnabled
a try.
In 1.13-pre5
, some entity IDs have changed. This may also apply to the correspondig stats, if any.
Unsure why, but this causes the award stat to go negative very quickly.
Easy to replicate by modifying save data.
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.
Players' skins are not updating unless $dataDir is removed and remade from scratch
Some stats easily get you negative scores (e.g. the Welfare award) - this should be avoided.
These differential stats should be revisited and probably simplified to what they were in 1.0.
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 :)
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?
Since 18w10d, corals are generated in the world.
There should be a Coral Collector award for coral blocks and plants mined.
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.
The following are ideas for 1.14 related 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'
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?
The stat says nobody has placed any sign, but almost everyone in the server, including me, clearly did.
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
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.
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.
The new advancements in 18w14a read like there could be new stats to track!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.