Jump to content
Rhuzzian

rage mp C# ile kaynak geliştirmeye başlamak + debugging

Recommended Posts

Bu konunun orijinali Rage MP forumunda paylaşılmıştır. (https://rage.mp/forums/topic/1807-c-getting-started-debugging/)

 

Ben aynı adımların tekrardan üstünden geçerek Türkçe bir rehber hazırladım.

Rage MP Wiki'sinde sunucu kurulumu ve C# için geliştirme ortamı oluşturulmasına dair bilgiler zaten mevcut.

Bu paylaşım Wiki'den farklı olarak Rage MP klasörü dışında ama direkt olarak resources klasörüne derleyen ve basit bir şekilde "Çalıştır" ya da "F5" butonlarına basarak hata ayıklamaya izin bir veren bir proje oluşturmanın adımlarını anlatacaktır.

NOT: Aşağıdaki görsellerdeki her şey işletim sisteminize, kurulum versiyonunuza ve ayarlarınıza göre ufak tefek değişiklikler gösterebilir, atılacak adımlar çok farklı olmayacaktır.

Bu konuyu Windows 10 üzerinde Visual Studio 2019 (16.1.6) kullanırken hazırladım.
 

 

Gerekenler

 

1. Kurulmuş bir sunucu (dosyaların indirilmiş ve ayarların yapılmış olması)

2. Visual Studio kurulumu

3. Ve bundan sonraki maceranız için C# ve genel bilgiler 🙂 

 

Kurulum

 

.NET Core çoklu platform geliştirme paketinin kurulu olduğundan emin olunuz.

Emin değilseniz;

 

1. Visual Studio Installer'ı açın.

          Screenshot_1.png.78c24984d5c839722252f186efb8e9f8.png

2. Visual Studio kurulumunuzun altında bulunan Diğer>Değiştir seçeneklerini izleyin.
Screenshot_3.png.c61764e319a55a069f0ef3066c998a0b.png

3. .NET Core çoklu platform geliştirme paketini bulun ve seçili olduğundan emin olun.
Screenshot_4.png.583a8c107a91a0162763179d8f1437d0.png

4. Eğer daha önce yüklenmemişse, paketi işaretledikten sonra sağ altta bulunan değiştire basarak kurulumu gerçekleştirin. (1GB~ indirme söz konusu.)

 

Projeyi oluşturma

 

1. Visual Studio'yu açın, ve yeni bir  Sınıf Kitaplığı (.NET Core) projesi oluşturun. 

Projenize istediğiniz ismi verin, kaydetmek istediğiniz yeri seçin ve Oluştur diyin.

33.thumb.png.4ac2ca567260e8ec692ed31c35076167.png

 

2. Projenizi oluştuktan sonra debugging(hata ayıklama) ayarları için Çözüm Gezgininde yeni oluşturmuş olduğunuz projenize sağ tıklayıp, Özellikler diyin.

Screenshot_7.png.61eb94cb1056eccb717d9d55d1747e35.png

3. Soldaki menüden Hata Ayıkla sekmesine geçiş yapın ve Başlatma seçeneğini "Yürütülebilir" olarak değiştirin,

Altında Gözat seçeneği olan yeni bir alan oluşacaktır.

Buraya, kurmuş olduğunuz RAGEMP'nin server dosyalarının içinde bulunan server.exe'yi gösterin. (Varsayılan: " C:\RAGEMP\server-files\server.exe")

Altta bulunan Çalışma dizini ise server.exe'nin bulunduğu dizin olarak ayarlanmalıdır. (Varsayılan: " C:\RAGEMP\server-files\")

Screenshot_8.png.ee05aee93def96e3f3cf27922389ccee.png

4. Doğru şekilde ayarladıktan sonra "CTRL+S" ile kaydedip, pencereyi kapatabilirsiniz.

 

Derleme ayarları

 

Artık projenin nasıl derlendiğini değiştirmemiz gerekiyor.  Eğer harici NuGet paketlerini kullanmak istiyorsanız, Visual Studio'nun bu paketlerin DLL'lerini derleme dizinine kopyalaması gerekecektir.

Bunun için;

1. Çözüm Gezgininde projenize sağ tıklayın ve Proje Dosyasını Düzenleyi seçin.

Screenshot_9.png.53646cd3812673870f3166dd21b42226.png

2. Bunun altına  

<TargetFramework>netcoreapp2.1</TargetFramework>

   Bunu ekleyin

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

3.  "CTRL+S" ile kaydedin ve kapatın.

 

Şimdi "meta.xml" dosyasını ayarlıyalım.

 

1. Projenize sağ tıklayın, Ekle>Yeni Öğe diyin.

2. Açılan pencerede, Yüklü> Visual C# Öğeleri kısmından Xml Dosyası seçin ve ismini "meta.xml" olarak ayarlayın ve oluşturun.

12345.png.782aa782d7a1ab54a9e36255c747da11.png

3. Dosyanın içeriğini aşağıdakiyle değiştirin (CTRL+A>CTRL+C)

<meta>
	<info name="ExampleResource" type="script" />
	<script src="ExampleResource.dll" />
</meta>

4. Kaydedip çıkın.

5. Çözüm Gezgininde oluşturduğunu "meta.xml" dosyasına sağ tıklayın ve Özellikler diyin.

6. Çıkış Dizinine Kopyalayı "Her Zaman" ve Derleme Eylemini "İçerik" olarak ayarlayın.

Screenshot_12.png.aa7e7c7b838efe2d3b2d23f5b6e2e27c.png

Şimdi ise projenin "resources" klasörüne derlenmesi için ayarları yapalım.

1. Proje ayarlarına geri dönün (Çözüm Gezgininde projeye sağ tıklayıp, Özellikler diyin.)

2. Derleme Olayları sekmesini açın ve aşağıdaki kodu  Derleme sonrası olay komut satırı kısmına koyun.

del "C:\RAGEMP\server-files\bridge\resources\exampleResource\*.*" /Q
xcopy "$(OutDir)*" "C:\RAGEMP\server-files\bridge\resources\exampleResource\" /Y

\bridge\resources\ yolunu ve exampleResource kısmını doğru dizine ve proje adınıza göre değiştirmeyi unutmayın.

Screenshot_14.png.d855bf2287624eab4b207fe3f5b6dca7.png

3. Ayarları kaydedin ve pencereyi kapatın.

Projeyi derlemeyi deneyin ( Derle > Çözümü Derle). Sorunsuz bir şekilde tamamlanmalı ve server kurulumunuzdaki "resources" klasöründe bir kaç adet DLL dosyası oluşmuş olmalıdır.

 

Kaynağı "settings.xml" dosyasına ekleme

 

1. Server kurulumunuzdaki bridge klasörünün  içinde bulunan "settings.xml" dosyasını herhangi bir editör ile açın.

2. Aşağıdakini "exampleResource" kısmını kendinize uygun şekilde değiştirerek ekleyin.

<resource src="exampleResource" />

Screenshot_15.png.f704d32379007411e286d74576819807.png

3. Kaydedip çıkın.

 

Kaynağı oluşturma

 

Buraya kadar basit bir şekilde projemizi oluşturduk ve debugging (hata ayıklama) için uygun hale getirdik. Şimdi GTA Network paketini ekleyerek kaynak oluşturmaya başlayabiliriz.

1. Çözüm Gezgininde projenize sağ tıklayın ve NuGet Paketlerini yönet diyin.

Screenshot_16.png.74001dd65c49e3c5a867e0c2aebe1eff.png

2. Sol üstten Gözat'ı seçin ve gtanetwork.api paketini arayın ve yükleyin.

Screenshot_17.png.6dd105fd993d7c7e4815159eff67a279.png

Artık hazırız, sorun olmadığından emin olalım.

Varsayılan olarak proje ile birlikte oluşturulan Class1.cs'nin içeriğini aşağıdaki kod ile değiştirin.

Bu dosyanını adını Main.cs olarak değiştirmenizi (içindeki class'ı da unutmayın tabi 🙂 )  tavsiye ediyorum ve aşağıdaki kod değiştirdiğinizi varsayıyor.

using GTANetworkAPI;


namespace exampleResource
{
    public class Main : Script
    {
        [ServerEvent(Event.ResourceStart)]
        public void OnResourceStart() { // Kaynak yüklendiğinde çağırılır
            NAPI.Util.ConsoleOutput("Kaynak yuklendi!"); // Server konsolumuza mesajı yazdıralım
        }
    }
}

Kaydedin ve F5'e basarak hata ayıklamayı çalıştırın

Server açılmalı ve konsolda aşağıdakine benzer bir mesaj ile karşılaşmalısınız.

Screenshot_18.png.af307b290864f211d84f436a9f5089c3.png

 

tarihinde Rhuzzian tarafından düzenlendi
Düzenleyicideki bug

İletiyi paylaş


Link to post
Sitelerde Paylaş

Topluluğa Katıl

You are posting as a guest. Eğer bir hesabın varsa, giriş yaparak hemen mesaj yazabilirsin..
Not: Mesajlarınız yayınlanmadan moderatör onayı gerektirecek. Bunun yerine forumumuza kayıt olabilirsiniz.

Misafir
Bu konuyu yanıtla

×   Yapıştırdığınız içerik biçimlendirme içeriyor.   Biçimlendirmeyi Temizle

  Only 75 emoji are allowed.

×   Bağlantınız otomatik olarak gömüldü..   Display as a link instead

×   Önceki içeriğiniz geri yüklendi.   Editör içeriğini temizle

×   Direkt olarak resimleri yapıştıramazsınız.


  • Konuyu Görüntüleyenler   0 kullanıcı

    Sayfayı görüntüleyen kayıtlı kullanıcı bulunmuyor.

GTA Platform

Platform üzerinde GTA ile ilgili tüm içerikleri bulabilirsiniz ve oluşturabilirsiniz. Forum Kurallarını okuduktan sonra rahat bir şekilde platformda paylaşımlarınıza başlayabilirsiniz. İlkelerimiz gereği, uygun görülen yazılar Ana Sayfamızda sizin adınızla yayımlanacaktır. GTA Platform, Portal ve Forum olarak hizmet veren, GTA'daki tüm Türk Oyuncu Topluluğunu barındıran bir sitedir.

×
  • Yeni Oluştur...