Skip to main content
Version: latest - a1.7.0 ⚖️

Paketleitfaden

Pakete sind Teile/Komponenten deines Servers, die beispielsweise Lua-Skripte ausführen, um mit dem Spiel zu interagieren.

Jedes Paket ist isoliert und hat seine eigene Lua Virtual Machine. Dies bedeutet, dass jeder seinen eigenen globalen Anwendungsbereich hat und nicht direkt auf andere Daten zugreifen kann.

Ordnerstruktur

Alle Pakete müssen unter den Ordner Server/Packages/ liegen. Jedes Paket ist ein Ordner unter diesem Pfad.

Ein Paket muss dabei folgende Ordner enthalten: Server, Client und Shared. Nur Client und Shared Ordner werden an die Clients gesendet und geladen, sobald diese sich mit dem Server verbinden.

Jedes Package (Paket) muss eine Datei namens Index.lua besitzen. Dabei sollte die Datei in den Ordnern Server, Client oder Shared hinterlegt werden. Dies ist die einzige Datei, welche ausgelöst wird, sobald das Paket geladen wird. Auf dieser Weise ist diese Datei verantwortlich für die Aufnahme anderer Dateien und das Starten der Funktionalitäten.

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

Paketkonfiguration

Pakete haben eine Konfigurationsdatei im Stammverzeichnis des Paket-Ordners, genannt Package.toml. In dieser Datei können alle relevanten Einstellungen für das Paket hinterlegt werden:

Package.toml
loading...

Einstellungen detailliert

EinstellungBeschreibung
nameFreundlicher Name des Pakets
autorAutoren des Pakets
versionVersion des Pakets - siehe SemVer
bildURL des Bildes im Tresor anzeigen
typeTyp des Pakets - siehe Paketarten
force_no_map_scriptAktivieren zwingt das Map-Skript (falls vorhanden) NICHT zu laden
auto_cleanupAktivieren wird alle Entitäten dieses Pakets zerstören, wenn es entlädt
packages_requirementsListe der Pakete, die zuerst geladen werden müssen
assets_requirementsListe der zu ladenden Asset-Pakete beim Laden dieses Pakets

Paketarten

In nanos world haben wir 3 Arten von Paketen: script, game-mode und loading-screen, jeweils mit einer spezifischen Funktionalität und einem einzigartigen Zweck.

TypeBeschreibung
scriptNormales Paket, wird seine Skripte ausführen und beim Start eine neue Lua VM erzeugen.
game-modeWie script, jedoch kann lediglich ein einziges Paket mit dem Typ game-mode pro Server-Instanz geladen werden.
Gerade dann nützlich, wenn Sie vollständige Spiele erstellen, welche nicht riskieren können, mit anderen Spielepaketen geladen zu werden.
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

Wenn Sie eine Bibliothek, ein Werkzeug oder ein Utility/Dienstprogramm als Paket erstellen, machen Sie es script!

Wenn Sie ein einzigartiges und komplettes <0>Spiel</0> mit mehreren Funktionen erstellen, die nicht durcheinanderbringen gebracht werden sollen, falls jemand zwei volle Spiele lädt, dann machen Sie es <1>game-mode</1>!