Passer au contenu principal
Version: latest - a1.7.0 ⚖️

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.

Server Folder
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 :

Package.toml
loading...

Settings Detailed

SettingDescription
nameNom familier du Package
authorAuteur(s) du Package
versionVersion du Package - se référer à SemVer
imageImage URL to be displayed in the Vault
typeType de package - se référer à Package Types
force_no_map_scriptActiver cela forcera le script de la map (si présent) à ne PAS se charger
auto_cleanupActiver cela détruira toutes les entités créees par ce Package lors de sa désactivation
packages_requirementsListe des Packages qui doivent être chargés avant le chargement de celui-ci
assets_requirementsListe 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.

TypeDescription
scriptPackage classique qui va exécuter ses scripts et démarrer une nouvelle machine virtuelle Lua (Lua VM) quand il sera lancé.
game-modeComme 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-screenSpecial 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 !