Développeur Edinrio Recrute 1 Developpeur Java

Sandaki

Architecte en herbe
1 Avril 2017
108
2
125
Bonjour je suis fondateur d'un serveur Minecraft en 1.16.5. Je recherche un développeur java pour un petit plugin.



Cahier des charges :
Nous souhaitons une version modifiée de RestPlaceholderAPI (https://www.spigotmc.org/resources/rest-placeholderapi.90266/) car nous souhaitons faire une liaison entre un bot fait maison de notre discord et notre serveur Minecraft open crack. Mais nous ne pouvons pas récupérer les placeholders des joueurs avec des comptes cracks à cause de leur uuid propre au serveur.

Pour régler ça on a besoin d'un plugin qui fait exactement la même chose que RestPlaceholderAPI sauf qu'il faudrait modifier ces 2 choses :

- Enlever système de demande de Token pour faire une requête
- Modifier la façon de choisir le joueur dans la requête en remplaçant le uuid par son pseudonyme

Base du code utilisé pour faire nos requêtes :
axios.get('http://185.142.53.39:8080/efd3fe3d-a41e-41b5-aa10-479781908c5c/player_name', {
headers: {
'token': ${token}
}
})
.then((res) => {
console.log(res.data)
})
.catch((error) => {
console.error(error)
})

Le code final qu'on voudrait :
axios.get('http://185.142.53.39:8080/_Aube_/player_name', {})
.then((res) => {
console.log(res.data)
})
.catch((error) => {
console.error(error)
})
 

ShE3py

Enbogueuse
Support
26 Septembre 2015
4 087
157
456
247
21
Mìlhüsa
Bonsoir,

Enlever système de demande de Token pour faire une requête
Non. C'est complètement débile d'enlever une sécurité, encore plus sans aucune raison.

Modifier la façon de choisir le joueur dans la requête en remplaçant le uuid par son pseudonyme
Il est possible de convertir le pseudonyme en son UUID offline-mode :
Java:
// net.minecraft.world.entity.player.EntityHuman
public static UUID getOfflineUUID(String name) {
    return UUID.nameUUIDFromBytes(("OfflinePlayer:" + name).getBytes(StandardCharsets.UTF_8));
}

Si le bot Discord n'est pas programmé en Java/Kotlin, il suffit de trouver une library d'UUID (RFC 4122) et une autre qui implémente le MD5 (RFC 1321), puis de réimplémenter UUID#nameUUIDFromBytes(byte[]) (version 3 namespace name-based UUID) dans ledit langage. Je peux éventuellement vous écrire la fonction si vous me précisez le langage.

Cordialement,
ShE3py