J'avais bien lu ton post, Sphax, mais vu la réponse de Calimero, je ne suis pas sûr qu'il avait noté ce point.
[img]/epicentre/images/%%GRAEMLIN_URL%%/wink.gif[/img]
J'avais bien lu ton post, Sphax, mais vu la réponse de Calimero, je ne suis pas sûr qu'il avait noté ce point.
[img]/epicentre/images/%%GRAEMLIN_URL%%/wink.gif[/img]
Non, effectivement, je n'avais pas noté ce point.
Pourtant, sur des jeux comerciaux (starcraft), je ne sais pas comment ca marche, mais j'arrive à héberger une partie (créer une partie quoi). Je doute que les serveur battle.net (les serveur de blizzard, créateur de starcraft, pour ceux qui ne connaissent pas) héberge toutes les parties de tous les joueurs de starcraft. Comment qu'il font? Mais surtout comment je peux faire?
Chez moi ca marche. J'ai la neuf box et 2 PC qui utilise la même connexion. Quand je host sur l'un, l'autre rejoind sans problemme.
Justement, battle.net héberge effectivement toutes les parties. Quand tu crées une partie, tu ne fait qu'envoyer une demande à battle.net.
Mais je te rassure, un seul serveur ne suffirait pas à remplir cette tâche. En réalité, il y a des 10aines (voire plus) de serveurs répartis dans le monde, et c'est un serveur de routage qui choisit quelle machine utiliser quand tu crées ta partie.
Okay.
Je me doutais de ce genre de fonctionnement pour WoW, mais pas pour leur STR (starcraft, warcraft)
Parce qu'en fait, j'utilise Complexe-Serveur pour héberger mes parties. Lorsque'un joueur crée une partie, il ne fait que créer un channel sur Complexe-Serveur.
Pour l'instant, je suis seul, ça va, le ping doit etre de l'ordre de 100-200ms ; mais en admettant que mon jeu ai du succes, je me dis que ne serait-ce qu'avec 100 joueurs, ça risque de grimper très vite, et par consequent, de rendre mon jeu moins agréable à jouer, et surtout de bousiller les bonnes préstations de Complexe-Serveur vis-à-vis des autres utilisateurs qui en profitent.
C'est pourquoi je cherche à faire en sorte que n'importe qui puisse heberger une partie.
Et finalement, pour l'instant, ça marche. Mis-à part le fait que qqun qui joue sur l'ordinateur serveur interrompt quelques secondes la connexion lorsqu'il passe d'une scène à une autre (ce qui est ratrappé par une reconnexion automatique sans interrompre le jeu)
Donc, d'un coté, je me dis que si ça marche chez moi, il n'y a pas de raison pour que ça ne marche pas chez qqun d'autre, et de l'autre coté, cette histoire de routeur à configurer m'inquiète un peu.
pour WOW, c'est encore différent, dans la mesure où la parie n'est pas crée par un joueur. Le serveur est totalement autonome (notion de monde persistant)
Bonjour,
me revoilà, toujours dans ma "lutte" pour maitriser MOOclick.
J'ai fait quelques tests en "conditions réelles". C'est à dire avec un copain chez lui, et moi chez moi (car pour l'instant je ne fesait qu'avec mes 2 PCs à la maison).
Ce test à été laborieux et peu concluant pour diverses raisons:
-Tout d'abord, il a révélé quelques problème interne à mon code (mais celà n'est pas un réel problemme^^)
-Diverses choses simples et fonctionnelles en local se sont trouvées défaillantes dans ce test. Par exemple, les simples conditions "On User Joined" et "On User is here", qui n'ont que pour actions "Objet list -> Add line PCU_GetName" dans la scène d'interface réseau (le chat d'avant partie) semblaient se multiplier. Entendez par là qu'à chaque connexion d'un joueur, il est arrivé que son nom s'ajoute entre 3 et 7 fois dans l'objet list... et lorsque le sus-cité joueur se deconnectait, seul 1-2 lignes se détruisaient. Pourtant ce système marche bien en local, et fonctionnait aussi correctement sur complex-servers.
D'ailleur, est-ce que la condition "Player On Message" est ponctuelle? Car nombres de receptions semblaient multiples.
Je me suis aussi demandé si toutes les adresses locales étaient 192.168.1.X (passerelles X=1, PC1 X=2, PC2 X=3 etc...), et par consequent, s'il n'y avait pas un moyen de créer un systeme de connection automatique au réseau local (après le clic sur un bouton "Jouer sur le réseau local" par exemple).
Je n'ai d'ailleur toujours pas trouvé le moyen d'afficher les 2 IP (192.168.1.2 et l'IP internet qui resemble à 84.XXX.XXX.X. Pour l'instant, je passe par un petit logiciel appellé IPex pour les connaitre, mais il serait dommage que les futurs joueurs doivent passer par ce genre de systeme D pour simplement connaitre leurs IP.
D'ailleur, est-il normal que je n'arrive pas à connecter mes 2 ordinateurs à la maison en utilisant l'adresse IP internet (84.XXX.XXX.X.
Un de mes ordinateur "host" et l'autre n'arrive à s'y connecter qu'en utilsant l'adresse locale (192.168.1.2), mais jamais grace à l'adresse internet (84.XXX.XXX.Xalors qu'il a tout à fait acces au net.
Une dernière chose:
Est-il possible que mon application puisse récupérer l'état d'un serveur? J'entends par là savoir si le serveur et online ou offline. Quand je n'arrive pas à me connecter à Complex-serveurs, je vais sur http://complex.servers.free.fr/ ou sur http://www.mooservers.com/ pour vérifier son statut, mais il serait bien que je puisse récuperer les infos directement pour les afficher aux joueurs.
Voilà.
peut-être que certains d'entre vous ont des réponses à certaines de ces questions [img]/epicentre/images/%%GRAEMLIN_URL%%/smile.gif[/img]
Merci d'avance.
Et voici quelques réponses [img]/epicentre/images/%%GRAEMLIN_URL%%/wink.gif[/img]
- pour le problème des lignes multiples dans la liste, essaye de rajouter la condition "only one event when event loops", idem pour leur suppression
- pour les adresses IP, cela dépends de la configuration interne du serveur DHCP du routeur. L'habitude veux que les adresses soient de la forme 192.168.1.X ou 192.168.2.X, mais il n'y a aucune obligation. De plus, même dans ce cas, le X est totalement aléatoire entre 2 et 255 (1 étant réservé au routeur lui-même)
- et enfin pour la connexion avec l'adresse IP publique (celle en 84.XXX.XXX.XX, c'est normal que ça ne marche pas car les paquets réseaux ont un expéditeur et un destinataire identiques, donc ce paquet n'a aucune raison de voyager sur le net
Merci pour ces quelques réponses [img]/epicentre/images/%%GRAEMLIN_URL%%/smile.gif[/img]
En fait, j'ai déjà essayé avec la conditions "only one event when event loops", mais dans ces cas là, certains message n'était pas reçu (chose étrange). Et puis il est tout de même bizare qu'en local mon code fonctionne, et que par internet ça bug (d'autant plus que ça ne bug pas tout le temps). J'espère ne pas avoir à faire une sorte de comparatif de tout les ID connecté à chaque nouvelle connection de joueur pour savoir si oui ou non il faut ajouter un nom dans la liste [img]/epicentre/images/%%GRAEMLIN_URL%%/crazy.gif[/img]. D'ailleur ce bug apparrait aussi pour les donnée du chat ; c'est à dire que certaines fois, je tape "Salut!" puis Enter, et les user receoivent "Salut!" plusieurs fois... Et lorsque j'utilise l'action "only one event when event loops" sur ma condition de reception du message, ben, on ne peut recevoir qu'un seul message, ensuite ça ne s'affiche plus... [img]/epicentre/images/%%GRAEMLIN_URL%%/frown.gif[/img]
J'ai tout de même appliqué cette conditions aux conditions On User Joined et On user is here. On verra bien, je ferrais d'autre test.
Merci pour tes réponses.
J'espère que mes autres questions trouveront aussi messie.