UE4 veröffentlicht LinuxServer

UE4 veröffentlicht LinuxServer


:::tip Szenarioinhalt

  1. Es muss ein dedizierter Server entwickelt werden
  2. Der Server muss an den Cloud-Linux-Systemhost gesendet werden
  3. SSH muss ausgeschaltet sein und der Dienst ist immer aktiviert
  4. Erfordert UE4

:::

1. Visual Studio 2019

1.1 Laden Sie Visual Studio herunter

:::Warnung

  • UE4Der kompilierte Quellcode kann verwendet werdenVS2022, jedoch zum Zeitpunkt der Veröffentlichung dieses Blogs , die Konfigurationsdatei muss geändert werden. Wird normal kompiliert, aber die Version 2017 ist zu alt;
  • Das nachfolgende Schreiben in C++ verwendetRider For Unreal undEpicDie Binärversion des Einkaufszentrums UE4;
  • Nachdem das Projekt geschrieben wurde, verwenden Sie die QuellcodeversionUE4, um es zu verpacken und zu veröffentlichen;
  • Ich habe UE5 ausprobiert und es ist sehr mühsam und hat viele Probleme. Denken Sie darüber nach, Sie schreiben Code, warum sollten Sie auf UE5 , also fühlte ich mich erleichtert
  • Der Festplattenspeicher des Computers zur Installation der Quellcode-Engine muss mindestens 200 GB betragen
  • Der Speicher beträgt mindestens16GB, am besten online prüfenErweitern Sie den virtuellen Speicher< /span>< a i=4>, automatisch auf anderen Festplatten mit größerem Speicherplatz gehostet, vorzugsweiseSSD
  • Achten Sie beim Kompilieren der Quellcode-Engine darauf, irrelevante Computer herunterzufahrenBackend. Betreiben Sie den Computer nicht, es sei denn, es wird ein Fehler gemeldet um andere Dinge zu tun, um Unzureichenden virtuellen Speicher zu verhindern

:::

  1. Microsoft stellt die neueste Version nur auf derVisual Stuido-Homepage zum Download bereit, Sie müssen sie separat herunterladenVisual Studio 2019
  2. Laden Sie einfach die Community-Version herunter
1.2 Konfigurieren Sie Visual Studio
  • Nachdem die Installation abgeschlossen ist, gelangen Sie zuVisual Studio Installer
  • Sichtbar imInstalliertenVisual Studio 2019-Installationsprogramm a>
  • Punkt 击Reparatur
  • GefundenSpiele inArbeitslast, überprüfen Spieleentwicklung mit C++
  • Jetzt rechtsInstallationsdetailsSpieleentwicklung mit C++ Stellen Sie sicher, dass die Optionen ausgewählt sind in geprüft werden:
    • C++-Analysetools
    • C++ AddressSanitizer
    • NeuesteWindows 10 SDK
    • IntelliCode
    • Unreal Engine-Installationsprogramm
  • Innerhalb einzelner Komponente:
    • Standardmäßig aktiviertC#- und Visual Basic-Roslyn-Compiler
    • SuchauswahlMSBuild
  • Überprüfen Sie abschließend, ob das neueste Net Framework SDK überprüft wird. Dieser Blog hat überprüftNet Framework 4.8 SDK
  • Herunterladen und installieren, der Installationsort kann angepasst werden

:::Warnung

Erscheint während der InstallationDer Pfad der gemeinsam genutzten Komponenten, Tools und SDK kann nicht geändert werden, da er möglicherweise bereits zuvor installiert wurde< a i =3>Visual Studio, Sie müssen die Registrierung ändern, um das Problem zu lösen

Lösungsschritte:

  1. gewinnen + r
  2. regedit
  3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SetupLinkSharedInstallationPath
  4. JuuuVisual Studio-Installationsprogramm

:::

1.3 Lösungsstil ändern

:::tip optionale Schritte

  1. Gefunden in der MenüleisteExtras
  2. Extras->Anpassen->Befehle->Symbolleisten->Standard->Lösungskonfiguration->Auswahl ändern
  3. Erneuerungsgrad: Beispiel200
  4. Um das Ausgabefenster beim Erstellen des Projekts anzuzeigen, klicken Sie imDialogfeld „Optionen“ auf „Ein“. Wählen Sie auf der Seite „Projekte & Lösungen>AllgemeinAusgabefenster anzeigen, wenn der Build startet

:::

1.4 Starten Sie im Administratormodus

:::Tipp kann wichtig sein

  1. aktuellVSAnsoume Hakunai:\Common7\IDE\devenv.exe
  2. Rechtsklick->Kompatibilitäts-Fehlerbehebung->Fehlerbehebung->Änderungsprogramme erfordern zusätzliche Berechtigungen prüfen->Nächster Schritt nach dem Testen->Einstellungen speichern

:::

2. Cross-Compiler

:::Gefahr

Laden Sie den Cross-Compiler herunter, gehen Sie niemals zuOffizielles ChinesischUnreal Documentation < a i=4>, die dort angegebene Version des Cross-Compilation-Tool-Links falsch ist, sollte standardmäßig das offizielle Englisch verwendet werden Download von der Dokumentationswebsite von

Der Blog verwendetUE4.27.2. Laden Sie den im Dokument bereitgestellten -Link herunter und stellen Sie sicher, dass es sich um die Version -v19 handelt. Wenn nicht, haben Sie die falsche Website eingegeben. Die richtige Website ist: UE4.27.2 Kreuzkompilierung

:::

2.1 Installieren Sie die Cross-Compilation

Installieren Sie es einfach standardmäßig oder wählen Sie den Installationspfad.

cmd-Überprüfung:%LINUX_MULTIARCH_ROOT%x86_64-unknown-linux-gnu\bin\clang++ -v

Ungültig, Sie müssen Umgebungsvariablen manuell konfigurieren

2.2 Umgebungsvariablen konfigurieren
  1. Geben Sie Systemumgebungsvariablen ein
  2. Hinzufügen zu:LINUX_MULTIARCH_ROOT
  3. Weg:安装目录\v19_clang-11.0.1-centos7\x86_64-unknown-linux-gnu\bin

:::Warnung

Nachdem die Cross-Compiler-Installation und -Konfiguration abgeschlossen ist, müssen Sie den Computer neu starten

:::

3. Quellcode UnrealEngine

:::Tipp: Schritte weglassen

GithubKauf

Treten SieEpicOrganisation bei

AuswahlUE4.27.2-VersionDownload

:::

3.1 Konfigurieren Sie Setup.bat

Setup.batFehlerbehebung

Usage:
   GitDependencies [options]

Options:
   --all                         Sync all folders
   --include=<X>                 Include binaries in folders called <X>
   --exclude=<X>                 Exclude binaries in folders called <X>
   --prompt                      Prompt before overwriting modified files
   --force                       Always overwrite modified files
   --root=<PATH>                 Set the repository directory to be sync
   --threads=<N>                 Use N threads when downloading new files
   --dry-run                     Print a list of outdated files and exit
   --max-retries                 Override maximum number of retries per file
   --proxy=<user:password@url>   Sets the HTTP proxy address and credentials
   --cache=<PATH>                Specifies a custom path for the download cache
   --cache-size-multiplier=<N>   Cache size as multiplier of current download
   --cache-days=<N>              Number of days to keep entries in the cache
   --no-cache                    Disable caching of downloaded files

Detected settings:
   Excluded folders: Mac, Android, Linux
   Proxy server: none
   Download cache: disabled

Default arguments can be set through the UE4_GITDEPS_ARGS environment variable.
Installing prerequisites...

Konfiguration dieses Blogs: (Abgefangener Abschnitt, nur **set PROMPT_ARGUMENT=** muss geändert werden)

set PROMPT_ARGUMENT=
for %%P in (%*) do if /I "%%P" == "--prompt" goto no_prompt_argument
for %%P in (%*) do if /I "%%P" == "--force" goto no_prompt_argument
set PROMPT_ARGUMENT=--prompt --threads=20 --cache=E:\UrealEngineSource\UE4.27.2\Cache
:no_prompt_argument
--threads=20 # 加快下载速度,不宜过高
--cache # 将下载的源码文件单独保存到指定位置,方便传给其他人和玩坏了,不用全删了重新下载了
--exclude # 排除不想要的模块

–excludeAnzahl der möglichen Auswahlen:

平台参数:Win32, Win64, osx32,osx64, Linux, Android, IOS, HTML5
VS版本参数:VS2012,VS2013,VS2015
尽量别排除VS版本的参数,平台参数可以排除不要的,该博客默认不加入 --exclude,全要了
3.2 Generieren Sie die Datei UE4.sln

Nach der obigen KonfigurationSetup.batDatei:

  • Doppelklicken Sie zum AusführenSetup.bat
  • Doppelklicken Sie zum AusführenGenerateProjectFiles.bat
3.3 Quellcode-Editor kompilieren

:::Warnung

  1. Kompilieren Sie zunächst den Quellcode-Editor
  2. Einige Tutorials im Internet sind sehr verwirrend, kompilieren Sie sie einfach hierEntwicklungseditor
  3. Beachten:
    • Wenn Sie zuerst die Quellcode-Engine kompiliert und dann die Cross-Compilierung heruntergeladen haben, müssen Sie dem Blog [2. Cross-Compile] folgen. Compiler]( #2. Cross-Compiler) Schritte zur Überprüfung der Inhaltsvervollständigung
    • Erneut bloggen3.2 Schritte zum Generieren der Datei UE4.sln, dann lesen Sie weiter und führen Sie alle folgenden Schritte aus a>

:::

DoppelklickenUE4.sin entsprechend der obigen VS2019-Konfiguration , die Standardeinstellung istAdministratormodus

Wählen Sie aus den Lösungen:

  • Entwicklungsredakteur
  • Win64
  • Wählen Sie UE4 in der Seitenleiste aus, klicken Sie mit der rechten Maustaste ->Als Startelement festlegen
  • RechtsklickUE4AuswählenGenerieren, beachten Sie: Ich möchte nicht. Wenn Sie Warnung und Fehler sehen, beheben Sie bitte das Problem Klicken Sie dann mit der rechten Maustaste auf UE4AuswählenNeu generieren

Schließen Sie VS2019 nach Abschluss der oben genannten Schritte nicht. Es wird empfohlen, mit dem nächsten Schritt fortzufahren:

  • Yoritsugu re Neue Generation :AutomationTool、UnrealBuildTool、UnrealFrontend
  • Alle Ergebnisse gehen verlorenWarnungJapanischFehler,Shukan Bearbeitung abgeschlossen
3.4 Verknüpfungen erstellen

Einige Tutorials im Internet sind wirklich dumm, man muss sieUE4.slnin öffnen VS2019Source Unreal EngineInnerhalb beginnen

Tatsächlich können Sie das Quell-Engine-Verzeichnis aufrufen:\Engine\Binaries\Win64SuchenUE4Editor.exe

Doppelklicken Sie direkt zum Starten oder erstellen Sie eine Verknüpfung und platzieren Sie sie an einem geeigneten Ort zum Starten. Sie unterscheidet sich nicht von der normalen Epic Mall-Engine.

:::Warnung

Nachdem die Quellcode-Engine kompiliert wurde, öffnen Sie zunächst die Engine und prüfen Sie, ob die Markierung ⚠️ in der Verpackungsfunktion angezeigt wird

Wenn ja, ist die Wahrscheinlichkeit hochVS2019 undCross-CompilerNicht richtig konfiguriert, fehltSDK und mussneu generiert werden

Wenn nicht, lesen Sie später weiter

:::

4. Testprojekte verpacken

4.1 Testprojekt erstellen
  1. Öffnen Sie UE4, es spielt eigentlich keine Rolle, ob es sich um eine Quellcode-Engine handelt oder nicht
  2. Neues Projekt erstellenC++, dritte Person, kein Starter-Inhaltspaket, kein leichtes Tracing Test
4.2 Testelemente ändern
  1. EnterThirdPersonBPEnterMap
  2. Erstellen Sie zwei neueLevel nacheinander:Map_Translation Für Übergang zum Server, Map_StartDies ist die Karte, die standardmäßig auf dem Spielclient geöffnet wird. Die vorhandene Vorlagekarte wird vom Client-Spieler eingegeben
  3. Erstellen Sie gleichzeitig ein Benutzer-Widget, geben Sie ihm eine Schaltfläche und implementieren Sie den Klick auf die Schaltfläche Ereignisöffentliche IP, erhalten Sie zuerst5. Cloud-Host-Firewall-Konfiguration, Sie können auch direkt zu springen Blog Cloud-Host-Konfiguration sprechen , wir werden später über die Die Parameter sind: Ebenenname, Offene Ebene, 你的云服务器公网IP:7777
  4. ÖffneMap_Start, öffne den Level-Bauplan
  5. vorhandenSpiel beginnenrealistisch:Create Widget,Add To Viewport,GetPlayerController->SetShowMouse->ture
4.3 Testobjekte einrichten
  • Projekteinstellungen öffnen:
    • Global GameMode kann aufnone gesetzt werden. Es ist nicht standardmäßig eingestellt und hat keine Auswirkungen die Testergebnisse überhaupt< /span>
    • Anfangskarte des Editors: spielt keine Rolle
    • Standardkarte des Spiels:Map_Server
    • Übersetzungskarte:Map_Translation
    • Serverkarte:Standardkarte für die Vorlage einer dritten Person
  • Suche in den ProjekteinstellungenPaketierungListe der Karten, die in einen gepackten Build aufgenommen werden sollen a>:
    • Zu den drei Karten oben hinzugefügt
4.4 Build.cs ändern

:::Warnung

Hinweis: Es spielt keine Rolle, ob die Quellcode-Engine zum Erstellen des Testprojekts verwendet wird. Das folgende [4.5 Konfigurieren des Packagers] (#4.5 Konfigurieren des Packagers) muss mit der Quellcode-Engine geöffnet werden a>, Details werden später geschrieben

Der nächste Schritt besteht darin, mindestens zweimal zu kompilieren.Projekt-C++-Quellcode. Gehen Sie davon aus, dass das endgültige Paketierungsergebnis ist: ein Linux-Server und einer Windows-Client

Sie müssen zuerst die **.sln** der Projektdatei öffnen. Die Lösung besteht darin, die beiden Konfigurationen separat zu kompilieren:

Linux Server包:Entwicklungsserver,Linux

Windows-Client-Paketierung:Entwicklung, Win64, Ergebnis Zusammensetzung des Windows-Client-KonzeptpaketsEditionsversion, AuswahlVersand, Entwicklung,该郎客选择Win64

Wenn ein Fehler gemeldet wird, zum Beispiel:

  1. Der Cross-Compiler ist älter als die erforderliche Version, das heißt, der Cross-Compiler ist falsch installiert. Überprüfen Sie übrigens die Systemumgebungsvariablen und folgen Sie dann dem Blog3.2, um die Datei UE4.sln zu generieren< /span>Beginnen Sie von vorne
  2. Das SDK für die entsprechende Plattform fehlt. Gehen Sie zum Blog [1.2 Konfigurieren von Visual Studio] (#1.2 Konfigurieren von Visual Studio) und beginnen Sie erneut
  3. Weitere Anfragen online

:::

Das Obige stellt eine Warnung dar. Sie müssen auf die Anforderungen achten und die Konfiguration der entsprechenden Lösung auswählen.

Zunächst müssen Sie die Datei **.sln** im Projektverzeichnis öffnen:

  1. Suchen Sie die项目名Editor.Target.csDatei im Projektverzeichnis

  2. Kopieren Sie diese Datei direkt, benennen Sie sie um in:项目名Server.Target.cs, öffnen Sie sie

  3. Der Änderungsinhalt ist: (Blog-Konfiguration)

    // Fill out your copyright notice in the Description page of Project Settings.
    
    using UnrealBuildTool;
    using System.Collections.Generic;
    
    public class Test01ServerTarget : TargetRules
    {
    	public Test01ServerTarget(TargetInfo Target) : base(Target)
    	{
    		Type = TargetType.Server;
    		DefaultBuildSettings = BuildSettingsVersion.V2;
    
    		ExtraModuleNames.AddRange( new string[] { "Test01" } );
    	}
    }
    
  4. Getrenntpublic class Test01ServerTarget , public Test01ServerTarget(TargetInfo Target), Type = TargetType.Server

Kompilieren Sie nach Abschluss der Änderung die Projektdatei gemäß dem oben genanntenWarnhinweis-Inhalt

4.5 Konfigurieren des Packagers

Suchen Sie zuerst die Datei **.uproject im Projektverzeichnis, klicken Sie mit der rechten MaustasteWählen Sie die Unreal Engine-Version aus** und wählen SieSource code engineUE4StartSoucre build

Doppelklicken Sie nach der Generierung für einen bestimmten Zeitraum auf die Datei **.uproject**, um die Quell-Engine zu öffnen

Konfigurieren Sie das Verpackungsprogramm: (Der Zweck besteht darin, sowohl LinuxServer- als auch WindowsClient-Pakete gleichzeitig zu packen.)

  1. Suchen Sie Window->Project Launcher< in der oberen Menüleiste der Engine-Hauptoberfläche /span>
  2. HinzufügenBenutzerdefinierte Startbeschreibungsdatei
  3. in烘kultur中选择或规,选选LinuxServer, WindowsNoEditor(auch WindowsClient)
  4. Backsprache: beliebig, normalerweise ist die Standardeinstellung en
  5. Paket: Wählen SieLokalen Paketspeicher und ändern Sie Ihren eigenenLokaler Verzeichnispfad
  6. Bereitstellung: Wählen SieNicht bereitstellen (Hinweis: Dies ist sehr wichtig, da sonst die nachfolgende Verpackung erforderlich ist wird in < /span>Launching UAT)
  7. zurückkehren

Klicken Sie, um diese Beschreibungsdatei zu starten und Sie können sie verpacken

5. Cloud-Host/ECS

5.1 Cloud-Service-Konfiguration

:::tip Cloud-Host/ECS/Lightweight-Anwendungsserver

Jeder Cloud-Dienst reicht aus. Am besten installieren Sie das SystemCentos7,Das Root-Passwort Das liegt bei Ihnen, wichtig ist die Konfiguration der Firewall:

  1. ErgänzungTCP, Ende:7777
  2. ErgänzungUDP, Ende:7777

:::

5.2 Server hochladen und ausführen

:::Warnung

Der Blog lässt den Prozess des Hochladens von Dateien auf den Remote-Server weg. Wie auch immer, es ist relativ einfach, das LinuxServer-Paket in das * zu komprimieren. *.zip**-Format. Einfach zu bedienen und zu verstehen

Der Upload-Pfad eignet sich am besten für normale Benutzer. Es scheint, dass die Ausführung durchRoot-Benutzer nicht zulässig ist. Im Folgenden wird die Erstellung erläutert Ein neuer normaler Benutzer unwirklich, laden Sie das komprimierte Paket nach unreal家目录 hoch, also unreal@hostname ~

:::

  1. Erstellen Sie zunächst einen normalen Benutzer

    useradd unreal
    passwd unreal // 输入两次相同的秘密
    cd /home/unreal
    
  2. Das aktuelle Verzeichnis, in das die komprimierte Datei hochgeladen werden soll

  3. Installieren Sie das Dekomprimierungsprogramm

    yum install unzip
    
  4. Entpacken Sie das komprimierte Paket

    unzip 压缩包
    
  5. Legen Sie die Ausführungsberechtigungen über Root fest

    chmod +x 项目名称Server.sh
    
  6. Wechseln Sie zum normalen Benutzer unreal

    su unreal
    
  7. implementieren

    ./项目名称Server.sh -log
    
  8. Öffnen Sie auf der lokalen Seite das Programm des WindowsNoEditor-Pakets zum Testen

Hinweis: Schließen Sie die Remoteverbindung zum Cloud-Dienst im lokalen Windows-SegmentSSH, das ausgeführt wirdServer Der Dienst wird beendet

Lösungsmethode:nohup, Bildschirm

Der Blog übernimmt das einfachstenohup:

nohup ./项目名称Server.sh -log &

Wenn Sie diesen Dienst beenden möchten:

su root
ps aux
// 找到 ./项目名称Server.sh -log 这个命令的进程,记住它的pid
kill pid
unzip 压缩包
  1. Legen Sie die Ausführungsberechtigungen über Root fest

    chmod +x 项目名称Server.sh
    
  2. Wechseln Sie zum normalen Benutzer unreal

    su unreal
    
  3. implementieren

    ./项目名称Server.sh -log
    
  4. Öffnen Sie auf der lokalen Seite das Programm des WindowsNoEditor-Pakets zum Testen

Hinweis: Schließen Sie die Remoteverbindung zum Cloud-Dienst im lokalen Windows-SegmentSSH, das ausgeführt wirdServer Der Dienst wird beendet

Lösungsmethode:nohup, Bildschirm

Der Blog übernimmt das einfachstenohup:

nohup ./项目名称Server.sh -log &

Wenn Sie diesen Dienst beenden möchten:

su root
ps aux
// 找到 ./项目名称Server.sh -log 这个命令的进程,记住它的pid
kill pid

おすすめ

転載: blog.csdn.net/weixin_44519692/article/details/127795025