Dans ce guide, nous allons voir comment créer et configurer un serveur Onset. Tous les sujets sont abordés, de la config au modding (plugins/packages)!
Onset est une sandbox entièrement personnalisable. Le jeu a été conçu dès le départ pour le modding, vous pouvez utiliser des scripts (packages) provenant de la communauté ou créer votre propre contenu. Un dès grand avantage de Onset est sa simplicité, le modding repose sur des langages de programmation qui ont fait leurs preuves, à savoir le langage LUA
et le combo HTML
/CSS
/JS
pour les interfaces graphiques.
Vous l'avez compris, pour personnaliser votre serveur une fois celui-ci créé, il faudra se plonger dans la notion de package (vous pouvez voir cela comme un addon). Sachez qu'il existe également une notion de plugin dont le rôle diffère du "plugin traditionnel" que vous avez peut-être rencontré sur Minecraft par exemple. Dans Onset, les plugins (développés en C++
) permettent seulement d'ajouter des fonctions, qui seront utilisables par la suite dans vos scripts LUA.
Pour créer votre serveur, rendez-vous sur la page de nos services de location de serveur Onset.
Un peu de théorie
Avant d'aller plus loin dans la création de son serveur Onset, il est important de bien comprendre la notion de package et plugin.
Les plugins
Les plugins sont des librairies développés en C++
. Elles permettent d'étendre le fonctionnement des scripts LUA de nos packages, en ajoutant des fonctions qui seront accessibles dans vos packages, dans vos scripts LUA
.
Un exemple de plugin est le plugin mongodb
inclu dès l'installation de notre serveur. Il rajoute des fonctions permettant de communiquer avec la base de donnée mongodb dans nos scripts LUA.
Les plugins sont au format .dll
sur Windows, et .so
pour Linux.
Pour créer votre propre plugin, consultez notre tutoriel dédié.
Les packages
Les packages permettent d'ajouter des fonctionnalités à votre serveur. Par exemple, si vous souhaitez ajouter un nouveau gamemode, vous devrez ajouter le package de celui-ci sur votre serveur.
Ils contiennent principalement du code LUA
qui peut être exécute coté client ou coté serveur et des assets (HTML
/ JS
/ CSS
) pour la création des interfaces in-game.
Pour créer votre premier package, consultez notre tutoriel!
Configuration du serveur
Configuration générale
Ca y est, votre serveur a été livré ? Nous allons pouvoir passer à la configuration générale du serveur.
Elle contient des paramètres comme le nom du serveur, le mot de passe de connexion, le nombre de joueurs, etc.
Pour éditer la configuration, vous pouvez utiliser votre panel de gestion ou éditer le fichier server_config.json
à la racine de votre serveur.
A noter que ce fichier contient la liste des packages et plugins qui seront chargés au démarrage du serveur.
Si vous avez besoin d'aide concernant les paramètres du fichier, consultez le tutoriel: configurer son server_config.json.
Le contenu du fichier doit être au format JSON.
Les armes
La configuration des armes qui seront accessibles sur votre serveur se fait par le fichier weapons.json
. situé à la racine du serveur.
Ce fichier contient la liste des armes du serveur et leurs caractéristiques.
Vous pouvez ainsi facilement modifier le recule d'une arme par exemple ;)
Pour en savoir plus sur ce fichier, consultez le tutoriel: configuration des armes Onset.
Les packages
Chaque package doit avoir son propre dossier dans le répertoire packages
du serveur. Son nom sera défini par le nom du dossier qui le contient.
Pour activer un package, ajoutez le dans la section packages
du fichier server_config.json
puis redémarrez votre serveur Onset.
A chaque fois que vous allez ajouter un package sur votre serveur, celui peut nécessiter une configuration. Il n'y a pas vraiment de norme établie, leur créateur étant libre d'implémenter ce qu'il veut. Consultez toujours la documentation officielle du package que vous installez ;)
Les plugins
Les plugins sont situés dans le répertoire plugins
de votre serveur.
Pour activer un plugin, ajoutez le dans la section plugins
du fichier server_config.json
et redémarrez le serveur.
Quelques packages
Il n'existe pour l'instant aucun site qui liste les packages de la communauté. En attendant, nous mettrons à jour la liste ci-dessous, n'hésitez pas à nous envoyer vos créations!
whitelist
Package pour ajouter une whitelist pour filtrer les joueurs qui peuvent se connecter à son serveur.
https://github.com/sdieunidou/whitelisti18n
Permet de traduire facilement les messages de son package dans la langue du joueur.
https://github.com/sdieunidou/onset-i18ngodfather
Gamemode Godfather (parrain)
https://mtxserv.com/onset-server/doc/onset-create-a-godfather-server
Limitations
Limitations serveur
Joueurs | 300 |
Véhicules | 4096 |
Objets | 100 000 |
NPCs | 4096 |
Pickups | 4096 |
Textes 3D | 4096 |
Portes | 4096 |
Timers | 2 147 483 647 |
Dimensions | 4 294 967 295 |
Limitations client
Sons | 8 |
Web UIs | 32 |
Timers | 256 |
Collision Triggers | 128 |
Textes GUI | 128 |