NodeWorld

Configuration du serveur

Le serveur lit Config/server-config.yaml, à côté du programme (ou le fichier donné avec --config). Il le crée à son premier lancement, avec chaque réglage à sa valeur par défaut (celle que le serveur prend aussi quand une ligne manque), et son assistant de configuration y remplit l’ID, le jeton, l’adresse et les ports. Le fichier est en YAML : un Réglage: valeur par ligne, les mondes en liste. Modifie-le serveur arrêté, puis relance-le.

yaml
CentralApiBaseUrl: https://api.nodeworldvr.com
ServerId: "0b5e9f3a-1c2d-4e5f-8a9b-0c1d2e3f4a5b"
ServerToken: "colle le jeton ici"

# Game (UDP) and world files (TCP) share this port.
GamePort: 25252
PublicAddress: "jeu.example.com"
PublicPort: 25252
MaxPlayers: 100
WorldsDataPath: Worlds

Upnp: true
AutoUpdate: true

DefaultRoomGraceSeconds: 120
TickRate: 40
FluxScriptsPath: Scripts
FluxWatchdogSeconds: 10

Setup:
  VerifyCredentials: Ask
  DetectAddress: Ask
  OpenPort: Ask
  TestPort: Ask
  InstallService: Ask

Worlds:
  - WorldId: Tavern
    Capacity: 20
    GraceSeconds: 120
    HomeWorld: false
    MaxInstances: 0

Le serveur

RéglageCe que c’est
ServerIdL’ID serveur du site (enregistrer le serveur). Obligatoire.
ServerTokenLe Jeton serveur du site. Obligatoire. Garde-le secret : qui l’a peut se faire passer pour ton serveur.
PublicAddressL’adresse à laquelle le jeu des joueurs se connecte : ton adresse IP publique ou un nom de domaine qui pointe dessus. Obligatoire.
GamePortLe port sur lequel le serveur écoute, en UDP pour le jeu et en TCP pour les fichiers des mondes. 25252 par défaut.
PublicPortLe port auquel les joueurs se connectent, quand ta box redirige un autre port extérieur vers GamePort. Sinon, le même que GamePort. 25252 par défaut.
MaxPlayersJoueurs sur tout le serveur en même temps, de 1 à 65535. 100 par défaut.
CentralApiBaseUrlLes services centraux de NodeWorld. Laisse https://api.nodeworldvr.com.

Box et mises à jour

RéglageCe que c’est
Upnptrue : à chaque démarrage, puis toutes les 30 minutes tant qu’il tourne, le serveur demande à ta box de rediriger PublicPort vers GamePort, en UDP et en TCP, par UPnP (ports et pare-feu). L’assistant de configuration le règle. false par défaut.
AutoUpdatetrue : le serveur installe tout seul les nouvelles versions, quand personne n’est dessus (mises à jour). false : il dit seulement dans son journal qu’une nouvelle version est sortie. true par défaut.
SetupComment l’assistant de configuration fait chacune de ses étapes : Ask, Yes ou No (sauter ou forcer une étape). Ask pour chaque étape par défaut.

Les instances

RéglageCe que c’est
DefaultRoomGraceSecondsCombien de temps une instance vide reste ouverte avant de se fermer, en secondes, pour les mondes qui ne règlent pas GraceSeconds. 0 la ferme dès que le dernier joueur part. 120 par défaut.
TickRateTours de logique par seconde (minuteurs des instances, expiration des portails, scripts FL# des mondes), de 1 à 240. Les messages réseau sont traités dès qu’ils arrivent, quelle que soit cette valeur. 40 par défaut.
FluxWatchdogSecondsCombien de temps les scripts FL# d’un monde peuvent tourner dans un appel, en secondes (le travail du serveur lui-même pendant l’appel ne compte pas), avant que le serveur arrête les scripts de ce monde : un script coincé dans une boucle ne bloque pas l’instance, qui continue sans eux. Pendant le démarrage des scripts, à l’ouverture de l’instance, la limite est de 60 s. 0 coupe ce chien de garde. 10 par défaut.

Les mondes

RéglageCe que c’est
WorldsDataPathLe dossier des mondes, par rapport à ce fichier. Worlds par défaut, c’est-à-dire Config/Worlds.
WorldsLes mondes que le serveur fait tourner, au moins un. Voir mondes.

Chaque monde de la liste :

RéglageCe que c’est
WorldIdL’ID du monde : le nom de son dossier dans WorldsDataPath. Chaque ID une seule fois.
CapacityJoueurs dans une instance de ce monde. Une instance accueille 50 joueurs au plus. 20 par défaut.
GraceSecondsCombien de temps une instance vide de ce monde reste ouverte, en secondes. Sans la ligne : DefaultRoomGraceSeconds.
HomeWorldtrue : ce monde peut être le monde d’accueil des joueurs sur ton serveur (avec Autoriser l’hébergement d’accueil sur le site). false par défaut.
MaxInstancesCombien d’instances de ce monde peuvent tourner en même temps ; 0 pour aucune limite. 0 par défaut.

Les scripts de l’hébergeur

RéglageCe que c’est
FluxScriptsPathLe dossier de tes propres scripts FL#, des règles pour tout ton serveur, par rapport à ce fichier. Scripts par défaut. Les scripts de l’hébergeur ne tournent pas encore : laisse-le tel quel.

Quand le fichier est faux

Quand ServerId, ServerToken ou PublicAddress est vide, le serveur lance son assistant de configuration. Pour le reste, il s’arrête avec SETUP REQUIRED et dit ce qui ne va pas, par exemple ServerId is required., PublicAddress is required., At least one world must be configured. ou Duplicate world id 'Tavern' in server config. Corrige cette ligne et relance-le.