Guide sur les Packages
Les Packages sont des composants de votre serveur qui vont exécuter des scripts Lua pour intéragir avec le jeu.
Chaque Package est isolé et possède sa propre Machine Virtuelle Lua (Lua VM), cela veut dire que chaque Package a sa propre portée globale et ne peut pas accéder directement aux données des autres Packages.
Folder Structure
Tous les Packages doivent aller dans le répertoire Server/Packages/
, chaque Package est un dossier dans ce répertoire.
Ils peuvent contenir les dossiers suivants : Server
, Client
et Shared
. Seul les dossiers Client and Shared seront envoyés et chargés par les clients quand ils se connecteront.
Chaque Package doit avoir un fichier nommé Index.lua
à l'intérieur des dossiers Server, Client ou Shared, il s'agit du seul fichier qui sera lu lorsque le Package sera chargé, par conséquent ce fichier se doit d'inclure les autres fichiers du Package et ainsi les démarrer.
NanosWorldServer.exe
Packages/
├── My_Package_01/
│ ├── Server/
│ │ ├── Index.lua
│ │ └── *.lua
│ ├── Client/
│ │ └── *.lua
│ ├── Shared/
│ │ └── *.lua
│ └── Package.toml
├── My_Package_02/
│ ├── Package.toml
│ └── ...
Assets/
Config.toml
Configuration des Packages
Les Packages ont un fichier de configuration nommé Package.toml
, dans la racine du dossier du Package. Dans ce fichier il est possible de configurer tous les paramètres importants liés au Package :
loading...
Settings Detailed
Setting | Description |
---|---|
name | Nom familier du Package |
author | Auteur(s) du Package |
version | Version du Package - se référer à SemVer |
image | Image URL to be displayed in the Vault |
type | Type de package - se référer à Package Types |
force_no_map_script | Activer cela forcera le script de la map (si présent) à ne PAS se charger |
auto_cleanup | Activer cela détruira toutes les entités créees par ce Package lors de sa désactivation |
packages_requirements | Liste des Packages qui doivent être chargés avant le chargement de celui-ci |
assets_requirements | Liste des packs d'assets à charger avant que ce package se charge |
Types de Package
Dans nanos world, nous avons 3 types de packages : script, game-mode et loading-screen, chacun a une fonctionnalité et une utilité spécifique.
Type | Description |
---|---|
script | Package classique qui va exécuter ses scripts et démarrer une nouvelle machine virtuelle Lua (Lua VM) quand il sera lancé. |
game-mode | Comme script mais vous pouvez charger seulement un package game-mode à la fois.Pratique lorsque vous souhaitez créer des jeux qui ne peuvent pas risquer d'être chargés avec d'autres package de ce type. |
loading-screen | Special Package which will be loaded during player's loading screen. Those packages must have an Index.html in the root.Please refer to Loading Screen for more information. |
tip
Si vous souhaitez créer une Librairie, ou des Utilitaires, faites un package script
!
Si vous créez un mode de jeu unique et complet avec des fonctionnalités que vous ne voulez pas voir gâchées si quelqu'un charge deux modes de jeu, faites un package game-mode
, un seul pourra être chargé à la fois !