NodeWorld

Assistant de configuration

La première fois que le serveur démarre, il lance son assistant de configuration dans la console. Il demande l’ID et le jeton de ton serveur, trouve son adresse publique, ouvre le port sur ta box, teste le port depuis internet et propose d’installer le serveur en service. Il écrit ensuite Config/server-config.yaml et démarre le serveur.

L’assistant se lance aussi quand ServerId, ServerToken ou PublicAddress est vide dans le fichier.

Les étapes

  1. ID et jeton. Copie-les depuis Mes serveurs sur app.nodeworldvr.com (enregistrer le serveur) et colle-les. Le jeton ne s’affiche pas pendant que tu le colles. Le serveur vérifie les deux auprès de NodeWorld ; si NodeWorld les refuse, il les redemande.
  2. Adresse publique. NodeWorld dit au serveur depuis quelle adresse il le voit arriver, et l’assistant la propose : appuie sur Entrée pour la garder, ou tape un nom de domaine qui pointe vers ta machine (mieux si ton adresse IP change).
  3. Port sur la box. L’assistant demande à ta box de rediriger le port (25252, en UDP et en TCP) vers cette machine, par UPnP. Si la box refuse ou a l’UPnP désactivé, redirige le port toi-même (ports et pare-feu). Une machine qui a elle-même l’adresse publique, comme un serveur loué, n’a pas de box : l’étape est sautée.
  4. Test du port. NodeWorld essaie de joindre le port depuis internet, en UDP et en TCP, et l’assistant affiche le résultat. Si le port n’est pas joignable, il liste ce qu’il faut vérifier.
  5. Service. L’assistant propose d’installer le serveur en service : il démarre alors avec l’ordinateur, redémarre après chaque mise à jour, et continue de tourner quand tu fermes la console (lancer en service).

À la fin, l’assistant écrit les valeurs dans server-config.yaml et démarre le serveur, ou le laisse au service.

Une question qui finit par [Y/n] attend y (oui) ou n (non) ; Entrée donne la lettre en majuscule. Ctrl+C quitte sans rien écrire.

Le relancer

Pour changer l’ID, le jeton, l’adresse ou le port, arrête le serveur, puis :

bash
./NodeWorld.Server --setup

Sur Windows : .\NodeWorld.Server.exe --setup. Les valeurs actuelles s’affichent entre crochets : Entrée les garde.

Sauter ou forcer une étape

Chaque étape a un réglage dans la partie Setup de server-config.yaml, et une option de lancement du même nom. L’option l’emporte sur le fichier.

ÉtapeDans le fichierOption de lancement
Vérifier l’ID et le jetonVerifyCredentials--verify-credentials
Trouver l’adresse publiqueDetectAddress--detect-address
Ouvrir le port sur la box (UPnP)OpenPort--open-port
Tester le port depuis internetTestPort--test-port
Installer en serviceInstallService--install-service

Chacune prend une de ces trois valeurs :

  • Ask (option ask) : demandé dans la console. Sans console, l’étape est faite, sauf le service, jamais installé sans que tu le dises ; et un ID ou un jeton refusé par NodeWorld arrête la configuration.
  • Yes (option yes) : fait sans demander, et la configuration continue quel que soit le résultat : ID et jeton gardés même si NodeWorld les refuse, box redemandée à chaque démarrage même si elle a refusé.
  • No (option no) : sauté.
yaml
Setup:
  VerifyCredentials: Ask
  DetectAddress: Ask
  OpenPort: Ask
  TestPort: Ask
  InstallService: Ask

Sans console

Un script, un terminal à distance ou le démarrage d’une machine dans le cloud donne tout en options :

bash
./NodeWorld.Server --non-interactive \
  --server-id 0b5e9f3a-1c2d-4e5f-8a9b-0c1d2e3f4a5b \
  --server-token "colle le jeton ici" \
  --install-service yes
OptionCe qu’elle fait
--setupLance l’assistant même quand le fichier est complet.
--non-interactiveNe demande rien. Le serveur ne demande rien non plus quand son entrée n’est pas une console.
--server-id <id>Remplit ServerId.
--server-token <jeton>Remplit ServerToken. Les autres utilisateurs de la machine peuvent voir les options d’un programme lancé : sur une machine partagée, colle plutôt le jeton dans la console ou dans le fichier.
--public-address <adresse>Remplit PublicAddress, sans détection.
--port <port>Remplit GamePort, et PublicPort aussi sauf si --public-port est donné.
--public-port <port>Remplit PublicPort : le port extérieur que ta box redirige vers GamePort.

Sans console, un ID ou un jeton manquant, ou refusé par NodeWorld, arrête le serveur avec SETUP REQUIRED et le code de sortie 2.