MySQL: Online
Load: Low
Sandbox: Ready

Dodavanje konfiguracionog fajla u vaš CounterStrikeSharp plagin

Vrednosti upisane u kod dobre su za probu, ali pravi plagin treba podešavanja: poruke, ograničenja, podatke za bazu. CounterStrikeSharp može umesto vas da napravi i pročita JSON konfiguraciju iz obične C# klase.

1

Zašto konfiguracija

Uz konfiguraciju, vlasnik servera uređuje tekstualni fajl i ponovo učitava, umesto da čeka da vi promenite kod i pošaljete novu verziju. Pored toga, tajne poput lozinki ostaju van izvornog koda.

2

Opišite podešavanja u klasi

Napravite klasu koja nasleđuje BasePluginConfig. Svako svojstvo je jedno podešavanje, a dodeljena vrednost je podrazumevana. JsonPropertyName fiksira ime koje se koristi u fajlu.

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

Povežite je sa plaginom

Neka plagin implementira IPluginConfig sa vašom konfiguracionom klasom. CounterStrikeSharp tada čita fajl i poziva OnConfigParsed pre Load, predajući vam učitane vrednosti.

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

Gde se fajl pravi

Prvi put kad se plagin učita, framework upisuje fajl sa vašim podrazumevanim vrednostima u configs/plugins, u folder sa imenom plagina. Vlasnici servera uređuju taj fajl.

counterstrikesharp
configs
plugins
ConfigExample
ConfigExample.json
5

Kako fajl izgleda

Rezultat je jednostavan JSON fajl sa po jednim unosom za svako svojstvo. Vlasnik može da menja vrednosti, a ostalo ostavi netaknutim.

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

Koristite vrednosti

Čitajte podešavanja iz svojstva Config bilo gde u plaginu, nakon što je konfiguracija obrađena, na primer u Load ili u rukovaocu događaja.

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

Stvari koje treba zapamtiti

Izmene u fajlu primenjuju se kad se plagin ponovo učita, a ne odmah. Ako u novoj verziji preimenujete ili uklonite svojstvo, obavestite korisnike, jer njihov stari fajl još ima stara imena. A pošto je konfiguracija čitljiv tekst, ne stavljajte u nju ništa što ne biste želeli da vidi admin.

Nikada ne menjajte ime svojstva između verzija bez najave. Vlasnici koji ažuriraju izgubiće podešavanja a da to ne primete.

Da li vam je ovaj vodič bio koristan?

1 korisnik je smatrao ovaj vodič korisnim
Stranica generisana za 0.018 sekundi
CounterStrikeSharp Web Compiler V1.0 - Napravljeno sa od RomaniaBarlap za zajednicu.