إضافتك الأولى في CounterStrikeSharp: Hello World
لست بحاجة إلى أن تكون مبرمجًا محترفًا لكتابة إضافة CounterStrikeSharp. الإضافة العاملة هي فئة C# صغيرة وملف مشروع. يأخذك هذا الدليل من الصفر حتى ترى Hello World في وحدة تحكم الخادم، وكل ما تتعلمه هنا ينطبق على الإضافات الأكبر.
ثبّت .NET 8 SDK
تُكتب إضافات CounterStrikeSharp بلغة C# على .NET 8. ثبّت .NET 8 SDK على حاسوبك، ثم افتح الطرفية وتحقق من أنه يعمل. يعرض الأمر الإصدار المثبّت الذي يجب أن يبدأ بالرقم 8.
dotnet --version
أنشئ المشروع
أنشئ مجلدًا فارغًا وافتح فيه طرفية وولّد مكتبة فئات. الاسم الذي تختاره هنا يصبح اسم ملف DLL للإضافة، لذا اختر اسمًا واضحًا دون مسافات.
dotnet new classlib --name HelloWorldPlugin
عدّل ملف المشروع
افتح ملف .csproj المُولَّد واستبدل محتواه بما يلي. الجزء المهم هو المرجع إلى CounterStrikeSharp.API الذي يمنحك الوصول إلى اللعبة. احذف الملف Class1.cs المُولَّد فلن تحتاجه.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.*" />
</ItemGroup>
</Project>
اكتب الإضافة
أنشئ HelloWorldPlugin.cs. كل إضافة هي فئة ترث من BasePlugin وتمنح نفسها اسمًا وإصدارًا. تُنفَّذ الدالة Load مرة واحدة عندما يحمّل الخادم الإضافة، ومن هناك تبدأ شيفرتك.
using CounterStrikeSharp.API.Core;
namespace HelloWorldPlugin;
public class HelloWorldPlugin : BasePlugin
{
public override string ModuleName => "Hello World Plugin";
public override string ModuleVersion => "1.0.0";
public override void Load(bool hotReload) { Console.WriteLine("Hello World!"); }}
ترجمها
يمكنك الترجمة محليًا بالأمر dotnet build -c Release أو تجاوز الإعداد: اضغط المجلد (ملف المشروع وملف .cs) في ملف zip وارفعه إلى مترجمنا. يستعيد الحزم ويبني الإضافة ويعطيك ملف zip جاهزًا للاستخدام.
انسخها إلى الخادم
من ملف zip انسخ مجلد الإضافة فقط إلى addons/counterstrikesharp/plugins على خادمك. يجب أن يحمل المجلد وملف DLL الاسم نفسه. مجلد dependencies في ملف zip لدينا يوفّره CounterStrikeSharp أصلًا، فاتركه.
تحقق من وحدة التحكم
أعد تشغيل الخادم أو حمّل الإضافة أثناء عمله. يجب أن ترى رسالتك في وحدة تحكم الخادم. إن لم تظهر فنفّذ css_plugins list لمعرفة هل عُثر على الإضافة، واقرأ دليلنا عن الإضافات التي لا تُحمَّل.
Hello World!
CounterStrikeSharp.API Loaded Successfully.
عدّلها وأعد تحميلها
عندما تعمل الإضافة، غيّر الرسالة وترجم من جديد واستبدل ملف DLL. يدعم CounterStrikeSharp إعادة التحميل الفوري (hot reload)، لذا يمكنك غالبًا تجربة إصدار جديد على خادم تطوير دون إعادة تشغيل. الخطوات التالية هي الأوامر وأحداث اللعبة التي تتناولها أدلتنا الأخرى.
هل كان هذا الدليل مفيدًا؟
Barlap من أجل المجتمع.