Autres méthodes de build
Ces approches sont généralement plus lentes et nécessitent une compréhension plus approfondie d’Unreal Engine.
Voir Unreal Engine pour vos premiers pas avec l’hébergement de serveurs de jeu Unreal Engine sur Edgegap.
Explorez des méthodes de build alternatives adaptées aux utilisateurs plus avancés d’Unreal Engine et d’Edgegap :
Autres méthodes de build est une méthode rapide et automatisée adaptée à l’intégration continue.
⚡ Compiler depuis le plugin est une méthode de build héritée nécessitant de compiler Unreal Engine à partir du code source.
⚡ Compiler avec des scripts
La compilation avec des scripts est une méthode rapide, entièrement automatisée et simple, adaptée à l’intégration continue.
Préparation
Avant de commencer, assurez-vous de créer un compte gratuit chez Edgegap (aucune carte de crédit requise).
Configurez quelques éléments essentiels sur votre machine de développement :
Installez Docker Desktop (ou Docker CLI)
Installez Docker Desktop à partir de la source officielle (aucun compte requis).
Redémarrez votre ordinateur après avoir terminé l'installation.
Accédez aux ressources Unreal Engine sur GitHub
Accédez à votre page du tableau de bord des comptes liés Unreal Engine.
Liez le compte GitHub à votre compte Epic.
Autorisez Epic Games à accéder à votre compte GitHub.
Acceptez l'invitation par e-mail pour rejoindre l'organisation Epic Games sur GitHub.
Générer un jeton d'accès personnel GitHub (classique)
activer uniquement l'autorisation
[lecture:packages],générer le jeton - stockez cette valeur en lieu sûr, vous ne la verrez plus.
1. Configurer le projet
Que vous utilisiez une machine Windows, Mac ou Linux, vous allez devez construire votre serveur pour l'exécution sous Linux, car la plupart des fournisseurs cloud aujourd'hui (y compris Edgegap) fonctionnent sous Linux. Ne vous inquiétez pas, aucune connaissance en Linux n'est requise.
☑️ Désactiver la vérification de compatibilité de la version d'Unreal Engine pour les serveurs dédiés et définir IpNetDriver comme le pilote par défaut ou le pilote de secours pour le réseau de réplication :
Assurez-vous de saisir votre DefaultServerTarget à la fin de cet extrait!
☑️ Redémarrer Unreal Engine pour recharger les derniers changements.
☑️ Créer un script de cible pour serveur dédié en copiant votre <PROJECT>Editor.Target.cs fichier dans le dossier racine du projet et en renommant la copie en <PROJECT>Server.Target.cs.
☑️ Remplacez toutes les références à mot Editor par Server dans votre script de cible serveur.
☑️ Modifier les paramètres par défaut de la build serveur en éditant votre script de cible serveur :
✅ Vous pouvez maintenant passer à l'étape suivante.
Facultatif : Intégration Steam
Pour intégrer Steam, utilisez IpNetDriver comme votre pilote réseau par défaut et vérifiez que le steamclient.so 64 bits pour Linux est copié dans l'image sur le chemin /home/ubuntu/.steam/sdk64/ .
Ajouter steamclient.so bibliothèque Linux en un clic en utilisant notre extension Docker.
Assurez-vous de désactiver le réseautage Steam, qui envoie des paquets via Steam Relay et peut causer des problèmes de connexion ou des pics de latence. Ceci ne vous empêche pas d'utiliser d'autres fonctionnalités Steamworks comme les classements, les succès, la voix ou la publication de votre jeu sur le Steam Store.
2. Compiler et publier
Travailler en équipe de développeurs signifie partager votre code. Quand les choses tournent mal, la dernière chose que vous voulez entendre est « ça marche sur ma machine ». Les serveurs de jeu doivent fonctionner de manière fiable sur n'importe quelle machine, car les serveurs d'un jeu à succès tourneront sur des milliers de machines serveur à travers le monde.
Pour aider à rendre votre serveur fiable, nous utilisons Docker - un logiciel de virtualisation garantissant que toutes les dépendances de votre code serveur jusqu'au niveau du système d'exploitation seront toujours exactement les mêmes, peu importe comment ou où le serveur est lancé.
Nous recommandons de regarder "Ne jamais installer localement" (vidéo). Vous N'AVEZ PAS besoin d'utiliser Dockerhub avec Docker. Docker ≠ Dockerhub. Pensez à Docker comme à un moteur de programmation et à Dockerhub comme à son App Store.
☑️ Vérifiez que Docker est installé et en cours d’exécution.
☑️ Téléchargez nos Edgegap Build Utils y compris :
scripts de build spécifiques à la plateforme :
BuildAndUpload.ps1pour Windows,BuildAndUpload.shpour macOS et Linux,
Dockerfile- recette pour construire vos images Docker,dockerignore- liste des fichiers non critiques à supprimer pour accélérer les builds,StartServer.sh- script utilitaire gérant le cycle de vie de votre Unreal Engine à l’exécution.
☑️ Déplacez le edgegap-unreal-buildutils dossier vers le répertoire racine de votre projet.
☑️ Modifiez le BuildAndUpload script pour votre plateforme pour configurer :
identifiants GitHub utilisés pour récupérer des images Unreal Engine précompilées pour les serveurs Linux,
détails du projet - version du moteur, configuration du serveur, nom du fichier .uproject,
Registre Edgegap identifiants utilisés pour téléverser vos builds terminés.
☑️ Exécutez le script modifié pour démarrer le processus de build et de téléversement. Une fois cette étape terminée, un nouvel image dans votre page du tableau de bord du registre de conteneurs Edgegap dans votre dépôt.
☑️ Vous serez automatiquement redirigé vers créer un nouveau Applications et versions dans tableau de bord.
✅ Vous pouvez maintenant passer à l’étape suivante, aller directement à Autres méthodes de build.
Dépannage et FAQ
ERREUR : échec de l’exécution de la fonction Build : le Dockerfile ne peut pas être vide
Certaines sources de plugins peuvent manquer
Dockerfileet/ouStartServer.sh, veuillez trouver une copie de ces fichiers à partir de la version source GitHub de votre plugin et l’ajouter à votre plugin local.
open //./pipe/dockerDesktopLinuxEngine : Le système ne peut pas trouver le fichier spécifié.
Vérifiez que Docker est en cours d’exécution sur votre machine de développement.
format de référence invalide EdgegapLog : Avertissement : OnContainerizeCallback : Impossible de générer le conteneur, message : Échec
Vérifiez que le nom de votre application est défini et ne contient pas d’espace blanc final.
Assurez-vous d’appuyer sur Entrée pour confirmer la valeur saisie une fois la modification terminée.
Modifiez la configuration de compilation dans votre
XYZServerTarget.csfichier :
403 Interdit, impossible de pousser le conteneur, message : Échec
Veuillez vérifier que vos identifiants Docker sont correctement définis.
Si vous utilisez le registre de conteneurs Edgegap, assurez-vous que le nom d’utilisateur n’inclut pas
app-version-pull, qui est le profil autorisant uniquement l’extraction d’images. Votre profil devrait plutôt ressembler à votre adresse e-mail de compte.Vérifiez que vous disposez de suffisamment d’espace libre dans le registre de conteneurs. Nous vous recommandons d’essayer de Autres méthodes de build, et d’utiliser notre API pour supprimer les images plus anciennes. Les images sont stockées sur votre machine locale jusqu’à leur suppression pour les sauvegardes.
⚡ Compiler depuis le plugin
Notre plugin hérité comprend des utilitaires avancés et nécessite de compiler Unreal Engine à partir du code source.
Préparation
Avant de commencer, assurez-vous de créer un compte gratuit chez Edgegap (aucune carte de crédit requise).
Configurez quelques éléments essentiels sur votre machine de développement :
Installez Docker Desktop (ou Docker CLI)
Installez Docker Desktop à partir de la source officielle (aucun compte requis).
Redémarrez votre ordinateur après avoir terminé l'installation.
Accédez aux ressources Unreal Engine sur GitHub
Accédez à votre page du tableau de bord des comptes liés Unreal Engine.
Liez le compte GitHub à votre compte Epic.
Autorisez Epic Games à accéder à votre compte GitHub.
Acceptez l'invitation par e-mail pour rejoindre l'organisation Epic Games sur GitHub.
Installez un plugin Unreal Engine Edgegap officiel
Choisissez l’un des plugins officiels :
télécharger Outils de développement,
ou télécharger Outils de développement.
1. Configurer le projet
Que vous utilisiez une machine Windows, Mac ou Linux, vous allez devez construire votre serveur pour l'exécution sous Linux, car la plupart des fournisseurs cloud aujourd'hui (y compris Edgegap) fonctionnent sous Linux. Ne vous inquiétez pas, aucune connaissance en Linux n'est requise.
☑️ Compilez votre version d’Unreal Engine à partir du code source sur votre machine de développement,
installez branche de version spécifique (par ex.
5.5) pour construire sur une base stable,utilisez un disque SSD pour accélérer les builds (d’environ ~12+ heures à ~2+ heures),
cela n’est requis que la première fois et chaque fois que vous mettez à niveau votre version d’Unreal Engine.
Téléchargez la branche avec un client git ! L’utilisation de l’interface utilisateur GitHub téléchargera toujours la branche instable release branche.
☑️ Installez la toolchain officielle de cross-compilation Unreal pour compiler des serveurs de jeu pour Linux.
☑️ Redémarrez votre machine de développement, sinon vous rencontrerez des erreurs plus tard !
☑️ Désactiver la vérification de compatibilité de la version d'Unreal Engine pour les serveurs dédiés et définir IpNetDriver comme le pilote par défaut ou le pilote de secours pour le réseau de réplication :
Assurez-vous de saisir votre DefaultServerTarget à la fin de cet extrait!
☑️ Redémarrer Unreal Engine pour recharger les derniers changements.
☑️ Créer un script de cible pour serveur dédié en copiant votre <PROJECT>Editor.Target.cs fichier dans le dossier racine du projet et en renommant la copie en <PROJECT>Server.Target.cs.
☑️ Remplacez toutes les références à mot Editor par Server dans votre script de cible serveur.
☑️ Modifier les paramètres par défaut de la build serveur en éditant votre script de cible serveur :
✅ Vous pouvez maintenant passer à l'étape suivante.
Facultatif : Intégration Steam
Pour intégrer Steam, utilisez IpNetDriver comme votre pilote réseau par défaut et vérifiez que le steamclient.so 64 bits pour Linux est copié dans l'image sur le chemin /home/ubuntu/.steam/sdk64/ .
Ajouter steamclient.so bibliothèque Linux en un clic en utilisant notre extension Docker.
Assurez-vous de désactiver le réseautage Steam, qui envoie des paquets via Steam Relay et peut causer des problèmes de connexion ou des pics de latence. Ceci ne vous empêche pas d'utiliser d'autres fonctionnalités Steamworks comme les classements, les succès, la voix ou la publication de votre jeu sur le Steam Store.
2. Compiler et publier
Travailler en équipe de développeurs signifie partager votre code. Quand les choses tournent mal, la dernière chose que vous voulez entendre est « ça marche sur ma machine ». Les serveurs de jeu doivent fonctionner de manière fiable sur n'importe quelle machine, car les serveurs d'un jeu à succès tourneront sur des milliers de machines serveur à travers le monde.
Pour aider à rendre votre serveur fiable, nous utilisons Docker - un logiciel de virtualisation garantissant que toutes les dépendances de votre code serveur jusqu'au niveau du système d'exploitation seront toujours exactement les mêmes, peu importe comment ou où le serveur est lancé.
Nous recommandons de regarder "Ne jamais installer localement" (vidéo). Vous N'AVEZ PAS besoin d'utiliser Dockerhub avec Docker. Docker ≠ Dockerhub. Pensez à Docker comme à un moteur de programmation et à Dockerhub comme à son App Store.
☑️ Vérifiez que Docker est installé et en cours d’exécution.
☑️ Recompilez notre plugin pour votre version personnalisée d’Unreal Engine compilée à partir du code source.
☑️ Copiez le plugin compilé dans votre Plugins dossier à la racine de votre projet Unreal (pas le moteur).
☑️ Lancez votre nouvel Unreal Engine depuis Visual Studio et ouvrez l’élément de barre d’outils Édition / Plugins.
☑️ Activez notre plugin dans la section INSTALLÉ / Autre.
☑️ Configurez notre plugin en ouvrant l’élément de barre d’outils Édition / Paramètres du projet / Edgegap:
Appuyez toujours sur Entrée après avoir modifié les valeurs de saisie pour vous assurer qu’elles sont correctement enregistrées.
Jeton API est nécessaire pour téléverser votre serveur vers Edgegap, obtenez-en un en cliquant sur Obtenir un jeton.
Nom de l’application sur Edgegap peut correspondre au nom de votre projet ou être personnalisé, assurez-vous d’utiliser uniquement des lettres minuscules, des chiffres ou le caractère tiret
-et trait de soulignement_.Chemin de l’image fournit éventuellement une icône personnalisée pour votre serveur de jeu sur Edgegap, ignorez ceci pour l’instant.
Nom de version est utile pour suivre la compatibilité client/serveur et revenir en arrière en cas de problème.
Les horodatages sont une excellente option pour les noms de version d’application, par exemple
2024.01.30-16.50.20-UTC.Plusieurs versions d’application peuvent pointer vers le même tag d’image, comme
v1.1.0etdev.En savoir plus sur Applications et versions plus tard.
Ne réutilisez pas latest version pour empêcher notre système de déployer une image obsolète (mise en cache).
☑️ Cliquez sur Créer une application. Une fois cette étape terminée, il en résultera une nouvelle application apparaissant dans Tableau de bord Edgegap.
☑️ Ignorez pour l’instant les paramètres personnalisés du registre de conteneurs, vous pourrez utiliser un registre tiers plus tard si vous le souhaitez.
☑️ Une fois que vous êtes satisfait de votre configuration, cliquez sur Compiler et pousser, attendez la fin du processus et vérifiez qu’il n’y a pas de nouvelles erreurs dans votre console Unreal. Une fois cette étape terminée, il en résultera nouveau dossier dans la racine de votre projet - Saved/LinuxServer. En outre, une nouvelle image apparaît maintenant dans votre page du tableau de bord du registre de conteneurs Edgegap sous votre dépôt, et une nouvelle Applications et versions apparaît dans votre tableau de bord sous votre application.
☑️ Dans votre nouvelle version d’application, définissez la variable d’environnement TARGET_FILE_NAME pour qu’elle corresponde à votre DefaultServerTarget valeur de l’étape Autres méthodes de build.
✅ Vous pouvez maintenant passer à l’étape suivante.
Dépannage et FAQ
ERREUR : échec de l’exécution de la fonction Build : le Dockerfile ne peut pas être vide
Certaines sources de plugins peuvent manquer
Dockerfileet/ouStartServer.sh, veuillez trouver une copie de ces fichiers à partir de la version source GitHub de votre plugin et l’ajouter à votre plugin local.
open //./pipe/dockerDesktopLinuxEngine : Le système ne peut pas trouver le fichier spécifié.
Vérifiez que Docker est en cours d’exécution sur votre machine de développement.
format de référence invalide EdgegapLog : Avertissement : OnContainerizeCallback : Impossible de générer le conteneur, message : Échec
Vérifiez que le nom de votre application est défini et ne contient pas d’espace blanc final.
Assurez-vous d’appuyer sur Entrée pour confirmer la valeur saisie une fois la modification terminée.
Modifiez la configuration de compilation dans votre
XYZServerTarget.csfichier :
403 Interdit, impossible de pousser le conteneur, message : Échec
Veuillez vérifier que vos identifiants Docker sont correctement définis.
Si vous utilisez le registre de conteneurs Edgegap, assurez-vous que le nom d’utilisateur n’inclut pas
app-version-pull, qui est le profil autorisant uniquement l’extraction d’images. Votre profil devrait plutôt ressembler à votre adresse e-mail de compte.Vérifiez que vous disposez de suffisamment d’espace libre dans le registre de conteneurs. Nous vous recommandons d’essayer de Autres méthodes de build, et d’utiliser notre API pour supprimer les images plus anciennes. Les images sont stockées sur votre machine locale jusqu’à leur suppression pour les sauvegardes.
👉 Prochaines étapes
Continuez vers Unreal Engine avec notre Déploiement via le tableau de bord fonctionnalité et apprenez-en davantage sur l’arrêt de vos déploiements, les variables injectées et la paramétrisation, ainsi que la découvrabilité des serveurs.
Mis à jour
Ce contenu vous a-t-il été utile ?

