unityUnity

Apprenez en pratiquant et déployez votre premier serveur dédié sur Edgegap. À la fin de ce guide, vous aurez déployé un serveur dédié avec Edgegap sans frais.

✔️ Préparation

chevron-rightInstallez le plugin Quickstart pour serveurs dédiés Unity d'Edgegaparrow-up-righthashtag

circle-info

Confiant dans vos builds serveur ? Passez à Unity ou Fonctionnalités avancées pour plus d'informations.

⚙️ 1. Connecter le compte

☑️ Connectez-vous et vérifiez qu'il n'y a pas de nouvelles erreurs dans votre console Unity liées au plugin d'Edgegap.

✅ Vous pouvez maintenant passer à l'étape suivante.

chevron-rightDépannage et FAQhashtag

!Succès : 400 BAD REQUEST - POST | https://api.edgegap.com/v1/wizard/init-quick-start - {"message": "Le navigateur (ou le proxy) a envoyé une requête que ce serveur ne peut pas comprendre."}

  • Si vous avez installé en copiant le fichier ZIP ou utilisé un projet d'exemple avec une copie du plugin installée de cette manière, vous devrez installer manuellement les dépendances du package, y compris la bibliothèque Newtonsoft JSON, voir le dépôt officiel du pluginarrow-up-right.

  • Veuillez nous contacter sur Discord communautairearrow-up-right pour obtenir de l'aide si ce n'est pas le cas.

🔧 2. Compiler le serveur de jeu

Que vous utilisiez une machine Windows, Mac ou Linux, vous devrez compiler votre serveur pour l'exécution Linux, car la plupart des fournisseurs cloud aujourd'hui (y compris Edgegap) fonctionnent sous Linux. Ne vous inquiétez pas, aucune connaissance de Linux n'est requise pour y parvenir avec notre plugin.

☑️ Vérifiez que vous avez installé les outils de compilation Linux Unity requis.

☑️ Modifiez les paramètres de compilation pour vous assurer que toutes les scènes de jeu requises sont incluses.

circle-info

Utilisateurs avancés de Unity - modifiez éventuellement les paramètres de compilation Unityarrow-up-right. Attention ! Cela peut casser votre build.

☑️ Facultatif : ajoutez le script spécifique au netcode pour la vérification des ports et l'initialisation de l'environnement à votre scène serveur initiale depuis le menu Edgegap Server Hosting (clic droit / dans votre fenêtre Hierarchy).

circle-info

Une fois l'étape Unityterminée, le script de vérification du port enregistrera un avertissement si l'adresse ou les ports de votre netcode ne correspondent pas à votre mappage des ports de version d'application .

circle-check

☑️ Une fois que votre configuration vous convient, cliquez sur Compiler le serveur, attendez la fin du processus et vérifiez qu'il n'y a pas de nouvelles erreurs dans votre console Unity. La réalisation de cette étape entraînera l'apparition d'un nouveau dossier dans la racine de votre projet - Builds/EdgegapServer/ServerBuild .

✅ Vous pouvez maintenant passer à l'étape suivante.

chevron-rightDépannage et FAQhashtag

Unity : les seules cibles autonomes prises en charge sont Windows x64 et OSX avec OpenXR.

  • Ouvrez vos Packages et désactivez OpenXR avant de compiler votre serveur.

  • Le plugin OpenXR n'est requis que pour les clients et n'est pas compatible avec les builds de serveur Linux. En l'excluant de vos builds serveur, vous ne perdez aucune fonctionnalité.

🐋 3. Conteneuriser le serveur

Travailler au sein d'une équipe de développeurs signifie partager votre code. Quand quelque chose tourne 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 dans 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, quelle que soit la manière ou l'endroit où le serveur est lancé.

☑️ Pour l'instant, commencez par cliquer sur le bouton Valider pour vous assurer que vous avez terminé Outils pour développeurs.

☑️ Vous pouvez configurer les options suivantes (ou conserver les valeurs par défaut) :

  • Chemin de compilation est le chemin relatif vers l'artefact de build de votre serveur, conservons la valeur par défaut pour le moment.

circle-exclamation
  • Nom de l'image est un identifiant unique de votre choix, servant à étiqueter le build de votre serveur avant son déploiement.

    • En général, cela inclura le nom de votre jeu - par exemple « mon-jeu-serveur ».

  • Tag de l'image est un identifiant pointant vers une version spécifique de votre image.

    • Le terme « artefact de build » est parfois utilisé pour désigner une version spécifique de votre image.

    • Les horodatages sont une excellente option pour le tagging, par ex. 2024.01.30-16.23.00-UTC .

  • Chemin vers le Dockerfile peut être utilisé pour personnaliser la recette de vos images.

    • Nous vous recommandons de conserver le paramètre par défaut pour le moment, vous pourrez en lire davantage plus tard dans la section Unity.

  • Paramètres de build Docker optionnels peuvent être utilisés pour donner à Docker des instructions supplémentaires sur des nuances plus fines.

☑️ Une fois que votre configuration vous convient, cliquez sur Conteneuriser avec Docker, attendez la fin du processus et vérifiez qu'il n'y a pas de nouvelles erreurs dans votre console Unity. La réalisation de cette étape entraînera l'apparition d'un nouvelle image apparaissant sur votre machine locale. Vous pouvez le vérifier soit dans Docker Desktop, dans l'onglet Images sous Local (par défaut), soit dans la CLI docker en exécutant docker images .

✅ Vous pouvez maintenant passer à l'étape suivante.

chevron-rightDépannage et FAQhashtag

/bin/bash : docker : commande introuvable , ou impossible de trouver Packages\com.edgegap.unity-servers-plugin\Editor

  • Tout d'abord, assurez-vous d'avoir terminé Outils pour développeurs.

  • Confirmez que vous avez vérifié votre compte Edgegap, vous devriez avoir reçu un lien de vérification par e-mail.

  • Certains paramètres ont peut-être été réinitialisés après la mise à jour de Docker Desktop. Essayez d'aller dans Paramètres / Avancé de Docker Desktop et, pour « Choisissez comment configurer l'installation des outils CLI de Docker : », sélectionnez « Système (mot de passe requis) ».


docker build requiert exactement 1 argument

  • Veuillez vérifier que le tag de votre image ne contient aucun caractère d'espacement (espaces, tabulations). Ressaisir la valeur de votre tag d'image vous permettra de vous assurer que vous n'avez pas accidentellement copié de tels caractères.


(code HTTP 400) inattendu - format de tag invalide


ERREUR : échec de la résolution : ubuntu:22.04 : échec de la résolution des métadonnées sources pour http://docker.io/library/ubuntu:22.04 : échec de l'autorisation : échec de la récupération du jeton OAuth

  • Êtes-vous situé en Chine ? Votre connexion peut être interrompue par le Grand Pare-feu. Essayez d'exécuter docker pull ubuntu:22.04 manuellement dans votre ligne de commande (ouvrez la ligne de commande en appuyant sur Win+R, puis tapez cmd et Entrée).


System.IndexOutOfRangeException : l'index était en dehors des limites du tableau.

  • Si vous avez installé notre plugin Quickstart Unity en téléchargeant le ZIP, le cache de votre éditeur Unity est peut-être corrompu. Essayez de supprimer votre copie du plugin et de l'installer à l'aide de l'URL git ou depuis l'Asset Store Unity. Vous ne devriez plus avoir besoin du package Newtonsoft.JSON, car il est automatiquement inclus avec les autres sources.


La taille de mon image Docker est énorme (plus de 1 Go) / minuscule (moins de 100 Mo), est-ce normal ?

  • Cela peut être acceptable dans certains cas, tant que vous pouvez lancer le serveur et vous connecter avec succès (voir Unity). Si ce n'est pas le cas, envisagez de revoir vos options de build, de les réinitialiser aux valeurs par défaut, puis d'ajouter progressivement des options pour voir leur impact sur la taille de votre build. Voir aussi Unity.


Je rencontre un autre problème non mentionné dans cette documentation.

🧪 4. Tester le serveur localement

☑️ Vous pouvez configurer les options suivantes (ou conserver les valeurs par défaut) :

  • Tag de l'image serveur de l'étape précédente.

    • Par défaut, il s'agit du dernier tag que vous avez généré avec le plugin.

  • Paramètres optionnels de docker run peuvent être fournis pour exposer plusieurs ports, ou pour exécuter votre image sur des machines macOS.

    • Vous pouvez publier plusieurs ports pour votre conteneur si nécessaire, ajoutez simplement le paramètre -p {port interne}/{protocole} pour chacun, par exemple -p 8080/tcp -p 7770/udp pour publier et mapper votre port serveur 8080 vers un port externe aléatoire pour la connexion TCP et le port serveur 7777 vers un port externe aléatoire pour la connexion UDP en même temps.

    • Trouvez la configuration du port serveur dans votre Transport ou dans les paramètres spécifiques au netcode.

    • Si vous utilisez une machine avec une architecture ARM (macOS M1, M2, M3, etc.), vous devriez voir ce paramètre optionnel inclus dans vos paramètres de build Docker optionnels : --platform=linux/amd64 .

☑️ Une fois que votre configuration vous convient, cliquez sur Déployer le conteneur local, attendez la fin du processus et vérifiez qu'il n'y a pas de nouvelles erreurs dans votre console Unity. La réalisation de cette étape entraînera le démarrage d'un nouveau conteneur sur votre machine de développement.

circle-info

Pour plus de détails, voir Docker Desktop / Conteneurs, ou la commande Docker CLI docker ps .

☑️ Il est maintenant temps de connecter votre client de jeu Unity Editor à votre conteneur Docker local pour vérifier que votre image serveur fonctionne correctement. Trouvez les paramètres client de votre netcode et renseignez :

  • localhost ou 127.0.0.1 (équivalent dans la plupart des cas) à la place de l'IP du serveur,

  • la valeur de port externe aléatoire trouvée dans Docker Desktop / Conteneurs / edgegap-server-test.

✅ Vous pouvez maintenant passer à l'étape suivante.

chevron-rightDépannage et FAQhashtag

Je n'arrive pas à me connecter au conteneur Docker local avec mon client de jeu Unity Editor.

  • Tout d'abord, assurez-vous que le statut du conteneur est En cours d'exécution et qu'il n'est pas en Redémarrage ou Arrêté, ce qui indiquerait une exception à l'exécution. Si votre conteneur ne s'exécute pas, consultez ses journaux via l'onglet Conteneurs de Docker Desktop (cliquez sur votre conteneur) ou en utilisant docker logs {container_id} --timestamps via la CLI docker.

  • Ensuite, vérifiez que le paramètre de port de votre Network Manager depuis votre build serveur correspond au port publié dans Paramètres optionnels de docker run. Si ce n'est pas le cas, essayez de réinitialiser ou de modifier manuellement la valeur de ce champ d'entrée pour qu'elle corresponde à {container} le port dans le paramètre de votre Network Manager. Trouvez votre protocole dans vos paramètres netcode.

  • Enfin, confirmez que les paramètres netcode de votre client de jeu Unity Editor utilisent le port publié dans Paramètres optionnels de docker run (voir la capture d'écran ci-dessus).


(Segmentation fault) - core dumped

  • Si vous utilisez une machine avec une architecture ARM (macOS M1, M2, M3, etc.), vous devriez voir ce paramètre optionnel inclus dans vos paramètres de build Docker optionnels : --platform=linux/amd64 . Si ce n'est pas le cas, essayez de réinitialiser la valeur de ce champ d'entrée.


SceneId 9120233082191360994 introuvable dans SceneObjects.

  • Cela peut signifier que la scène que vous essayez de charger n'a pas été correctement incluse dans le build, un problème connu dans les anciennes versions du plugin. Pour y remédier, essayez de mettre à jour votre version d'intégration netcode ou de mettre à jour votre plugin Edgegaparrow-up-right.


http2 : serveur : erreur lors de la lecture de la préface du client //./pipe/docker_engine : le fichier a déjà été fermé


Erreur Curl 35 : échec de la négociation du certificat. Erreur fatale. Code d'erreur UnityTls : 7

☁️ 5. Téléverser sur Edgegap

☑️ Vous pouvez configurer les options suivantes (ou conserver les valeurs par défaut) :

  • Nom de l'application sur Edgegap peut correspondre au nom de votre image ou être personnalisé.

    • Nous avons choisi pour l'instant de copier le nom de votre image.

  • Version de l'application sur Edgegap peut correspondre à votre tag ou être personnalisée.

    • Les horodatages sont une excellente option pour les noms de version d'application, par ex. 2024.01.30-16.50.20-UTC .

    • Plusieurs versions d'application peuvent pointer vers le même tag d'image, par exemple v1.1.0 et dev .

    • En savoir plus sur Applications et versions plus tard.

  • Nom de l'image serveur de l'étape Unity.

  • Tag de l'image serveur de l'étape Unity.

circle-check

☑️ Une fois que votre configuration vous convient, cliquez sur Téléverser l'image et créer la version de l'application, attendez la fin du processus et vérifiez qu'il n'y a pas de nouvelles erreurs dans votre console Unity.

☑️ Vous serez redirigé vers notre Tableau de bordarrow-up-right, où vous pourrez configurer des paramètres optionnels. La réalisation de cette étape entraînera la création d'une nouvelle version de l'applicationarrow-up-right, et votre artefact de build sera tagué et téléversé dans le registre de conteneurs d'Edgegaparrow-up-right.

☑️ Il vous sera maintenant demandé de définir un port pour votre nouvelle version de l'application. Assurez-vous de définir la même valeur de port serveur que dans l'étape Unity de vos paramètres Transport ou spécifiques au netcode.

✅ Vous pouvez maintenant passer à l'étape suivante.

🚀 6. Déployer dans le cloud

☑️ Nous allons maintenant effectuer le test final et connecter votre client de jeu Unity Editor à votre déploiement cloud. Saisissez les détails de connexion du client de jeu depuis le déploiement :

  • Hôte URL pointant vers l'IP du serveur, généralement dans le composant NetworkManager .

  • Port externe mappé au port d'écoute interne du serveur, généralement dans le composant Transport.

chevron-rightDépannage et FAQhashtag

Impossible de connecter les clients au serveur - Délai de la requête dépassé. , 请求超时 , Échec de la connexion , ou Échec de la vérification du port

  • Tout d'abord, assurez-vous que le déploiement est Prêt, et qu'il n'y a pas d'exceptions à l'exécution ni d'erreurs dans le journal de votre déploiement. Si votre déploiement s'est arrêté, consultez les journaux dans notre Tableau de bordarrow-up-right.

  • Si vous utilisez le netcode Mirror, vous devez avoir « Auto Start Server »arrow-up-right sélectionné dans votre NetworkManager , reconstruisez, poussez et redéployez votre serveur.

  • Si vous utilisez le netcode FishNet, vous devez activer « Start on Headless »arrow-up-right dans votre ServerManager, reconstruisez, poussez et redéployez votre serveur.

  • Si vous utilisez le netcode Photon Fusion 2, veuillez vous assurer que votre serveur transmet l'IP publique du déploiement, le port externe et le roomCode sur le serveur, ainsi que le même code de salle sur le client dans le paramètre « NeworkRunner.StartGame »arrow-up-right . StartGameArgs. ID de déploiement (par ex. b63e6003b19f) est un excellent choix, car il est globalement unique et facilement accessible au client via Matchmaker et Vue approfondie.

  • Ensuite, vérifiez que le paramètre de port dans les paramètres netcode de votre build serveur correspond au port interne dans votre version d'applicationarrow-up-right. Vous pouvez modifier le mappage des ports en éditant le version d'applicationarrow-up-right sans reconstruire. Trouvez votre protocole dans votre intégration netcode.

  • Veuillez vous assurer que votre client de jeu se connecte au port externe affiché sur votre page de détails de déploiement ; cette valeur sera toujours randomisée pour des raisons de sécurité.

  • Si vous utilisez le protocole Secure Websocket (WSS) dans votre intégration netcode, veuillez vous assurer que votre version d'applicationarrow-up-right configuration de port pour le port WSS a l'upgrade TLS activé.

  • Êtes-vous situé en Chine et utilisez-vous Smart Fleetsarrow-up-right? Votre connexion peut être bloquée par le Grand Pare-feu. Envisagez d'ajouter à votre flotte un serveur situé en Chine, ou d'utiliser un VPN pour vous connecter.


Mon déploiement s'est arrêté/redémarré et je n'arrive plus à accéder à ses journaux.

  • Dans le cas où le processus du serveur plante à cause d'une exception, notre système tentera de redémarrer automatiquement le serveur. Envisagez de tester votre serveur localement pour découvrir la cause racine.

  • Nous conservons les journaux uniquement pendant la durée du déploiement ; si vous souhaitez inspecter les journaux après l'arrêt du déploiement, veuillez intégrer un stockage de journaux tiersarrow-up-right.

  • Voir Déploiements pour découvrir toutes les causes de l'arrêt de votre déploiement.


Mon déploiement s'est arrêté automatiquement après X minutes.

  • Les déploiements du niveau gratuit ont une limite de 60 minutes ; veuillez envisager de mettre à niveau votre compte.

  • Tous les déploiements seront terminés après 24 heures d'exécution conformément à notre politique de nettoyage des serveurs, pour la maintenance de l'infrastructure, et pour éviter d'engendrer des coûts inattendus lorsqu'un déploiement n'a pas été arrêté correctement. Pour les serveurs de longue durée, envisagez d'utiliser Flottes privées avec Persistance.

  • Voir Déploiements pour découvrir toutes les causes de l'arrêt de votre déploiement.


Mon déploiement est prêt mais je ne parviens pas à m'y connecter pendant plusieurs minutes ensuite.

  • Une fois un déploiement prêt, l'initialisation de votre moteur de jeu commence. Ce processus peut prendre de quelques secondes à plusieurs minutes, et le serveur n'accepte pas de connexions de joueurs pendant cette période.

  • Envisagez d'optimiser l'initialisation de votre serveur pour réduire cette durée.

  • Les clients de jeu doivent réessayer la connexion à intervalles d'1 seconde pendant un temps limité (selon la durée de votre initialisation), après quoi ils doivent revenir au matchmaking.

  • Envisagez d'ajouter une scène de chargement afin que le serveur puisse effectuer l'initialisation (et le travel dans le cas d'Unreal Engine) en même temps que les clients, tout en synchronisant l'état des deux.


Mon appareil Meta Quest affiche HTTP 0 : impossible de résoudre l'hôte de destination .

  • Lors de la compilation d'applications Unity pour la cible Android, votre autorisation d'accès à Internet peut être supprimée automatiquement de l'artefact de build client APK de sortie.

  • Réajoutez les autorisations dans (nécessite de reconstruire le client ensuite) :

    • Paramètres du projet / OpenXR / ⚙️ Support Meta Quest / Forcer la suppression des autorisations Internet (décochez).

    • Paramètres du joueur / Accès Internet (définir sur requis).


Que se passera-t-il si un joueur quitte mon déploiement ?

  • Par défaut, les serveurs ne rejettent pas les connexions des joueurs. L'authentification des joueurs dépend de vos développeurs, car de nombreuses méthodes différentes et divers fournisseurs d'authentification des joueurs peuvent être utilisés.

  • Les clients de jeu peuvent stocker localement les informations de connexion afin de tenter une reconnexion en cas de crash inattendu du client.

  • Pour permettre aux joueurs de rejoindre des parties en cours, envisagez d'utiliser Vue approfondie ou Sessionsarrow-up-right.


Mon serveur affiche 100 % d'utilisation CPU après être devenu prêt.

  • Cela peut ne pas être un problème, car les moteurs de jeu ont tendance à effectuer des opérations gourmandes en CPU pendant l'initialisation du serveur. Si l'utilisation du CPU ne baisse pas 2 à 3 minutes après le début du déploiement, vous devrez peut-être optimiser votre serveur ou augmenter les ressources de la version d'application.

  • Réduire le tick rate peut avoir un impact sur l'utilisation du CPU, car le serveur effectue moins d'opérations de messagerie.

  • Si vous utilisez le netcode Mirror, vous devez avoir « Auto Start Server »arrow-up-right sélectionné dans votre NetworkManager , reconstruisez, poussez et redéployez votre serveur.

  • Si vous utilisez le netcode FishNet, vous devez activer « Start on Headless »arrow-up-right dans votre ServerManager, reconstruisez, poussez et redéployez votre serveur.

  • Vous êtes limité à 1,5 vCPU et 3 Go de mémoire (RAM) dans le niveau gratuit.

  • Vous pouvez augmenter les ressources allouées lors de la création d'une nouvelle version d'application. Vous pouvez dupliquer votre version d'application dans notre tableau de bord et ajuster ces valeurs selon vos besoins, sans reconstruire votre serveur ni votre image.


Mon déploiement redémarre à plusieurs reprises et affiche l'erreur OOM kill

  • Cela est causé par le dépassement de la quantité de mémoire allouée. Envisagez d'optimiser l'utilisation de la mémoire avec le pooling d'objets, la compression ou la suppression des objets inutiles dans votre scène.

  • Assurez-vous que votre projet charge la scène par défaut contenant votre NetworkManager et que la scène est incluse dans les paramètres de build de Unity.

  • Vous êtes limité à 1,5 vCPU et 3 Go de mémoire (RAM) dans le niveau gratuit.

  • Vous pouvez augmenter les ressources allouées lors de la création d'une nouvelle version d'application. Vous pouvez dupliquer votre version d'application dans notre tableau de bord et ajuster ces valeurs selon vos besoins, sans reconstruire votre serveur ni votre image.


Parfois, l'utilisation de la mémoire (RAM) de mon serveur monte brusquement à une valeur élevée, est-ce un problème ?

  • Tant que vous restez dans la limite de mémoire allouée à la version d'application, ce n'est pas un problème.

  • Dépasser la quantité de mémoire allouée à la version d'application entraînera OOM kill (voir ci-dessus).


Les performances de mon serveur seront-elles affectées par d'autres serveurs exécutés sur la même machine ?

  • Non, notre plateforme garantit que les ressources allouées ne seront pas utilisées par d'autres studios ni par d'autres serveurs sur une infrastructure partagée. Avec Edgegap, il n'y a pas de voisins bruyants.

👉 Étapes suivantes

Arrêter les déploiements

Découvrez différentes méthodes pour arrêter les déploiements une fois le match terminé et les joueurs partis.

Pour des arrêts propres, nous recommandons fortement d'implémenter l'API d'auto-arrêt dans votre jeu :

chevron-rightExemple de snippet de code de l'API d'auto-arrêt Unity C#hashtag
circle-info

Votre serveur Unity sera redémarré automatiquement en cas de crash ou d'utilisation de toute la mémoire disponible.

Variables injectées

Lisez des informations utiles comme l'ID de déploiement, l'adresse IP du serveur, l'emplacement du serveur, et plus encore, en accédant aux variables d'environnement injectées. Chaque déploiement inclut automatiquement :

Vérifiez si l'instance actuelle est un client de jeu ou un serveur en vérifiant si la variable Edgegap est définie :

Matchmaking

Démarrer vos déploiements manuellement en collant l'URL et les ports ne suffira pas pour un jeu en production.

circle-check

Optimiser les builds serveur

Ne reconstruisez que les ressources qui ont changé depuis le dernier build.

Envisagez d'utiliser les builds incrémentaux de Unityarrow-up-right pour accélérer le temps de build.

N'incluez que ce dont vous avez absolument besoin pour que votre serveur fonctionne.

Désactivez le batching statique des maillages pour réduire la taille de l'image.

Compressez les maillages pour réduire la taille de l'image.

Implémentez un chargement paresseux conditionnel des ressources.

Envisagez d'utiliser builds Docker multi-étapes (lien)arrow-up-right.

  • Séparez les grandes dépendances serveur dans une image distincte afin de les réutiliser dans les builds multi-étapes. Docker mettra en cache chaque couche et réutilisera simplement la version précédente, en ignorant le téléversement de cette partie sauf instruction explicite, ce qui vous fait économiser de la bande passante et du temps d'attente pendant la fin du téléversement.

  • Si vous ne savez pas pourquoi l'une de vos commandes Dockerfile renvoie une erreur, essayez de déboguer localement. Créez une nouvelle étape juste avant que le problème ne survienne (ajoutez une seconde FROM commande), utilisez --target pour indiquer au processus de build de s'arrêter à l'étape problématique, puis docker exec -it {container} /bin/bash pour entrer dans le terminal interactif à l'intérieur de votre conteneur. Ensuite, vous pouvez utiliser les commandes shell de votre image de base pour enquêter plus avant (par ex. top sur ubuntu).

Personnaliser l'image du serveur

Nous prenons également en charge l'ajout de votre propre Dockerfile pour les utilisateurs qui ont besoin de plus de contrôle sur leurs images en raison de l'optimisation de la taille du build, de dépendances superflues ou d'un processus de démarrage plus complexe. Vous pouvez éventuellement fournir un chemin vers votre Dockerfile personnalisé à l'étape Unity. Nous allons maintenant partager quelques conseils et bonnes pratiques « faites-le vous-même ».

Des problèmes lors de l'utilisation de WebSockets ou de requêtes HTTPS ?

  • Si vous obtenez Erreur Curl 35 : échec de la négociation du certificat. Erreur fatale. Code d'erreur UnityTls : 7 ne désespérez pas, il s'agit d'un problème connu avec les anciennes images de base (FROM) incluant un certificat racine expiré. Vous pouvez corriger cela en mettant à jour vers une version plus récente de l'image de base (par ex. ubuntu:22.04), puis en exécutant update-ca-certificates , ajoutez ceci à votre Dockerfile :

circle-info

Vous êtes bloqué ? Nous sommes disponibles dans notre Discord communautairearrow-up-right et heureux de vous aider.

Mis à jour

Ce contenu vous a-t-il été utile ?