Mirror ist eine bekannte Netzwerkbibliothek für Unity. Ich verwende es auch für Multiplayer-VR-Apps in meinem lokalen Netzwerk, kann es aber auch auf einem Remote-Server hosten. Es mag auf den ersten Blick schwierig erscheinen, aber ich könnte es schaffen, selbst wenn ich wenig über Netzwerke weiß, also ist vielleicht jeder in Ordnung.
Die empfohlene Unity-Version ist 2018.3.6. Der Autor empfiehlt dringend die Verwendung der LTS-Version, diese funktioniert jedoch mit Unity 2019.3 usw. Öffnen Sie nach dem Herunterladen und Importieren der Mirror-Assets (kostenlos) die Szene im Ordner Assets / Mirror / Examples / Pong / Scenes. Es wird die sogenannte Pong-Spielszene sein.
Sie können dem Spiel beitreten, indem Sie oben links auf Client klicken. Das Spiel wird jedoch nicht gestartet, da es derzeit nicht vernetzt ist.
Daher werden wir den Server vorbereiten. "Server Build" wurde ab Unity 2018.3 hinzugefügt, und es ist möglich, im Headless-Modus zu arbeiten, in dem keine Bilder angezeigt werden. Legen Sie es auf den Server und lassen Sie den Client kommunizieren.
Wenn Sie in Mirror in der Network Manager-Komponente "Start on Headless" aktivieren (siehe unten), wird StartServer () automatisch in der Server Build-Anwendung ausgeführt, um den Server zu starten.
Nach den offiziellen Empfehlungen verwenden wir nun die Methode zum Ausführen des Servers unter Linux und des Clients unter Windows. Dazu müssen Sie zuerst für Linux erstellen. Wenn Sie bei der Installation von Unity nicht auf Linux abgezielt haben, fügen Sie das Modul von Unity Hub hinzu.
Sobald dies erledigt ist, setzen Sie Linux wie unten gezeigt auf Zielplattform und aktivieren Sie "Server Build", um es zu erstellen.
Die generierten Dateien lauten wie folgt. Wenn Sie diese mit der im folgenden Abschnitt gezeigten Methode nach Linux kopieren und ausführen, funktioniert dies auf dem Server.
Wenn die serverseitige App unter Linux ausgeführt wird, spielen Sie Unity Editor auf der Windows-Seite, geben Sie die IP-Adresse des Servers (localhost auf demselben Computer) ein und drücken Sie die Client-Taste oben links auf dem Bildschirm, wie unten gezeigt. Betreten Sie das Spiel als Spieler.
Sie können Ping spielen, indem Sie einen anderen Client vorbereiten und auf die gleiche Weise eine Verbindung zum Server herstellen.
Erfahren Sie, wie Sie einen Server für Ihren Host vorbereiten. Die Erklärung des Autors zur Einführungsmethode lautet hier. Laut dem Autor haben Azure-, Amazon- und Google-Instanzen problematische Firewall-Einstellungen, daher sollten Sie diese vorerst vermeiden. Der Autor arbeitet an VPS-Hosting eines Unternehmens namens namecheap. Ich möchte, dass Sie Linux (Ubuntu) als Betriebssystem verwenden.
Obwohl namecheap einen Server kostengünstig einrichten kann, ist er immer noch nicht kostenlos. Daher werde ich eine Methode in Betracht ziehen, die in der lokalen Umgebung für die Praxis vorbereitet werden kann.
Daher verwenden wir das Windows-Subsystem für Linux (WSL), mit dem Sie eine Linux-Instanz unter Windows 10 erstellen können. Sie können WSL aktivieren, Ubuntu herunterladen usw. mit der Methode von diesem Artikel. Das einzuführende Ubuntu ist 18.04LTS, das auch in namecheap verwendet wird.
Wenn Sie Ubuntu starten, werden Sie nach dem Installationsvorgang aufgefordert, den UNIX-Benutzernamen und das Kennwort einzugeben. Legen Sie den Benutzernamen und das Kennwort fest und geben Sie diese ein. Dadurch gelangen Sie zur Eingabeaufforderung.
Da der Benutzer jedoch keine Root-Berechtigungen hat, legen Sie das Root-Passwort mit dieser Methode und root fest Bitte einloggen mit.
Folgen Sie ab hier dem Abschnitt "Installieren unserer Anforderungen" unter Installation durch den Autor. Zuerst,
apt update
apt -y dist-upgrade
apt -y install screen tmux sudo zip unzip
Danach wird die Arbeit zum Hinzufügen eines Benutzers geschrieben, dies ist jedoch nicht erforderlich (da sie bereits oben hinzugefügt wurde). Bitte beenden Sie die Arbeit als root mit exit
.
Danach wird in der Erläuterung der Einführungsmethode durch den Autor die Geschichte der Dateiübertragung mit WinSCP veröffentlicht. Wenn Sie jedoch Dateien lokal austauschen möchten, geben Sie im Explorer in Ubuntu-18.04 "\ wsl $" in den Pfad ein Sie können den Ordner von sehen.
Das Benutzerverzeichnis lautet "\ wsl $ \ Ubuntu-18.04 \ home \ username".
Hier können Sie mit Unity auf Linux abzielen und die resultierenden Dateien direkt kopieren. Hier lautet der App-Name "Server.x86_64".
Führen Sie als Nächstes, wie in der Installationsmethode des Autors beschrieben, den folgenden Befehl aus, um den Server zu starten.
sudo chmod +x ./Server.x*
./Server.x86_64
Hoffentlich sehen Sie einen Bildschirm wie diesen.
Drücken Sie Strg + C, um den Vorgang zu beenden.
Wenn Sie fertig sind, verbinden Sie den Client wie oben beschrieben. Wenn Sie den Client auf demselben Computer wie WSL ausführen, lautet die Adresse localhost (oder 127.0.0.1). Wenn Sie einen anderen Computer im selben lokalen Netzwerk verwenden, lautet die IP-Adresse des Computers, auf dem WSL (nicht 127.0.0.1) ausgeführt wird, in ifconfig Bitte überprüfen und verwenden. Wenn das nicht funktioniert, schließen Sie Ubuntu und versuchen Sie es erneut.
Wenn Sie sich mit WSL sicher sind, mieten Sie einen Remote-Server. Verwenden wir den oben eingeführten Namen billig. Der billigste VPS-Hosting-Kurs scheint 11,88 USD pro Monat zu sein.
Nach der Bewerbung erhalten Sie in wenigen Stunden Ihre Kontoinformationen usw. Informationen zu SSH-Verbindungen sind besonders wichtig.
Von hier aus können Sie den Anweisungen zum Konfigurieren des Linux-Servers (einmaliges Setup) unter Erläuterung der Installationsmethode durch den Autor folgen. Da Ubuntu von der WSL vorbereitet wird, können Sie die Methode für Linux verwenden. Mit anderen Worten
ssh root@your-server-ip
Bitte verbinden Sie sich mit und geben Sie das Root-Passwort ein (Ja ist in Ordnung, wenn unterwegs eine Warnung angezeigt wird). Wenn alles gut geht, sollten Sie sich bei Ubuntu anmelden können.
Befolgen Sie danach die Anweisungen zum Installieren unserer Anforderungen unter Erläuterung der Installationsmethode durch den Autor und führen Sie die folgenden Anweisungen aus.
apt update
apt -y dist-upgrade
apt -y install screen tmux sudo zip unzip
Fügen Sie dann einen Nicht-Root-Benutzer hinzu.
adduser your-user-name
Geben Sie als Benutzernamen den Benutzernamen Ihrer Wahl ein. Notieren Sie sich diesen Benutzernamen. Anschließend werden Sie aufgefordert, Informationen wie ein Kennwort wie unten gezeigt einzugeben. Drücken Sie für den vollständigen Namen usw. die Eingabetaste, um den Standardwert einzugeben. Sie haben jetzt einen Benutzer erstellt. Um mehr Root-Rechte zu geben
adduser your-user-name sudo
Bitte auch ausführen. Sobald dies erledigt ist, sind Sie mit root fertig. Geben Sie also "logout" ein.
Jetzt melden wir uns als erstellter Benutzer an.
ssh your-user-name@your-server-ip
Ihr Benutzername ist der Name des Benutzers, den Sie gerade erstellt haben, und Ihre Server-IP ist die IP-Adresse des Remote-Servers. Wenn Sie es ausführen, werden Sie nach einem Kennwort gefragt, sodass Sie sich anmelden können, indem Sie das zuvor festgelegte Kennwort eingeben (nicht das Stammverzeichnis).
Laden wir nun als nächstes die erstellte Datei hoch, aber da der Explorer nicht verwendet werden kann, Erläuterung der Installationsmethode durch den Autor Kopieren Sie unser erstelltes Spiel in das Verwenden Sie das vom Server empfohlene WinSCP. Bitte installieren Sie von hier. Wenn Sie die App starten, werden Sie aufgefordert, die Verbindung wie unten gezeigt einzurichten.
Das Übertragungsprotokoll sollte SFTP sein, der Hostname sollte die IP-Adresse des Remote-Servers sein, die Portnummer sollte 22 sein und der Benutzername und das Passwort sollten die des oben erstellten Benutzerkontos sein. Wenn die Verbindung erfolgreich hergestellt wurde, wird der folgende Bildschirm angezeigt. Ziehen Sie die Datei nach rechts, um sie zu übertragen.
Von hier an, genau wie bei Ubuntu in der WSL
chmod +x ./Server.x*
./Server.x86_64
Sie können den Build mit ausführen.
Für einen Laien mit Netzwerktechnologie wie mich schien es eine entmutigende Aufgabe zu sein, einen Server für Multiplayer-Spiele zu haben, aber die Einrichtung mit Mirror war sehr einfach und überraschend. Ich habe es noch nicht benutzt, daher habe ich möglicherweise einige Probleme, aber es scheint genau richtig für das Studium von Netzwerken zu sein.
Recommended Posts