Hallo,
ich habe ein Tool geschrieben, das es ermöglicht per Name oder UUID an die Profilinformationen eines Minecraftaccounts zu kommen.
Das tool erleichtert es an die Informationen zu kommen, da man hier anstelle der POST methode die GET methode verwenden kann.
Name -> Profil:
Um durch einen Namen an die Profil-Informationen zu kommen muss diese URL aufgerufen werden:
Code:
http://mcprofileinfo.f012.de/{name}
{name} muss hier durch den Spielernamen ersetzt werden.
Der zurückgegebene JSON-String sieht sollte dann etwa so aussehen:
Code:
{"status":"success","statusCode":0,"content":{"profiles":[{"id":"65537f3d92284cc99ebeeea6c7ec1284","name":"thefloppy012","legacy":true,"demo":true}],"size":1}}
Dieser Account ist nicht premium (dennoch bei Minecraft registriert), und hat seinen Minecraft account auch nicht Migriert.
Bedeutungen:
Index | Wert | Bedeutung |
---|
status | error oder success | Sagt aus ob die Abfrage erfolgreich war oder ob es einen Fehler gab. |
statusCode | Integer zwischen 0 und 2 | Siehe weiter unten. |
content | JSON-String | Siehe weiter unten. |
StatusCodes:
Code | Bedeutung |
---|
0 | Abfrage erfolgreich. |
1 | Abfrage erfolgreich doch es wurde kein Profil gefunden. |
2 | Abfrage nicht erfolgreich (Mojang Server nicht erreichbar) |
Content erklärung:
Index | Wert | Bedeutung |
---|
profiles | JSON-String | Siehe unten. |
size | Integer | Zeigt an wie viele Profile gefunden wurden. Für spätere Versionen. |
profiles erklärung:
Index | Wert | Bedeutung | Anmerkung |
---|
id | String | Universally Unique Identifier | |
name | String | Spielername | |
legacy | Boolean | Gibt an, ob derjenige seinen Account migratet hat. true = nicht migrated. Danke an Howaner! | Nicht im String enthalten wenn false. |
demo | Boolean | Sagt aus, ob der User nur die Demo spielen kann oder nicht. | Nicht im String enthalten wenn false. |
UUID -> Profil:
Um durch eine UUID an die Profil-Informationen zu kommen muss folgende URL aufgerufen werden:
Code:
http://mcprofileinfo.f012.de/uuid/{uuid}
{uuid} muss hier durch die UUID ersetzt werden.
Der zurückgegebene JSON-String sieht dann etwa so aus:
Code:
{"status":"success","statusCode":0,"content":{"id":"65537f3d92284cc99ebeeea6c7ec1284","name":"thefloppy012","properties":[{"name":"textures","value":"eyJ0aW1lc3RhbXAiOjEzOTc0ODA3OTI2ODcsInByb2ZpbGVJZCI6IjY1NTM3ZjNkOTIyODRjYzk5ZWJlZWVhNmM3ZWMxMjg0IiwicHJvZmlsZU5hbWUiOiJ0aGVmbG9wcHkwMTIiLCJpc1B1YmxpYyI6dHJ1ZSwidGV4dHVyZXMiOnt9fQ==","signature":"d8KPmsgoXeL74jtsbeYT\/wTsGfmLpFSTF+o26VgFmn8VJlYw++hshHDu+MZaT\/A6xes2S+ls\/xjLLXRdzh8ixXUfspXFkRj5v7A0jNm7Kog+0FE5Ki5foWx7fWI5nc7oJgUa\/ajuxCh9ZDAjo9t7ew4oH0ygNWl9aWgUty9QmrSIz0Xiyp9aspShowh3\/k9qnaeaF1cn\/69PbsX7zOkkIzEq\/KeRHlIderizc5qPxo9QvJceZ35dpc21kHRxPfighjkC+3Ujq8B2S2+kOPlwydNeCyUPnfVg7OCoAjqf8xEcNWwJZT03ZbJTtlxrDFFPFVI6jk1cYUucYi0ytPiTn9I\/fCVhcIZNNzLSRikvyeIeCplCa+8QvFTICygNa+BhqVaPyPRSTXgtDbN+qZri6M21FEP\/S9sCzFmSCliCRgZhnywg229wFCYBC3CXSRgYrxup4T\/MZNcfwEnNK2pZxXClB2jaCU5vUB1IHEniJCAa64vO7nWnbcfiR32qYmU0UOhAyf\/QFGOJETN9PZijKruWUuGq8ec91dIQbYqD530QQj04iYRgv7G16\/p+SMYj5zPGwqtlWdHhdYAjYtvj6MuFH3lceWsfdD+tfUfnz7Mmw9b58Jbp1gfWz1eSGKyovwpj0VwME9YKH\/rYCvTTPTS3vK5DSo5rRcHyUGowm4Q="}],"legacy":true,"demo":true}}
Bedeutungen:
Index | Wert | Bedeutung |
---|
status | error oder success | Sagt aus ob die Abfrage erfolgreich war oder ob es einen Fehler gab. |
statusCode | Integer zwischen 0 und 2 | Siehe weiter unten. |
content | JSON-String | Siehe weiter unten. |
StatusCodes:
Code | Bedeutung |
---|
0 | Abfrage erfolgreich. |
1 | Abfrage erfolgreich doch es wurde kein Profil gefunden. |
2 | Abfrage nicht erfolgreich (Mojang Server nicht erreichbar) |
content erklärung:
Index | Wert | Bedeutung | Anmerkung |
---|
id | String | Universally Unique Identifier | |
name | String | Spielername | |
properties | JSON-String | Siehe unten | |
legacy | Boolean | Gibt an, ob derjenige seinen Account migratet hat. true = nicht migrated. Danke an Howaner! | Nicht im String enthalten wenn false. |
demo | Boolean | Sagt aus, ob der User nur die Demo spielen kann oder nicht. | Nicht im String enthalten wenn false. |
properties erklärung:
Index | Wert | Bedeutung | Anmerkung |
---|
name | String | Name der Einstellung | |
value | String | Base64 Codierter JSON-String (Weiter unten mehr) | Verändert sich andauernd durch einen Timestamp |
signature | String | ? | ? |
Danke an ComputerBaer!
Texturen Informationen:
Das ganze kann man nun mit Namen oder UUID machen.
Um über den Namen an die Texturen zu kommen, verwendet man diese URL:
Code:
http://mcprofileinfo.f012.de/textures/{name}
{name} muss auch hier natürlich durch den Namen ersetzt werden.
Um über die UUID an die Texturen zu kommen, verwendet man diese URL:
Code:
http://mcprofileinfo.f012.de/textures/uuid/{uuid}
{uuid} durch die UUID ersetzen.
Bei beiden Varianten kommt das selbe Format des JSON-Strings bei raus:
Code:
{"status":"success","statusCode":0,"content":{"timestamp":1397490359595,"profileId":"069a79f444e94726a5befca90e38aaf5","profileName":"Notch","isPublic":true,"textures":{"CAPE":{"url":"http:\/\/textures.minecraft.net\/texture\/3f688e0e699b3d9fe448b5bb50a3a288f9c589762b3dae8308842122dcb81"},"SKIN":{"url":"http:\/\/textures.minecraft.net\/texture\/a116e69a845e227f7ca1fdde8c357c8c821ebd4ba619382ea4a1f87d4ae94"}}}}
Ich habe in dem Beispiel mal Notch genommen, da er auch noch einen Cape hat.
Bedeutungen:
Index | Wert | Bedeutung |
---|
status | error oder success | Sagt aus ob die Abfrage erfolgreich war oder ob es einen Fehler gab. |
statusCode | Integer zwischen 0 und 2 | Siehe weiter unten. |
content | JSON-String | Siehe weiter unten. |
StatusCodes:
Code | Bedeutung |
---|
0 | Abfrage erfolgreich. |
1 | Abfrage erfolgreich doch es wurde kein Profil gefunden. |
2 | Abfrage nicht erfolgreich (Mojang Server nicht erreichbar) |
content erklärung:
Index | Wert | Bedeutung | Anmerkung |
---|
timestamp | Integer | Der Timestamp wann die Informationen abgerufen wurden. | |
profileId | String | Universal Unique Identifier | |
profileName | String | Spielername | |
isPublic | Boolean | ? | |
textures | JSON-String | Beinhaltet die Informationen zu den Texturen bis jetzt (SKIN und CAPE). Siehe unten. | |
textures erklärung:
Index | Bedeutung |
---|
SKIN | Alles zur Skin Textur |
CAPE | Alles zur Cape Textur. Verschwindet wenn nicht vorhanden. |
Texturinformationen erklärung:
Index | Bedeutung |
---|
url | Die URL zur Textur |
Verbesserungsvorschläge sind gerne gesehen. Ich werde die Tage noch eine Benutzerfreundliche Seite programmieren
Sollte noch etwas unklar sein, dann könnt ihr einfach fragen
Update auf API 0.2
- Bugfixes
- UUID -> Profil hinzugefügt. Danke an ComputerBaer
Update auf API 0.21
- Name -> Profil zeigt nun auch die Properties an
Update auf API 0.3
- Textur Informationen können nun abgerufen werden
Mit freundlichen Grüßen
Floppy012