SQLite ou MySQL pour ton plugin Minecraft ? Le pilote SQLite est déjà dans Paper, MySQL ne sert qu’à plusieurs serveurs, et 75,1 % des serveurs tombent dans le piège de l’UUID hors ligne. Code Java réel.
SQLite pour un serveur unique, quel que soit le nombre de joueurs : son pilote JDBC est déjà fourni avec Paper, donc zéro dépendance à ajouter. MySQL uniquement quand plusieurs serveurs doivent partager les mêmes données, parce qu’un fichier SQLite ne supporte pas deux processus qui écrivent dessus.
SQLite pour un serveur unique, quel que soit le nombre de joueurs : son pilote JDBC est déjà fourni avec Paper, donc zéro dépendance à ajouter. MySQL uniquement quand plusieurs serveurs doivent partager les mêmes données, parce qu’un fichier SQLite ne supporte pas deux processus qui écrivent dessus.
Parce que 75,1 % des serveurs tournent en mode hors ligne, et dans ce mode l’UUID est dérivé du pseudo. Si le joueur change de pseudo, ou si le serveur passe un jour en mode en ligne, la clé change et toutes les données rattachées deviennent orphelines.
Oui. Le thread principal exécute la boucle de jeu. Toute requête faite dessus met les 20 ticks par seconde en pause le temps de la réponse. Il faut lire et écrire depuis un thread asynchrone, garder les valeurs chaudes en mémoire, et ne revenir sur le thread de jeu que pour toucher l’API du serveur.