C# Créer un script qui sera lancer dans le serveur et pas chez le client

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
syanis94
Messages : 31
Inscription : 11 Nov 2018 16:23

C# Créer un script qui sera lancer dans le serveur et pas chez le client

Message par syanis94 » 16 Jan 2019 19:13

Salut les amis,

Je crois que c'est bien expliquer dans le titre, donc voila, je souhaite faire un script qui sera lancer qu'une seule fois dans le serveur, c'est-à-dire il sera pas rechargé (relancer) à chaque fois qu'un joueur se connecte à mon jeu, comment faire svp ? si vous avez de bon tuto, j'ai bon cherché depuis 4 jours rien trouvé !

zebilamouche
Messages : 38
Inscription : 17 Juin 2016 20:34

Re: C# Créer un script qui sera lancer dans le serveur et pas chez le client

Message par zebilamouche » 29 Jan 2019 15:37

Hello,

tout dépend de la techno/technique employée pour faire du "online". Peux-tu être plus précis à ce sujet ?

Avatar de l’utilisateur
WilfreGD
Messages : 10
Inscription : 15 Jan 2019 17:13

Re: C# Créer un script qui sera lancer dans le serveur et pas chez le client

Message par WilfreGD » 07 Fév 2019 17:05

zebilamouche a écrit :
29 Jan 2019 15:37
Hello,

tout dépend de la techno/technique employée pour faire du "online". Peux-tu être plus précis à ce sujet ?
Exact, tout dépend du serveur. Envoyer des paquets est la base d'un lien server/client. Ici il faut que ton serveur exécute ses propres fonctions et calculs et envoie ses valeurs aux clients.

Pour prendre un exemple :
Ton serveur peut garder en mémoire l'heure in-game du jeu, a chaque seconde il calculera l'heure et a la connexion d'un joueur l'heure actuelle sera envoyée par le serveur. Le client ne fait que demander une valeur sans avoir a faire de calculs.

Aussi, retiens que chaque fenêtre d'Unity est un client différent, sur deux fenêtres le jeu sera différent et tant que tu ne demande pas au serveur d'être rechargé, il ne le sera pas. Si tu déplace un joueur, il bougera uniquement dans le fenêtre ouverte et pas dans le serveur sauf si tu envoie sa position a tout les autres joueurs.

Pour en revenir a ta question, tout dépend de ton serveur et de ton script. Si tu crées un serveur externe a Unity, tout les joueurs se connectent dessus. Si le serveur est dans Unity, il faut faire en sorte que les joueurs se connectent tous à un autre
qui sera l'hôte de la partie. L'hôte décidera de si le serveur doit être rechargé ou pas et les joueurs n'auront pas de contrôle par rapport a ça.

Si tu veux un bon tuto, je te conseille "Kevin Kaymak", il n'est pas français mais explique très bien comment faire un serveur externe et comment envoyer des messages entre les joueurs et le serveur. C'est un peu compliqué sans bases niveau réseau mais fonctionne très bien :)

Répondre

Revenir vers « Scripting »