Mirror est une bibliothèque réseau bien connue pour Unity. Je l'utilise également pour les applications VR multijoueurs sur mon réseau local, mais je peux également l'héberger sur un serveur distant. Cela peut sembler difficile à première vue, mais je pourrais y arriver même si je connaissais peu les réseaux, alors peut-être que tout le monde va bien.
La version Unity recommandée est 2018.3.6. L'auteur recommande fortement d'utiliser la version LTS, mais cela fonctionnera avec Unity 2019.3 etc. Après avoir téléchargé et importé les ressources Mirror (gratuites), ouvrez la scène dans le dossier Assets / Mirror / Examples / Pong / Scenes. Ce sera la soi-disant scène de jeu Pong.
Vous pouvez rejoindre le jeu en appuyant sur Client en haut à gauche. Cependant, le jeu ne démarrera pas car il n'est actuellement pas en réseau.
Par conséquent, nous préparerons le serveur. "Server Build" a été ajouté à partir de Unity 2018.3, et il est possible de fonctionner en mode sans tête qui n'affiche pas d'images. Placez-le sur le serveur et laissez le client communiquer.
Dans Mirror, si vous cochez «Start on Headless» du composant Network Manager comme indiqué ci-dessous, StartServer () sera automatiquement exécuté sur l'application Server Build pour démarrer le serveur.
Maintenant, en suivant les recommandations officielles, nous allons prendre la méthode d'exécution du serveur sous Linux et du client sous Windows. Pour ce faire, vous devez d'abord compiler pour Linux. Si vous n'avez pas ciblé Linux lors de l'installation de Unity, ajoutez le module à partir de Unity Hub.
Après cela, définissez Linux sur la plate-forme cible comme indiqué ci-dessous, et cochez «Server Build» pour construire.
Les fichiers générés sont les suivants. Si vous les copiez sur Linux par la méthode indiquée dans la section ci-dessous et que vous l'exécutez, cela fonctionnera sur le serveur.
Avec l'application côté serveur fonctionnant sous Linux, jouez à Unity Editor du côté Windows, entrez l'adresse IP du serveur (localhost sur la même machine) et appuyez sur le bouton Client en haut à gauche de l'écran, comme indiqué ci-dessous Entrez dans le jeu en tant que joueur.
Vous pouvez jouer à Ping en préparant un autre client et en vous connectant au serveur de la même manière.
Apprenez à préparer un serveur pour votre hôte. L'explication de l'auteur de la méthode d'introduction est ici. Selon l'auteur, les instances Azure, Amazon et Google ont des paramètres de pare-feu gênants, vous devez donc les éviter pour le moment. L'auteur travaille sur l'hébergement VPS d'une société appelée namecheap. Je veux que vous utilisiez Linux (Ubuntu) comme système d'exploitation.
Bien que namecheap puisse configurer un serveur à moindre coût, ce n'est toujours pas gratuit, je vais donc envisager une méthode qui peut être préparée dans l'environnement local pour la pratique.
Par conséquent, nous utiliserons le sous-système Windows pour Linux (WSL), qui vous permet de créer une instance Linux sur Windows 10. Vous pouvez activer WSL, télécharger Ubuntu, etc. par la méthode de cet article. L'Ubuntu à introduire est 18.04LTS, qui est également utilisé dans namecheap.
Lorsque vous démarrez Ubuntu, il vous sera demandé de saisir le nom d'utilisateur et le mot de passe UNIX après le processus d'installation. Décidez du nom d'utilisateur et du mot de passe et entrez-les. Cela vous amènera à l'invite de commande.
Cependant, comme l'utilisateur ne dispose pas des privilèges root tels quels, définissez le mot de passe root avec cette méthode et root Veuillez vous connecter avec.
À partir de là, suivez la section «Installation de nos exigences» dans Comment installer par l'auteur. Premier,
apt update
apt -y dist-upgrade
apt -y install screen tmux sudo zip unzip
Après cela, le travail pour ajouter un utilisateur est écrit, mais cela n'est pas nécessaire (car il a déjà été ajouté ci-dessus). Veuillez terminer le travail en tant que root avec ʻexit`.
Après cela, dans l'explication de la méthode d'introduction par l'auteur, l'histoire du transfert de fichiers à l'aide de WinSCP sortira, mais si vous souhaitez échanger des fichiers localement, entrez \\ wsl $
dans le chemin dans l'Explorateur, Ubuntu-18.04 Vous pouvez voir le dossier de.
Le répertoire de l'utilisateur sera \\ wsl $ \ Ubuntu-18.04 \ home \ username
.
Ici, vous pouvez construire sur Unity avec Unity et copier directement les fichiers résultants. Ici, le nom de l'application est Server.x86_64
.
Ensuite, comme décrit dans la méthode d'installation par l'auteur, exécutez la commande suivante pour démarrer le serveur.
sudo chmod +x ./Server.x*
./Server.x86_64
J'espère que vous verrez un écran comme celui-ci.
Appuyez sur Ctrl + C pour quitter.
Une fois que vous êtes prêt, connectez le client comme vous l'avez fait ci-dessus. Si vous exécutez le client sur la même machine que WSL, l'adresse est localhost (ou 127.0.0.1), si vous utilisez une autre machine sur le même réseau local, l'adresse IP de la machine exécutant WSL (et non 127.0.0.1) dans ifconfig Veuillez vérifier et utiliser. Si cela ne fonctionne pas, fermez Ubuntu et réessayez.
Une fois que vous vous sentez en confiance avec WSL, louez un serveur distant. Utilisons le nom bon marché présenté ci-dessus. Le cours d'hébergement VPS le moins cher semble coûter 11,88 $ par mois.
Après avoir postulé, vous recevrez les informations de votre compte, etc. dans quelques heures. Les informations sur les connexions SSH sont particulièrement importantes.
De là, vous pouvez suivre la procédure de configuration du serveur Linux (installation unique) dans Explication de la méthode d'installation par l'auteur. Étant donné qu'Ubuntu est préparé par WSL, vous pouvez utiliser la méthode pour Linux. En d'autres termes
ssh root@your-server-ip
Veuillez vous connecter et entrer le mot de passe root (oui, c'est bien si un avertissement apparaît en chemin) Si tout se passe bien, vous devriez pouvoir vous connecter à ubuntu.
Ensuite, suivez les instructions d'installation de nos exigences dans Explication de la méthode d'installation par l'auteur et exécutez les instructions suivantes.
apt update
apt -y dist-upgrade
apt -y install screen tmux sudo zip unzip
Ajoutez ensuite un utilisateur non root.
adduser your-user-name
Pour votre nom d'utilisateur, entrez le nom d'utilisateur de votre choix. Notez ce nom d'utilisateur. Ensuite, il vous sera demandé de saisir des informations telles qu'un mot de passe, comme indiqué ci-dessous. Pour le nom complet, etc., appuyez sur la touche Entrée pour entrer la valeur par défaut. Vous avez maintenant créé un utilisateur. Pour donner plus de privilèges root
adduser your-user-name sudo
Veuillez également exécuter. Une fois que cela est fait, vous avez terminé avec root, alors entrez logout
.
Maintenant, connectons-nous en tant qu'utilisateur créé.
ssh your-user-name@your-server-ip
your-user-name est le nom de l'utilisateur que vous venez de créer, et your-server-ip est l'adresse IP du serveur distant. Lorsque vous l'exécutez, un mot de passe vous sera demandé, afin que vous puissiez vous connecter en entrant celui que vous avez défini précédemment (pas la racine).
Maintenant, nous allons télécharger le fichier construit ensuite, mais comme Explorer ne peut pas être utilisé, Explication de la méthode d'installation par l'auteur Copie de notre jeu construit sur le Utilisez WinSCP recommandé par le serveur. Veuillez installer depuis ici. Lorsque vous démarrez l'application, il vous sera demandé de configurer la connexion comme indiqué ci-dessous.
Le protocole de transfert est SFTP, le nom d'hôte est l'adresse IP du serveur distant, le numéro de port est 22 et le nom d'utilisateur et le mot de passe sont ceux du compte utilisateur créé ci-dessus. Si la connexion réussit, l'écran ci-dessous apparaîtra, et si vous faites glisser et déposez le fichier vers la droite, le fichier sera transféré.
À partir de maintenant, comme vous le feriez avec Ubuntu sur WSL
chmod +x ./Server.x*
./Server.x86_64
Vous pouvez exécuter la compilation avec.
Pour un profane de la technologie réseau comme moi, avoir un serveur pour les jeux multijoueurs semblait être une tâche ardue, mais la configuration avec Mirror était très simple et surprenante. Je ne l'ai pas encore utilisé, donc j'ai peut-être quelques problèmes, mais cela semble être parfait pour étudier les réseaux.