MySQL: Online
Load: Medium
Sandbox: Running

Cum adaugi un fișier de configurare pluginului tău CounterStrikeSharp

Valorile scrise direct în cod merg pentru un test, dar un plugin adevărat are nevoie de setări: mesaje, limite, date de conectare la baza de date. CounterStrikeSharp poate crea și citi pentru tine un fișier JSON de configurare, pornind de la o simplă clasă C#.

1

De ce o configurare

Cu un fișier de configurare, proprietarul serverului editează un fișier text și reîncarcă pluginul, în loc să aștepte să schimbi tu codul și să trimiți o versiune nouă. Totodată ține secretele, precum parolele, în afara codului sursă.

2

Descrie setările într-o clasă

Creează o clasă care moștenește BasePluginConfig. Fiecare proprietate este o setare, iar valoarea atribuită este cea implicită. JsonPropertyName fixează numele folosit în fișier.

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

Leag-o de plugin

Fă pluginul să implementeze IPluginConfig cu clasa ta de configurare. CounterStrikeSharp citește apoi fișierul și apelează OnConfigParsed înainte de Load, dându-ți valorile încărcate.

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

Unde se creează fișierul

Prima dată când se încarcă pluginul, framework-ul scrie fișierul cu valorile tale implicite în configs/plugins, într-un folder cu numele pluginului. Proprietarii de server editează acest fișier.

counterstrikesharp
configs
plugins
ConfigExample
ConfigExample.json
5

Cum arată fișierul

Rezultatul este un fișier JSON simplu, cu câte o intrare pentru fiecare proprietate. Proprietarul poate schimba valorile și le lasă pe celelalte neatinse.

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

Folosește valorile

Citește setările din proprietatea Config oriunde în plugin, după ce configurarea a fost procesată, de exemplu în Load sau într-un handler de eveniment.

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

Lucruri de reținut

Modificările din fișier se aplică când pluginul este încărcat din nou, nu instantaneu. Dacă redenumești sau ștergi o proprietate într-o versiune nouă, anunță utilizatorii, pentru că fișierul lor vechi are încă numele vechi. Iar configurarea fiind text lizibil, nu pune acolo nimic ce nu ai vrea să vadă un admin.

Nu schimba niciodată numele unei proprietăți între versiuni fără să anunți. Proprietarii care actualizează își vor pierde setările fără să observe.

A fost util acest tutorial?

1 utilizator a considerat acest ghid util
Pagină generată în 0.011 secunde
CounterStrikeSharp Web Compiler V1.0 - Realizat cu de RomaniaBarlap pentru comunitate.