MySQL: Online
Load: Medium
Sandbox: Running

Ajouter un fichier de configuration à votre plugin CounterStrikeSharp

Des valeurs codées en dur suffisent pour un test, mais un vrai plugin a besoin de réglages : messages, limites, accès à la base de données. CounterStrikeSharp peut créer et lire pour vous une configuration JSON à partir d’une simple classe C#.

1

Pourquoi une configuration

Avec une configuration, le propriétaire du serveur modifie un fichier texte et recharge, au lieu d’attendre que vous changiez le code et envoyiez une nouvelle version. Cela garde aussi les secrets, comme les mots de passe, hors du code source.

2

Décrivez les réglages dans une classe

Créez une classe qui hérite de BasePluginConfig. Chaque propriété est un réglage, et la valeur assignée est celle par défaut. JsonPropertyName fixe le nom utilisé dans le fichier.

using System.Text.Json.Serialization;
using CounterStrikeSharp.API.Core;

public class MyConfig : BasePluginConfig
{
    [JsonPropertyName("WelcomeMessage")]
    public string WelcomeMessage { get; set; } = "Welcome to the server!";

    [JsonPropertyName("MaxWarnings")]
    public int MaxWarnings { get; set; } = 3;
}
3

Reliez-la au plugin

Faites implémenter IPluginConfig à votre plugin avec votre classe de configuration. CounterStrikeSharp lit alors le fichier et appelle OnConfigParsed avant Load, en vous transmettant les valeurs chargées.

public class MyPlugin : BasePlugin, IPluginConfig<MyConfig>{
    public override string ModuleName => "Config Example";
    public override string ModuleVersion => "1.0.0";

    public MyConfig Config { get; set; } = new();
    public void OnConfigParsed(MyConfig config)    {        Config = config;    }}
4

Où le fichier est créé

Au premier chargement du plugin, le framework écrit le fichier avec vos valeurs par défaut dans configs/plugins, dans un dossier portant le nom du plugin. Les propriétaires de serveur modifient ce fichier.

counterstrikesharp
configs
plugins
ConfigExample
ConfigExample.json
5

À quoi ressemble le fichier

Le résultat est un fichier JSON simple, avec une entrée par propriété. Le propriétaire peut changer des valeurs et laisser le reste intact.

{
  "WelcomeMessage": "Welcome to the server!",
  "MaxWarnings": 3
}
6

Utilisez les valeurs

Lisez les réglages depuis la propriété Config n’importe où dans le plugin, une fois la configuration analysée, par exemple dans Load ou dans un gestionnaire d’événement.

Logger.LogInformation("Warnings allowed: {Max}", Config.MaxWarnings);
7

À ne pas oublier

Les modifications du fichier s’appliquent au prochain chargement du plugin, pas instantanément. Si vous renommez ou supprimez une propriété dans une nouvelle version, prévenez vos utilisateurs, car leur ancien fichier garde les anciens noms. Et comme la configuration est du texte lisible, n’y mettez rien que vous ne voudriez pas qu’un admin voie.

Ne changez jamais un nom de propriété d’une version à l’autre sans le signaler. Les propriétaires qui mettent à jour perdraient leurs réglages sans s’en apercevoir.

Ce tutoriel vous a-t-il été utile ?

1 utilisateur a trouvé ce tutoriel utile
Page générée en 0.010 secondes
CounterStrikeSharp Web Compiler V1.0 - Fait avec par RomaniaBarlap pour la communauté.