Serveur avec base de données SQL

Tigrounet

Bucheron
28 Mars 2012
20
1
16
Bonjour à tous,

Je me rabats vers vous car j'aimerais savoir s'il existe un moyen de créer un serveur Minecraft qui enregistrerait la grosse majorité des données sur une base de données SQL, à savoir :
- les mondes (inventaire des coffres, monde lui-même (Nether, end, monde normal), position des entités…) ;
- l'inventaire des joueurs ainsi que toutes leurs éventuelles métadonnées.
Ça m'est égal que ce soit avec le serveur officiel ou non, que ce soit avec ou sans plugs-in. Si c'est le serveur officiel, alors j'aimerais que toutes les données soient dans une base de données (BDD). Si c'est du Bukkit, je me fiche que les configurations des plugs-in soient dans la BDD ou non. J'aimerais au moins que les éléments cités ci-dessus soient dans la BDD.

Le top du top serait que j'utilise SQL Server pour la BDD. De toute manière, si je peux établir une connexion SQL, je ne pense pas qu'il y aura une différence selon le moteur. (Me corriger au besoin.)

Voilà voilà, je voulais savoir si certains ont eu l'expérience de mettre en place un tel système, ou si l'on pourrait éventuellement m'aiguiller.

Merci d'avance et bonne soirée à tous !!
 
Bonjour, il suffit de te tourner vers des hébergeur pour être hébergé sur une bdd. Perso jte recommande omgserv ou dédishop en fonction de tes besoins.
Pour que tous le serveur soit hébergé sur une bdd sql je doute que ce soit faisable par des hébergeur, en revanche certain plugin te proposerons de stocker leur données sur une bdd sql, dans ce cas je te conseil freemysql hosting qui est gratuit et compatible !

Bon, pour en revenir a ta question parceque ce qu'il y a au dessus bah... jdois rien t'apprendre, je suppose que si tu créer toi même ta bddsql c'est faisable ^^ enfin.. je suppose xD

Bonne chance en tout cas ^^
 
Merci beaucoup pour ta réponse !

Ben je suis pas si sûr que les hébergeurs créent des bases de données pour chaque compte. À mon avis, ils créent plutôt un répertoire pour chaque compte où ils fichent un fichier serveur et c'est tout. Et puis je ne compte pas prendre d'hébergeur parce que je trouve que c'est problématique : je perds la maîtrise de mes données et je perds la main sur la configuration du réseau. (Tant pis pour la bande passante, ce n'est pas vraiment ce que je recherche, même si la.)
T'en fais pas pour stocker les données en SQL, je souhaite justement utiliser mon ordinateur.

D'accord pour créer ma BDD en SQL, mais le truc, c'est : est-ce que je peux tout stocker (les données du serveur Minecraft) dedans ? Si oui, quel modèle dois-je prendre pour concevoir ma base ?
 
Huum tout dépendera de si tu loue juste un serveur ou des vps ou encore des machines dédiés non ? ^^

Pour la façon de s'y prendre j'en ai aucunne idée désolé... je ne fais que supposer...
Mais par contre pour les maps je sais pas si tu pourras les stockés, je suis pas expert, en fait j'y connais qué dal, mais vu que c'est des qu'il y a beacoup d'échange avec le serveur pour ce genre de donnée.. est ce qu'une bdd sql pourra le supporter ?

Il faut attendre que quelqu'un d'expérimenté arrive ^^ je m'inquiète pas pour ça :)
 
Quitte à prendre un hébergeur, c'est sûr que je préfèrerai le VPS ! Mais pas envie : je préfère moi-même faire mes machines virtuelles.

D'accord pour les cartes. Je doute très sincèrement qu'il y ait tant d'accès que ça à la base de données. Déjà, une BDD SQL est faite exprès pour prendre un montant énorme de requêtes. Je pense pas que les serveurs de WOW stockent leurs données dans un fichier tout bidon comme les serveurs Minecraft, à mon avis y'a du SQL derrière. Après, je suppose que le serveur ne fait pas un enregistrement instantané des modifications apportées aux mondes : ils les stocke en mémoire vive (pour un mono-serveur) avant de les enregistrer périodiquement sur le disque dur. Sinon, on perd nettement de la fluidité si on a pas de SSD, je suppose ! Enfin bref, le truc est que les BDD SQL sont conçues exprès pour se prendre des flots de requêtes dans la figure, les jeux vidéo étant un très bon exemple.

J'espère que quelqu'un d'expérimenté dans le domaine pourra m'éclairer !
 
Ok ok tu m'apprends des choses ^^

Bonne chance en tout cas :)

Juste une question, pourquoi une bdd sql ? Ca rend lus fluide ?
 
Pour stocker des données telles que celles citées i dessus, tu vas devoir installés des plugins qui vont gérés les transferts des données vers le SQL...
En plus de ça, ça va rajouter de l'activité SQL...

Y'a beaucoup d'intérêts à faire ce que tu veux faire, mais clairement, ça va prendre très vite beaucoup de ressources et de bande passante (si la bdd n'est pas en local)

Bon courage pour ton projet en tout cas !

Inventaire en SQL: http://dev.bukkit.org/bukkit-plugins/inventorysql/
Pour les mondes: J'ai pas trouvé, c'est normal, car ça prendrait un nombre incalculable de ressources, et ça n'a pas assez d'intérêt...
 
Merci magrigri ! Pour te répondre, oui c'est bien ça : je souhaiterais avoir une BDD SQL en espérant que ça améliore nettement les performances, je pense surtout au chargement du terrain.

Merci iDre4mZ. En effet, ça m'aurait aussi étonné qu'il y ait une version de serveur Minecraft faite pour une BDD SQL.
T'en fais pas, la BDD aurait été en local, évidemment ! Si je prends pas d'hébergeur, je ne le fais pas non plus avec ma BDD (je souhaite conserver les données chez moi). J'aurais mis SQL Server sur une machine virtuelle.
Le lien que tu m'as fourni est extrêmement intéressant parce que c'est vrai que je n'ai même pas pensé à ce qu'il pouvait y avoir derrière le SQL (par exemple serveur web où je pourrais afficher l'inventaire, voire l'éditer, et plein de trucs du genre !!).

Pour les mondes, je suis d'accord que ça pourrait engendrer un trafic plutôt conséquent, mais ça dépendrait plutôt de comment les requêtes sont envoyées ? Le serveur n'est pas obligé d'envoyer instantanément la position des joueurs, par exemple. Il pourrait les rafraîchir toutes les secondes dans la BDD, et à la déconnexion d'un joueur. (La RAM sert aussi à ça !) Quant aux blocs, SQL est là pour ça, je suis sûr que ça ne poserait aucun soucis de les mettre à jour instantanément. Non ?
 
Pour les mondes, je suis d'accord que ça pourrait engendrer un trafic plutôt conséquent, mais ça dépendrait plutôt de comment les requêtes sont envoyées ? Le serveur n'est pas obligé d'envoyer instantanément la position des joueurs, par exemple. Il pourrait les rafraîchir toutes les secondes dans la BDD, et à la déconnexion d'un joueur. (La RAM sert aussi à ça !) Quant aux blocs, SQL est là pour ça, je suis sûr que ça ne poserait aucun soucis de les mettre à jour instantanément. Non ?
Ca dépend. Si t'es tout seul sur le serveur, pourquoi pas, mais si ça prend de l'ampleur, ça va vite être handicapant, et les ressources seront d'abord exploités par Java, puis par le SQL qui sera énormément utilisé...
En gros, de base, Java prend des ressources pour charger le monde, et toi tu veux qu'en plus de ces ressources, il y en est pour envoyer les données de chargement des mondes et des datas des joueurs sur un SQL, en temps réel...
C'est ambitieux, et si tu n'en a pas une utilisation précise, je te déconseille de faire ça ^^"
 
En effet, tu as raison. Je pense que ça dépend de comment est programmé le serveur/plug-in qui gère les enregistrements mais bon. Si ça n'existe pas, alors peut-être que je vais devoir abandonner d'enregistrer les mondes en SQL.

D'ailleurs, j'ai vu tout à l'heure ton tutoriel sur BungeeCord, ça m'a l'air très intéressant ! Je vais regarder ta vidéo. (Même si c'est plein de failles… hum, pardon, c'était pour t'embêter.) Et je viens de voir à l'instant CauldronBukkit qui serait compatible avec Bukkit… J'avoue être un peu perdu dans tout ça et va falloir que je me remette dans tout ça parce que le seul serveur non-officiel que je connaissais était CraftBukkit. Il propose un choix plutôt imposant de plugs-in, mais s'il y a des concurrents, faut que je voie quoi utiliser avant de mettre en place une BDD…