MySQL: Online
Load: Medium
Sandbox: Ready

Konfigurációs fájl hozzáadása a CounterStrikeSharp-bővítményedhez

A kódba égetett értékek egy teszthez jók, de egy igazi bővítménynek beállításokra van szüksége: üzenetekre, korlátokra, adatbázis-hozzáférésre. A CounterStrikeSharp egy egyszerű C#-osztályból létre tud hozni és be tud olvasni egy JSON-konfigurációt.

1

Miért kell konfiguráció

Konfigurációval a szerver üzemeltetője egy szövegfájlt szerkeszt, és újratölt, ahelyett hogy arra várna, hogy te megváltoztasd a kódot, és új verziót küldj. Emellett a titkok, például a jelszavak, kimaradnak a forráskódból.

2

Írd le a beállításokat egy osztályban

Hozz létre egy osztályt, amely a BasePluginConfigból származik. Minden tulajdonság egy beállítás, a hozzárendelt érték pedig az alapértelmezés. A JsonPropertyName rögzíti a fájlban használt nevet.

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

Kösd a bővítményhez

Valósítsa meg a bővítmény az IPluginConfig-ot a konfigurációs osztályoddal. A CounterStrikeSharp ezután beolvassa a fájlt, és a Load előtt meghívja az OnConfigParsed-ot, átadva a betöltött értékeket.

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

Hol jön létre a fájl

A bővítmény első betöltésekor a keretrendszer az alapértelmezett értékeiddel megírja a fájlt a configs/plugins alatt, a bővítmény nevét viselő mappában. A szerver üzemeltetői ezt a fájlt szerkesztik.

counterstrikesharp
configs
plugins
ConfigExample
ConfigExample.json
5

Hogyan néz ki a fájl

Az eredmény egy egyszerű JSON-fájl, tulajdonságonként egy bejegyzéssel. Az üzemeltető megváltoztathatja az értékeket, a többit pedig érintetlenül hagyhatja.

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

Használd az értékeket

A beállításokat a Config tulajdonságból olvasd a bővítmény bármely pontján, a konfiguráció feldolgozása után, például a Load-ban vagy egy eseménykezelőben.

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

Amit érdemes észben tartani

A fájlban végzett módosítások a bővítmény újratöltésekor érvényesülnek, nem azonnal. Ha egy új verzióban átnevezel vagy eltávolítasz egy tulajdonságot, értesítsd a felhasználókat, mert a régi fájljukban még a régi nevek szerepelnek. És mivel a konfiguráció olvasható szöveg, ne tegyél bele semmit, amit nem szeretnél, hogy egy admin lásson.

Soha ne változtasd meg egy tulajdonság nevét verziók között jelzés nélkül. A frissítő üzemeltetők észrevétlenül elveszítik a beállításaikat.

Hasznos volt ez az útmutató?

1 felhasználó találta hasznosnak ezt az útmutatót
Az oldal 0.015 másodperc alatt generálódott
CounterStrikeSharp Web Compiler V1.0 - Készült által RomaniaBarlap a közösségért.