إضافة ملف إعدادات إلى إضافة CounterStrikeSharp الخاصة بك
القيم المكتوبة في الشيفرة مقبولة للتجربة، لكن الإضافة الحقيقية تحتاج إلى إعدادات: رسائل وحدود وبيانات قاعدة البيانات. يستطيع CounterStrikeSharp إنشاء ملف إعدادات JSON وقراءته نيابةً عنك انطلاقًا من فئة C# بسيطة.
لماذا نستخدم ملف إعدادات
مع ملف الإعدادات يعدّل مالك الخادم ملفًا نصيًا ويعيد التحميل بدل أن ينتظر منك تغيير الشيفرة وإرسال إصدار جديد. كما يُبقي الأسرار، مثل كلمات المرور، خارج الشيفرة المصدرية.
صِف الإعدادات في فئة
أنشئ فئة ترث من BasePluginConfig. كل خاصية هي إعداد، والقيمة التي تسندها هي القيمة الافتراضية. تحدد JsonPropertyName الاسم المستخدم في الملف.
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;
}
اربطها بالإضافة
اجعل الإضافة تنفّذ IPluginConfig مع فئة الإعدادات الخاصة بك. يقرأ CounterStrikeSharp حينها الملف ويستدعي OnConfigParsed قبل Load ويسلّمك القيم المحمّلة.
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; }}
أين يُنشأ الملف
عند أول تحميل للإضافة يكتب الإطار الملف بقيمك الافتراضية في configs/plugins داخل مجلد يحمل اسم الإضافة. يعدّل مالكو الخوادم هذا الملف.
كيف يبدو الملف
الناتج ملف JSON بسيط فيه إدخال واحد لكل خاصية. يمكن للمالك تغيير القيم وترك الباقي كما هو.
{
"WelcomeMessage": "Welcome to the server!",
"MaxWarnings": 3
}
استخدم القيم
اقرأ الإعدادات من الخاصية Config في أي مكان من الإضافة بعد تحليل الإعدادات، مثلًا في Load أو في معالج حدث.
Logger.LogInformation("Warnings allowed: {Max}", Config.MaxWarnings);
أمور يجب تذكّرها
تُطبَّق التعديلات على الملف عند إعادة تحميل الإضافة وليس فورًا. وإذا أعدت تسمية خاصية أو أزلتها في إصدار جديد فأبلغ المستخدمين، لأن ملفهم القديم ما زال يحمل الأسماء القديمة. ولأن الإعدادات نص مقروء، فلا تضع فيها ما لا تريد أن يراه مشرف.
هل كان هذا الدليل مفيدًا؟
Barlap من أجل المجتمع.