[C#]Requetes Serveur Vers Serveur

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Avatar de l’utilisateur
Glorek
Messages : 134
Inscription : 22 Oct 2010 14:16
Localisation : Paris

[C#]Requetes Serveur Vers Serveur

Message par Glorek » 06 Jan 2013 19:45

Bonjour,

Alors, je me suis mis dans la tête d'essayer de faire un système de type Massif Multiplayer, alors oui c'est pas forcement une très bonne idée, mais bon :roll:

J'ai réussi à faire du multi se qui pourrais se résumé par:
Un serveur avec un nombre max de joueurs et des joueurs qui jouent.

J'arrive aussi à faire communiquer unity et php pour une BDD mysql

Depuis 4-5 jours je me torture la tête et l'esprit pour arriver à mes fins:
- Le jeu serait dans l'idée de type "RTS" entre age of empire et traviant.
- J'aurais voulu créer un serveur par "tranche de map" et augmenter le nombre de serveurs avec le nombre de joueurs.

- Premier problème, un client ne peut se connecter qu'à un seul serveur.
- Le second est que deux serveurs ne peuvent pas communiquer directement ensemble.

Alors j'ai pensé pour le premier problème le client se connecte périodiquement aux serveurs à l'écran (4 maximums pour un coin).

Mais c'est pour le second que tout se complique, j'ai pensé passer par un MasterClient qui se connecterait à tous les serveurs à la chaine pour envoyer les requêtes aux autres.
Ou
Passer par Php en passant par un MasterManager qui se connecterait toutes les secondes ( à la page php ) pour savoir si une requête doit être envoyée à un serveur.
Ou
Passer par les clients qui enverrais aux autres serveurs une requête leurs disant d'aller voir la bdd, "une action est en cours pour eux".

--
Toute ces possibilités passent par un intermédiaire et je me dit que si on doit faire passer une armée de 150 péons entre deux serveur aucune ne serait la bonne à mètre en place.
--

Je peux faire des graph complexe pour exprimer mes idées, mais je si vous avez une idée sur la question je suis preneur ^^'.
Ps: j'ai survolé Photon et je n'est pas pu déterminé si je pouvais arriver ou pas, à produire mon idée avec :?

Cordialement Glorek
ImageImageImage

Avatar de l’utilisateur
Lira
Messages : 52
Inscription : 19 Mai 2012 18:03

Re: [C#]Requetes Serveur Vers Serveur

Message par Lira » 07 Jan 2013 08:57

Salut, tu peux faire aussi faire ton propre serveur en C# je pense, qui te permettrais de te connecter a deux serveurs en même temps, comme une sorte de MasterServer, mais qui correspond a tes besoins, je connais pas ton niveau de programmation, donc je propose ca comme ca, si tu n'y arrive pas, tu peux aussi faire ca par php ou tu regrouperais le nombre de joueurs connectés, le soucis étant que je ne suis pas sur que la void OnApplicationQuit() s'appelle dans tout les cas, donc pour enlever un joueur connecté de la liste quand il se déconnecte un peu "spécialement" ca risque de poser problème, si j'ai répondu a côté et que j'ai pas compris ton post, bein désolé et essaye d'éclaircir ^^"

sephitoth
Messages : 495
Inscription : 06 Avr 2012 13:47
Localisation : toulouse

Re: [C#]Requetes Serveur Vers Serveur

Message par sephitoth » 07 Jan 2013 14:50

Ou Punaise !!! là Glorek tu tape dans le complexe.

Effectivement géré plusieurs serveur sur le même jeu sa devient très très compliqué.
Je suis même pas sur que ça soit réalisable d'ailleurs.

En plus si tu veux gérer beaucoup de monde rapidement,
je suis pas sur que la solution PHP -> MySQL soit faite pour toi.

La ou sa devient compliquer ça va être de changer de serveur de manière asynchrone par rapport au rendu graphique.
ça va être coton coton. J'ose même pas imaginer le sac de noeud au niveau des synchronisation serveur / serveur à répercuté sur les clients.

Tu te lance dans le très haut de gamme et tout seul qui plus est.

Je te souhaite juste bonne chance, et investie dans une palette d'efferalgan ça sera utile :D
J'étais athée jusqu’à ce que je découvre que j'étais dieu !

Avatar de l’utilisateur
Glorek
Messages : 134
Inscription : 22 Oct 2010 14:16
Localisation : Paris

Re: [C#]Requetes Serveur Vers Serveur

Message par Glorek » 07 Jan 2013 14:59

Merci pour le soutien^^ oui j'aime bien les défit simple :P
Pour ce qui est du PHP je suis complément d'accord c'est pour sa que pour le moment j'essaye de trouver un moyen de ne pas m'en servir pour les requêtes de jeu juste pour la bdd de joueurs et de serveur pour par la suite l'afficher plus facilement ( pour moi ) sur un site web.

Pour mon niveau je ne suis pas un pro donc oui créer sont propre serveur je pense que se serait prétentieux de ma part :) mais je vais aussi regarder de se coté :roll:

Ps: OnApplicationQuit() sur la version multi que j'avais mis en place marchais très bien. Après pour des cas aussi spécifiques il faut tester je pense :)

Mais je vais aller regarder la doc photon pour voir si je ne peux pas le faire avec leurs technos.
Et de se coté aussi: http://unity3d.com/master-server/

Encore merci,
Cordialement Glorek
ImageImageImage

Avatar de l’utilisateur
Lira
Messages : 52
Inscription : 19 Mai 2012 18:03

Re: [C#]Requetes Serveur Vers Serveur

Message par Lira » 07 Jan 2013 18:33

La fonction Onapplicationquit est call meme quand l ordi/appli plante ? Ou meme lorsqu il coupe le processus a l aide du gestionnaire? Si oui le php devrais pouvoir te convenir, tu rajoutr +1 a chaque connection et tu retire 1 a chaque decpnnexion, et tu recupere le tout por augmenter le nombre de serveur

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: [C#]Requetes Serveur Vers Serveur

Message par cayou66 » 07 Jan 2013 18:53

Non, OnApplicationQuit ne marche pas si l'app crash.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [C#]Requetes Serveur Vers Serveur

Message par Alesk » 08 Jan 2013 03:28

Salut,

Pour le coté serveur, regarde si NodeJS ne ferait pas ton affaire : http://nodejs.org/

Avatar de l’utilisateur
Glorek
Messages : 134
Inscription : 22 Oct 2010 14:16
Localisation : Paris

Re: [C#]Requetes Serveur Vers Serveur

Message par Glorek » 08 Jan 2013 16:36

Merci Alesk je vais regarder mais mon niveau en prog et encore plus en JS n'est pas très probant :).

Sinon avec juste unity je pense que j'ai trouvé comment faire, mais je trouve que j'ai trop d'intermédiaire :P

Image
Je "colle" un Sever Manager par server pour permette de communiquer avec les autres serveurs.

En sachant que j'aurais aimer faire du MultiScene pour avoir une serveur et l'autres clients mais j'ai tester et il coupe le serveur si je me connecte comme avec une seul scène.
Et il faut prendre en compte qu'une Client ou un Server Manager ne peut pas se connecter à deux serveurs en même temps, donc il switch.

Vous en pensez quoi?

Cordialement Glorek
ImageImageImage

sotec
Messages : 542
Inscription : 21 Sep 2012 10:11

Re: [C#]Requetes Serveur Vers Serveur

Message par sotec » 08 Jan 2013 16:43

wow, ben j'ai pas hâte de faire du réseau sous unity Xd
( j'ai souvenir que je m'était pas trop embêté en C pour faire du serveur client, mais ce ne devait pas être aussi poussé ^^)

en tout cas, beau schéma ^^
┬─┬ノ(º - ºノ) - (╯°□°)╯︵ ┻━┻

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [C#]Requetes Serveur Vers Serveur

Message par Alesk » 08 Jan 2013 16:48

Au fait :
- Le second est que deux serveurs ne peuvent pas communiquer directement ensemble.
ça c'est faux, deux serveurs peuvent tout à fait communiquer directement, je ne vois pas très bien pourquoi tu penses ça ? et ça pourrait changer ta vision du problème...

Répondre

Revenir vers « Scripting »