MySQL: Online
Load: Medium
Sandbox: Ready

إضافتك الأولى في CounterStrikeSharp: Hello World

لست بحاجة إلى أن تكون مبرمجًا محترفًا لكتابة إضافة CounterStrikeSharp. الإضافة العاملة هي فئة C# صغيرة وملف مشروع. يأخذك هذا الدليل من الصفر حتى ترى Hello World في وحدة تحكم الخادم، وكل ما تتعلمه هنا ينطبق على الإضافات الأكبر.

1

ثبّت .NET 8 SDK

تُكتب إضافات CounterStrikeSharp بلغة C# على .NET 8. ثبّت .NET 8 SDK على حاسوبك، ثم افتح الطرفية وتحقق من أنه يعمل. يعرض الأمر الإصدار المثبّت الذي يجب أن يبدأ بالرقم 8.

dotnet --version
2

أنشئ المشروع

أنشئ مجلدًا فارغًا وافتح فيه طرفية وولّد مكتبة فئات. الاسم الذي تختاره هنا يصبح اسم ملف DLL للإضافة، لذا اختر اسمًا واضحًا دون مسافات.

dotnet new classlib --name HelloWorldPlugin
3

عدّل ملف المشروع

افتح ملف .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>
4

اكتب الإضافة

أنشئ 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!");    }}
5

ترجمها

يمكنك الترجمة محليًا بالأمر dotnet build -c Release أو تجاوز الإعداد: اضغط المجلد (ملف المشروع وملف .cs) في ملف zip وارفعه إلى مترجمنا. يستعيد الحزم ويبني الإضافة ويعطيك ملف zip جاهزًا للاستخدام.

HelloWorldPlugin.zip
HelloWorldPlugin.csproj
HelloWorldPlugin.cs
افتح المترجم
6

انسخها إلى الخادم

من ملف zip انسخ مجلد الإضافة فقط إلى addons/counterstrikesharp/plugins على خادمك. يجب أن يحمل المجلد وملف DLL الاسم نفسه. مجلد dependencies في ملف zip لدينا يوفّره CounterStrikeSharp أصلًا، فاتركه.

plugins
HelloWorldPlugin
HelloWorldPlugin.dll
HelloWorldPlugin.deps.json
HelloWorldPlugin.pdb
7

تحقق من وحدة التحكم

أعد تشغيل الخادم أو حمّل الإضافة أثناء عمله. يجب أن ترى رسالتك في وحدة تحكم الخادم. إن لم تظهر فنفّذ css_plugins list لمعرفة هل عُثر على الإضافة، واقرأ دليلنا عن الإضافات التي لا تُحمَّل.

Hello World!
CounterStrikeSharp.API Loaded Successfully.
8

عدّلها وأعد تحميلها

عندما تعمل الإضافة، غيّر الرسالة وترجم من جديد واستبدل ملف DLL. يدعم CounterStrikeSharp إعادة التحميل الفوري (hot reload)، لذا يمكنك غالبًا تجربة إصدار جديد على خادم تطوير دون إعادة تشغيل. الخطوات التالية هي الأوامر وأحداث اللعبة التي تتناولها أدلتنا الأخرى.

هل كان هذا الدليل مفيدًا؟

تم إنشاء الصفحة في 0.015 ثانية
CounterStrikeSharp Web Compiler V1.0 - صُنع بواسطة بواسطة RomaniaBarlap من أجل المجتمع.