Ir para o conteúdo principal
Version: latest - a1.19.x ⚖️

Guia de pacotes

Os pacotes são pedaços/componentes de seu servidor que executarão scripts Lua para interagir com o jogo.

Cada pacote está isolado e tem sua própria Máquina Virtual Lua, Isto significa que cada um tem o seu próprio âmbito global e que não pode aceder directamente a outros dados.

Estrutura da pasta

Todos os Pacotes devem estar sob a pasta Servidor/Pacotes/ , cada Pacote é uma pasta sob isso.

Eles podem conter as seguintes pastas: Servidor, Cliente e Compartilhados. Somente Clientes e Compartilhados pastas serão enviadas e carregadas pelos clientes quando se conectarem.

Cada pacote deve ter um arquivo chamado Index. ua dentro de Servidor, Cliente ou pastas compartilhadas Este é o único arquivo que será acionado quando o pacote for carregado, desta forma este arquivo é responsável por incluir outros arquivos e iniciar suas funcionalidades.

Server Folder
NanosWorldServer.exe
Packages/
├── My_Package_01/
│ ├── Server/
│ │ ├── Index.lua
│ │ └── *.lua
│ ├── Client/
│ │ └── *.lua
│ ├── Shared/
│ │ └── *.lua
│ └── Package.toml
├── My_Package_02/
│ ├── Package.toml
│ └── ...
Ativos/
Config.toml

Configuração do pacote

Os pacotes têm um arquivo de configuração na raiz da pasta de pacotes, chamado de pacote. oml, neste arquivo, podemos configurar todas as configurações pertinentes relacionadas ao Pacote:

Package.toml
loading...

Configurações Detalhadas

ConfiguraçãoDescription
NomeNome amigável do pacote
autorAuthor(s) of the Package
VersãoVersão do pacote - por favor, consulte o SemVer
ImagemURL da imagem a ser exibida no Cofre
TipoTipo de pacote - por favor consulte Tipos de pacote
forçar_nenhum_roteador_de_mapaEnabling this will force the map-script (if any) to do NOT load
limpeza_automáticaAtivando isto irá destruir todas as entidades criadas por este pacote quando ele descarrega
requisitos_pacotesLista de pacotes que precisam ser carregados primeiro
requisitos_ativosLista de Pacotes de Conteúdo a serem carregados quando este pacote carrega
compatible_mapsList of Maps compatible/recommended to work with this Package

Tipos de Pacotes

In nanos world we have 4 kind of packages: script, game-mode, library and loading-screen, each one with with a specific functionality and an unique purpose.

TypeDescription
scriptPacote normal, irá executar seus scripts e iniciar um novo Lua VM quando iniciado.
modo-jogoLike script but you can only load one game-mode package at once.
Useful when you are creating full games which cannot be loaded with other full games packages.
libraryIt will not load a Lua VM. Should be loaded through Package.RequirePackage from other Packages.
Useful when you are creating a library or framework and want it being loaded on clients as well, or when you need to set this as dependency of other packages.
carregando-telaSpecial 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

If you are creating a Tool or some Addon package, make it script!

If you are creating a Library, a Framework or some Utility package, make it library!

Se você estiver criando um jogo único e completo com várias funcionalidades que você não quer que sejam implicadas se alguém carregar dois jogos completos, torná-lo modo de jogo!

Ignoring Client Folders

Sometimes you want to ignore some folders from being sent to the clients (e.g. auto generated folders from Node.js HTML ones).

So, to make the server ignore it you just need to add an .ignore file in the root of that folder. Simple as that 😉.