Démarrage rapide
Démarrez votre serveur et votre premier Paquet en moins de 10 minutes!
Étape 1 : Télécharger le serveur
Vous avez trois options pour télécharger le serveur nanos world :
- Utilisez l'executable (.exe) déjà situé à
nanos-world/Server/NanosWorldServer.exe
(si vous avez téléchargé le jeu de base). - Téléchargez l'outil nanos world Dedicated Server depuis le client Steam.
- Or use SteamCMD to download nanos world Dedicated Server.
tip
Le serveur est aussi simple qu'un seul fichier exécutable NanosWorldServer.exe
. Après l'avoir téléchargé, exécutez-le une fois pour générer les dossiers appropriés et initiaux Assets
, Packages
et le fichier Config.toml
, gardez votre serveur ouvert pour suivre ce guide !
Étape 2 : Créer un package basique
- Créez un dossier dans
Packages/
pour être votre Package, nommons-lemon-package/
. - À l'intérieur de
mon-package/
créez un dossier appeléServeur/
et un fichier appeléIndex.lua
dansServeur/
. - Dans la console de votre serveur, tapez
package load mon-package
pour charger votre nouveau package et générer le fichier de configurationPackage.toml
. Vous pouvez éditer ce fichier avec une personnalisation appropriée plus tard.
Étape 3 : Ajout de fonctionnalités de script
Ouvrez le fichier Index.lua
dans votre éditeur (nous vous recommandons d'utiliser vscode), et éditons notre premier script :
-- Affichons un message dans la console
Package.Log("Chargement de quelques Props =D")
-- Faisons apparaître quelques Props
prop_table = Prop(Vector(200, 0, 0), Rotator(0, 0, 0), "nanos-world::SM_WoodenTable")
prop_chair = Prop(Vector(400, 200, 0), Rotator(0, 0, 0), "nanos-world::SM_WoodenChair")
prop_tire = Prop(Vector(600, 0, 0), Rotator(0, 0, 0), "nanos-world::SM_TireLarge")
Pour appliquer vos modifications, exécutez la commande dans la console du serveur : package reload all
.
Étape 4 : Rejoignez votre serveur
tip
Si vous rejoignez votre serveur, vous pouvez déjà voir le résultat 😁
Étape facultative : Apparition d'un personnage pour le joueur
Vous avez peut-être remarqué que vous n’êtes qu’une âme errante qui vole, donnez vous de la chair ! Pour cela, nous devrons interagir avec certains Events.
Ajoutons du code dans votre Index.lua
:
-- Appelé quand les joueurs rejoignent le serveur (exemple: Spawn)
Player.Subscribe("Spawn", function(new_player)
-- Fait apparaître un personnage à la position 0, 0, 0 avec les paramètres du constructeur par défaut
local new_character = Character(Vector(0, 0, 0))
-- Posséder le nouveau personnage
new_player:Possess(new_character)
end)
Pour appliquer vos modifications, exécutez la commande dans la console du serveur : package reload all
.
tip
Maintenant si vous rejoignez le serveur, vous allez apparaître dans un personnage !
Finalisation : Détruire le personnage lorsqu'un joueur quitte le serveur
Notez que les personnages ne sont pas automatiquement détruits si le joueur se déconnecte. Pour cela, nous devrons nous abonner lorsque le Joueur quittera le serveur (Destroy
) et détruire manuellement le Personnage :
-- Appelé quand les joueurs rejoignent le serveur (exemple: Spawn)
Player.Subscribe("Spawn", function(new_player)
-- Fait apparaître un personnage à la position 0, 0, 0 avec les paramètres du constructeur par défaut
local new_character = Character(Vector(0, 0, 0))
-- Posséder le nouveau personnage
new_player:Possess(new_character)
end)
-- Quand le joueur quitte le serveur, détruire son personnage
Player.Subscribe("Destroy", function(player)
local character = player:GetControlledCharacter()
if (character) then
character:Destroy()
end
end)
Pour appliquer vos modifications, exécutez la commande dans la console du serveur : package reload all
.
Conclusion
Félicitations ! Vous avez terminé votre premier script basique et appris:
- Comment installer votre serveur
- Comment configurer un package simple
- Interaction basique avec les événements d'entité
- Faire apparaître des Props
- Apparition & Destruction des personnages