İlk CounterStrikeSharp eklentiniz: Hello World
CounterStrikeSharp eklentisi yazmak için deneyimli bir programcı olmanız gerekmez. Çalışan bir eklenti, küçük bir C# sınıfı ve bir proje dosyasından oluşur. Bu rehber sizi sıfırdan sunucu konsolunda Hello World görmeye götürür ve burada öğrendiğiniz her şey daha büyük eklentiler için de geçerlidir.
.NET 8 SDK’yı kurun
CounterStrikeSharp eklentileri .NET 8 üzerinde C# ile yazılır. Bilgisayarınıza .NET 8 SDK’yı kurun, ardından bir terminal açıp çalıştığını doğrulayın. Komut kurulu sürümü yazar; bu sürüm 8 ile başlamalıdır.
dotnet --version
Projeyi oluşturun
Boş bir klasör oluşturun, içinde bir terminal açın ve bir sınıf kitaplığı üretin. Burada seçtiğiniz ad eklenti DLL’inizin adı olur; bu yüzden boşluksuz ve anlaşılır bir ad seçin.
dotnet new classlib --name HelloWorldPlugin
Proje dosyasını düzenleyin
Oluşturulan .csproj dosyasını açın ve içeriğini aşağıdakiyle değiştirin. Önemli olan, oyuna erişim sağlayan CounterStrikeSharp.API başvurusudur. Oluşturulan Class1.cs dosyasını silin, ihtiyacınız olmayacak.
<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>
Eklentiyi yazın
HelloWorldPlugin.cs dosyasını oluşturun. Her eklenti BasePlugin’den türeyen ve kendine bir ad ile sürüm veren bir sınıftır. Load metodu, sunucu eklentiyi yüklediğinde bir kez çalışır ve kendi kodunuz oradan başlar.
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!"); }}
Derleyin
dotnet build -c Release ile yerelde derleyebilir ya da kurulumla uğraşmadan klasörü (proje dosyası ve .cs dosyası) zipleyip derleyicimize yükleyebilirsiniz. Paketleri geri yükler, eklentiyi derler ve kullanıma hazır bir zip verir.
Sunucuya kopyalayın
Zip içinden yalnızca eklenti klasörünü sunucunuzdaki addons/counterstrikesharp/plugins içine kopyalayın. Klasör ve DLL aynı ada sahip olmalıdır. Zipimizdeki dependencies klasörünü CounterStrikeSharp zaten sağlıyor, onu dışarıda bırakın.
Konsolu kontrol edin
Sunucuyu yeniden başlatın ya da eklentiyi sunucu çalışırken yükleyin. Sunucu konsolunda mesajınızı görmelisiniz. Görmüyorsanız eklentinin bulunup bulunmadığını anlamak için css_plugins list çalıştırın ve yüklenmeyen eklentiler rehberimizi okuyun.
Hello World!
CounterStrikeSharp.API Loaded Successfully.
Değiştirin ve yeniden yükleyin
Eklenti çalışınca mesajı değiştirin, tekrar derleyin ve DLL’i değiştirin. CounterStrikeSharp sıcak yeniden yüklemeyi (hot reload) destekler; bu yüzden bir geliştirme sunucusunda yeni sürümü çoğu zaman yeniden başlatmadan deneyebilirsiniz. Sonraki adımlar, diğer rehberlerimizde anlatılan komutlar ve oyun olaylarıdır.
Bu rehber işinize yaradı mı?
Barlap topluluk için.