MySQL: Online
Load: Medium
Sandbox: Ready

CounterStrikeSharp eklentinize yapılandırma dosyası ekleme

Koda gömülü değerler bir deneme için yeterlidir ama gerçek bir eklenti ayara ihtiyaç duyar: mesajlar, sınırlar, veritabanı bilgileri. CounterStrikeSharp, düz bir C# sınıfından sizin için JSON yapılandırması oluşturup okuyabilir.

1

Neden yapılandırma

Yapılandırmayla sunucu sahibi bir metin dosyasını düzenleyip yeniden yükler; sizin kodu değiştirip yeni sürüm göndermenizi beklemez. Ayrıca parola gibi sırlar kaynak kodun dışında kalır.

2

Ayarları bir sınıfta tanımlayın

BasePluginConfig’ten türeyen bir sınıf oluşturun. Her özellik bir ayardır ve atadığınız değer varsayılandır. JsonPropertyName dosyada kullanılacak adı sabitler.

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

Eklentiye bağlayın

Eklentinin, yapılandırma sınıfınızla IPluginConfig uygulamasını sağlayın. CounterStrikeSharp bu durumda dosyayı okur ve Load’dan önce OnConfigParsed’ı çağırarak yüklenen değerleri size verir.

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

Dosya nerede oluşur

Eklenti ilk kez yüklendiğinde framework, varsayılan değerlerinizle dosyayı configs/plugins içinde, eklentinin adını taşıyan bir klasöre yazar. Sunucu sahipleri bu dosyayı düzenler.

counterstrikesharp
configs
plugins
ConfigExample
ConfigExample.json
5

Dosya nasıl görünür

Sonuç, her özellik için bir kayıt içeren basit bir JSON dosyasıdır. Sahip değerleri değiştirebilir, gerisini olduğu gibi bırakabilir.

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

Değerleri kullanın

Yapılandırma ayrıştırıldıktan sonra eklentinin herhangi bir yerinde, örneğin Load içinde ya da bir olay işleyicisinde, ayarları Config özelliğinden okuyun.

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

Akılda tutulacaklar

Dosyadaki değişiklikler anında değil, eklenti yeniden yüklendiğinde uygulanır. Yeni bir sürümde bir özelliği yeniden adlandırır ya da kaldırırsanız kullanıcılarınızı uyarın; çünkü eski dosyalarında hâlâ eski adlar vardır. Yapılandırma okunabilir metin olduğundan, bir adminin görmesini istemeyeceğiniz hiçbir şeyi oraya koymayın.

Sürümler arasında özellik adını duyurmadan asla değiştirmeyin. Güncelleyen sahipler ayarlarını fark etmeden kaybeder.

Bu rehber işinize yaradı mı?

1 kullanıcı bu rehberi faydalı buldu
Sayfa 0.019 saniyede oluşturuldu
CounterStrikeSharp Web Compiler V1.0 - Şununla yapıldı tarafından RomaniaBarlap topluluk için.