Dinnerbone / mcstatus

A Python class for checking the status of an enabled Minecraft server
http://dinnerbone.com/minecraft/tools/status/
1.11k stars 146 forks source link

📝 Documentation Overhaul 🚧 #136

Closed kevinkjt2000 closed 2 years ago

kevinkjt2000 commented 3 years ago

I have seen several issues asking for an online/offline feature or pasting a stacktrace of a timeout exception. Honestly, I'm surprised at the number of people that would install an extra library without understanding basic exception handling in Python, but I digress. There also have been feature requests that have nothing to do with what mcstatus is even about (such as RCON support). Well, we all start somewhere and I'm certain we could foster a more welcoming onboarding experience and a better user experience by overhauling the documentation for mcstatus.

Sorted by highest priority for the project, this is my opinionated list of things to do to improve the user experience:

Izergaer commented 2 years ago

Is it possible to know usernames of players who playing on server rn? I apologize if this is already there, but I cannot find documentation about it

kevinkjt2000 commented 2 years ago

@Izergaer The readme has an example that shows how to get player names from the query response. It's also possible to get player names from status. The CLI that comes with this library does both too https://github.com/Dinnerbone/mcstatus/blob/10cea643fa3866063c6b5b327fe890213ecee7f2/mcstatus/scripts/mcstatus.py#L56

ItsDrike commented 2 years ago

Give examples for decoding ISO 8859-1 into UTF-8 (otherwise, people are surprised with garbage characters

Why are we not doing this automatically? Is there some benefit in keeping it in ISO 8859-1? I feel like this will only cause more issues to appear over time as people won't know what's going on since it's non-trivial to figure out. Even when documented, it would just clutter the docs when we could easily do this on the library side.