Sol Reklam

Rehber Son Sürüm Sunucularda Optimizasyon

Inxity

Owner @ ᴛʀᴇᴀsᴜʀᴇ
Emektar
Hosting Görevlisi

Discord:

Inxity#3240

Katılım
25 Ocak 2015
Mesajlar
534
Elmaslar
286
Puanlar
14.785
Yer
Treasure Inc.
Minecraft
Inxityy
Yakın zamanda denk geldiğim bir optimizasyon konusuna istinaden bu konuyu açmak istedim.
Aşağıda yazmış bulunduğum hiç bir bilginin doğruluk garantisi yoktur, hepsi kendi tecrübelerimden oluşuyor.
Hatalarım varsa lütfen yazın, hem kendimi düzelteyim hem de insanların doğru bilgiyi edinmesini sağlayalım.

Optimizasyon nedir?
Minecraft'da optimizasyon benim tabirimle, sunucunun saf bir performans elde edebilmesi amacıyla yapılan çalışmaların, geliştirmelerin tamamına denir.

Neden sunucumu optimize etmeliyim?
Sunucu makineniz her ne kadar iyi olursa olsun optimizasyon yapmadığınız sürece gerek oyun içi lagg sorunları ve gerekse bu nedenlerden dolayı oluşabilecek veri kayıpları canınızı sıkabilir.

1. Hosting seçimi
Sunucunuzu nerede barındıracağınız çok önemli bir etken. Discorddan satış veren benim tabirimle merdiven altı bir vergi levhası, websitesi bulunmayan bir hosting seçmemelisiniz. Seçeceğiniz hostingi iyi araştırmalısınız kullananlara danışmalısınız. Her hosting ucuz olduğu gibi iyi olmak zorunda da olmayabiliyor, kimisi ucuza verip 1 makineyi 20 kişiye de bölebiliyor, kimisi de işini kaliteli yapıp tek makineyi vermesi gereken şekilde 8-10(bu sayılardan emin değilim, makinenin özelliklerine göre değişiklik gösterir) kişiye verir ve böylelikle kimsenin sunucusuna aşırı yük binmemiş olur.
Eğer +1.16 bir sunucu açıyor ve hosting arıyorsanız, size hosting ismi veremem ancak kullanabileceğiniz ram ve işlemciyi önerebilirim.

Genelde R5 3600X, R7 2700X, R7 3700X, R9 3900X, I9 9900K ve R9 5900X +1.16 bir sunucu için oldukça yeterli, bunların dışında Xeon işlemcili bir sunucu kullanmanızı tavsiye etmiyorum.
Ram konusuna gelirsek, kendim bir Survival sunucu sahibiyim ve ona göre yorumumu katacağım. I9 9900K 4 Core + 10GB ram oldukça işinize yaracaktır ancak depolama konusunda da dikkatli olmanız gerekiyor, hızlı bir ssdye sahip bir sunucu ile çok daha iyi bir verim elde edebilirsiniz.

2. Doğru sunucu yazılımını seçmek
Öncelikle sunucu yazılımı nedir onu açıklayayım.
Sunucu yazılımı sizin sunucunuzu çalıştırırken kullandığınız bir .jar uzantılı dosyadır. Her sunucu yazılımı farklı bir amaca hitap eder.
Konumuzda gözden geçireceğim vanilla sunucular için kullanılabilen yazılımlar:
1- Bukkit (https://getbukkit.org/)
2- Spigot (https://getbukkit.org/download/spigot)
3- Paper (https://papermc.io/downloads)
4- Tuinity (https://ci.codemc.io/job/Spottedleaf/job/Tuinity/lastStableBuild/)
5- Yatopia (https://yatopiamc.org/download.html) [Artık geliştirilmiyor]
6- Airplane (https://dl.airplane.gg/) [Yeni gelen güncellemeler (1.17) Purpur'un içinde geliyor, yani artık geliştirilmiyor. Ancak eski jar dosyalarını hala indirebilirsiniz.]
7- Purpur (https://purpurmc.org/)


Sunucu yazılımlarını daha detaylı tanımak isterseniz @Cazcez 'in harika konusuna göz atabilirsiniz.
Tıkla ve konuya uç!
Fork ne demek?
Fork sadece minecraft dünyasına ait bir terim değil, bir çok alanda kullanılıyor. Anlamı ise mevcut bir kodun yeni özellikler, geliştirmeler eklenerek yeniden sunulması.

Yukarıda yazdığım sunucu yazılımlarının hepsinin temelinde Bukkit bulunuyor, yani hepsi birbirinin forku diyebiliriz.

Yukarıdaki yazılımları sıralayacak olursak;
Bukkit->Spigot->Paper->Tuinity->Airplane Tuinity+Paper->Purpur->Airplane-Purpur ->Yatopia

Forkların güncel listesi (17 Haziran 2021)
1623958206079.png


Yatopia neden tercih edilmiyor veya herhangi bir forku bulunmuyor?
Sebebi ise stabil olmaması, bir çok açığının ve sorununun bulunması. Bu nedenle çoğu insan benim gibi Yatopia yerine Airplane tercih ediyor.

Hangi yazılımı kullanmalıyım?
Benim görüşümce Bukkit ve Spigot kullanmamalısınız, sebebi Paper'ın ikisinden de daha stabil ve optimizasyonlu olması. Paper'ın size sunduğu konfigürasyon ayarları ile sunucunuzu ihtiyacınıza göre epey bir hafifletebiliyorsunuz. Bu Paper kullanmanız gerektiği anlamına gelmiyor, Bukkit ve Spigot kullanmamanız için bir neden sadece.

Her forkun size vaadettiği farklı şeyler vardır;

Paper -> Oynanış ve oyun içi mekaniklerin düzeltilmesinde yardımcı olur (buna dupe'lar ve exploit'ler de dahil), ayrıca Spigot'dan kat ve kat daha optimizasyonlu.
Tuinity -> Paper'ın forku olarak, yüksek oyuncuda sunucuyu stabil tutmayı hedefliyor.
Yatopia -> Tuinity'nin forku, ancak Airplane ve Purpur'dan da kod çekerek size hızlı ve stabil bir oyun sunacağını vaadediyor ancak kullanmanızı kesinlikle önermiyorum. Nedeni ise yukarıda söylediğim gibi bir çok soruna neden oluyor, düzeltmekten çok sunucunuza zarar veriyor.
Airplane -> Tuinity forku. Aynı Tuinity gibi sunucunuzu yüksek oyuncularda stabil tutmayı amaçlıyor.
Purpur -> Airplane'in forku olarak sunucunuzu optimize etmeye yönelik bir amacı bulunmuyor, ancak Paper, Spigot ve Yatopia'dan çok daha iyi. Amacı ise sunucunuza bir çok yeni ve bir okadar da kullanışlı konfigürasyon seçenekleri sunuyor, daha çok oyunun mekaniklerini ele alarak oyunun bazı özelliklerini düzenleme/kapatma veya açma olasılığı sağlıyor.

Kısacası ben sunucumda yüksek oyuncuyu hedeflediğimden Airplane'i tercih ediyorum. Aşırı yüksek oyuncunuz yoksa ve Purpur'un güzel ve işe yarar konfigürasyonlarına ihtiyacınız varsa Purpur'da kullanabilirsiniz.

3. Sunucuyu zorlamayacak, düzgün kodlanmış pluginler seçmek

Java kodlama dili hakkında bir fikriniz yoksa muhtemelen tek çareniz pluginin sayfasındaki yorumları okumak ve sunucunuzda denemek.
Leak yani sızdırılmış ücretli plugin kullanımından kaçının, internette indirdiğiniz her dosya orjinaliyle birebir aynı olmak zorunda değil. İçerisine zararlı yazılım koyabilirler ve sunucunuzdan veri çalmakla beraber performansınıza da etkisi yansıyabilir. Her zaman orjinal halini para ile almaya gayret edin.

İndirdiğiniz pluginlerin kullanım amaçlarını ve konfigürasyon dosyalarını iyi tanıyın.
Örneğin sunucunuzda CMI kullanıyorsanız ekstra bir hologram plugini kullanmanıza gerek yok(istisnalar hariç mesela bazı pluginler CMI'nın hologramını desteklemiyor olabilir, ozaman CMI'nın konfigürasyon dosyasından hologram kısmını devredışı bırakırsınız ve istediğiniz hologram pluginini kullanırsınız) bu sadece fazlalık olur.

4. Sunucu başlatma scripti
Sunucunuzu başlatırken ona ne kadar ram verdiğiniz, kullandığınız java flagları çok önemli. Ben genelde Aikar's Flags dışında bir flag kullanmıyorum.

Aikar's Flags nedir?
Java flaglarıyla hazırlanmış bir Garbage Collector'dır. Sunucunuzu daha stabil tutmanıza yarar.
Tıklayarak Aikar's Flags bağlantısına gidebilirsin!

Garbage Collector nedir?
Diğer bir adıyla Java Garbage Collector, mevcut olarak kullandığınız java tabanlı yazılımınızdaki boşta duran işlevsiz görevlere son verir. Bu işlem CPU kullanımını arttırabilir ancak gözle görülür ölçüde performansa etkisi vardır.

Örnek bir başlatma scripti:
Dikkat! 10GB bir makineye sahipseniz makinenizin bütün ramini sunucunuza vermeyin. Windows kullanıyorsanız en az 1.5GB az vermelisiniz, Linux Centos ya da Ubuntu(Panel) kullanıyorsanız en az 1GB az vermelisiniz.

Bash:
java -Xms8G -Xmx8G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar SunucuYazılımınız.jar nogui

Yukarıdaki kodda 9-10GB'lık bir sunucu için kullanılabilecek bir script örneği bıraktım, SunucuYazılımınız.jar kısmını kendi seçtiğiniz sunucu yazılım dosyanızın ismiyle değiştirin.

Tavsiyem fazla büyük olmayan sunucular için sunucunuza 10GB'dan fazla ram vermeyin, Garbage Collector'ın verimini düşürür.

5. Pluginlerim, sunucu yazılımım ve başlatma scriptimi hazırladım! Şimdi ne yapmalıyım?

Öncelikle Timings nedir?
Timings Aikar tarafından yazılan bir web tabanlı sunucu istatistiklerini görmemizi sağlayan bir sistem diyebilirim. Amacı sunucunuzda kurulu olan pluginlerin bir eventi ne kadar uzun sürede işlediğini ve gecikme(lag) sorunlarının nerede ortaya çıktığını görmenizi sağlar, çünkü bir eventi işlemek için uzun bir süre alan yanlış davranan bir eklenti, tick döngüsünde gecikmelere ve dolayısıyla 20'nin altında bir TPS oranına neden olabilir.

Sunucumun Timings bağlantısını nasıl elde edebilirim?
Sunucunuzu başlattığnızda Timings otomatik olarak açık gelir(Airplane'de kapalı geliyor, paper.yml'den Timings kısmından enable yapabilirsiniz), Timings bağlantısını sunucu az kişiyken almak çok yararlı değildir, bir kaç arkadaşınızı yada normal oyuncularınız oyunu oynarken Timings çıktısı almanız sizin daha işinize gelecektir, çünkü asıl amaç sunucu dolduğunda yaşanan lag sorunlarını bulmak ve tespit etmek. Neredeyse her plugin düşük oyuncu sayısında oldukça performanslı çalışır.
Oyun içinde Timings'iniz kapalıysa -/timings on yazarak açabilir
veya zaten sunucunuz açıldığında otomatik açılıyorsa -/timings report
yazarak Timings bağlantınızı elde edebilirsiniz.

Timings bağlantısı nasıl mı okunur?
Tıkla ve konuya uç!

Sunucunuzu ilk çalıştırdığınızda dosya konumunuzda (Airplane baz alınarak) bukkit.yml, spigot.yml, paper.yml, tuinity.yml ve airplane.air dosyası oluşmuş olmalı. Bu dosyaların içindeki değerlerin ne anlam ifade ettiğini bilmiyorsanız aşağıdaki Birdflop ve Kahti botu ile kolayca hazırlayabilirsiniz ya da İngilizce bağlantılara bakabilirsiniz, şuanlık çok zamanım olmadığından maalesef bütün dosyaları buraya Türkçe olarak anlatamıyorum.

Bukkit.yml -> https://bukkit.fandom.com/wiki/Bukkit.yml
Paper.yml -> https://paper.readthedocs.io/en/latest/server/configuration.html
Spigot.yml -> https://www.spigotmc.org/wiki/spigot-configuration/
Tuinity.yml -> https://github.com/Spottedleaf/Tuinity/wiki/Config
Airplane.air -> https://blog.airplane.gg/dear-configuration/
Kullanıyorsanız Purpur.yml -> https://pl3xgaming.github.io/PurpurDocs/Configuration/

Yukarıda attığım linklere bakarak her değerin ne işe yaradığına bakabilirsiniz ve kendi sunucunuza göre ayarlayabilirsiniz. Bu iş sizin için fazla yorucu ve üşendirici ise, biraz birdflop botundan bahsedelim.

Birdflop nedir?
Birdflop, Purpur yapımcıları tarafından geliştirilen bir Timings analiz botudur. Timings verileri içerisinde bulunan sizin konfigürasyon ayarlarınızı çekerek bot size sunucunuz için minimum sistem gereksinimine göre değerler çıkartıyor.

Botun kaynak kodu
Linkinde botun davet linki bulunuyor, güvenilir bir bot güvenmiyorsanız kaynak kodunu indirerek botu kendiniz hostlayabilirsiniz.

Birdflop halinin geliştirilmiş ve benim tarafımdan Türkçeleştirilmiş halinin kaynak kodu
Birdflop ile Kahti'nin farkı:
Bazı önerilen değerler Birdflop ile aynı değil, daha iyi değerler olduğu iddaa ediliyor.
Kaynak kodlarına bakarak güvenilir olup olmadığına bakabilirsiniz, türkçeleştirdiğim bot 7/24 açık olan bir bot değil, elimde bir vds bulunmadığından açık tutamıyorum ama aynı şekilde kaynak kodlarını indirerek ve kendi bot tokeninizi girerek botu kendiniz hostlayabilirsiniz.
Bazı zamanlar botu açık tutuyorum, Discord sunucuma gelerek ve bana özel mesaj yazarak botu açmamı rica ederseniz botu açtıktan sonra #bot-komut kanalına timings linkinizi atarsanız botu kullanabilirsiniz.

Bu botları nasıl kullanacağım?
Sunucunuzdan bir Timings raporu alarak, linki yukarıdaki botların bulunduğu herhangi bir sunucuya atabilirsiniz.
Örnek olarak Türkçeleştirdiğim Kahti botundan bir görsel.
1620283926033.png


Yukarıdaki görselde de yazdığı üzere, bot herkese minimum değerleri tavsiye ediyor, bunları daha fazla kısarak yada daha fazla arttırarak kendi sunucuna göre ayarlayabilirsiniz. Bu sadece işinizi biraz daha hızlandırır.

6. Haritayı önyüklemek
Diğer bir tabirle pregenerate yapmak, oyuncularınızın yeni chunk açtığında sunucuya yük bindirmesini engellemek, yeni chunk açtırmamaya çalışmak. Bu yöntem daha çok Survival sunucular tarafından tercih ediliyor, Skyblock gibi sunucularda ne gibi bir faydası olur bilemiyorum o nedenle bu konuyu bir Survival sunucusu gözünden anlatacağım. Bir oyuncu daha önce hiç yüklenmemiş bir chunk'ı açmaya çalıştığında sunucu yük altına girer ve bunu 15-20 kişinin aynı anda yapmaya çalıştığını düşünürsek, performans açısından çok önemi bulunuyor.

Harita sınırı belirlemek
Sunucunuzda barındıracağınız oyuncu sayısına göre harita sınırınız size büyük yada küçük gelebilir, örneğin sunucuda ortalama 50 kişi oynayacaksa haritanın büyüklüğünün oyunculara yetmesi için ben 70K x 70K (-35K, +35K)bir harita tercih ediyorum.

Chunky ile önyükleme işlemi
**DİKKAT BU İŞLEMİ SUNUCUNUZDA OYUNCU YOKKEN YAPIN**

Chunky bir çok kullanıcının tercih ettiği bir chunk pregenerator pluginidir. Bu plugin sayesinde haritanızda chunklar'ı önceden yükleyerek yeni chunk açılmasına engel olabilir ve lag'ın önüne geçebilirsiniz.

1-) Pluginin kurulumu
https://www.spigotmc.org/resources/chunky.81534/
Linkinden jar dosyasını indirin ve plugins klasörünüze atın

2-) Sunucunuzu yeniden başlatarak plugini aktif hale getirin

3-) Chunky komutları
Aşağıdaki komutları kendinize göre değiştirebilirsiniz, detaylı bilgiler için https://github.com/pop4959/Chunky/wiki/Commands

Sırasıyla
/chunky world dünyaismi
/chunky center 0 0
/chunky shape square
/chunky radius 35000
/chunky start

Komutlarını girdiğimizde, dünyaismi dünyasında 0, 0 kordinatlarından kare şeklinde 35000 blok genişliğinde X: +35000 Z:+35000 ve X:-35000 Z:-35000 kordinatları arasında toplamda 70K x 70K blok ön yüklenecek.
Haritanın önyüklenme süresi uzun sürecektir, kullandığınız makinenin işlemcisine ve sahip olduğunuz çekirdeğe göre hız farkları görülebilir. Sunucunuzda oyuncu olmadığı bir gece sunucuyu bakıma alın ve pregenerate işlemini öyle yapın, aksi taktirde oyuncular tarafından lag yaratılırsa bozuk chunklar oluşabilir.

4-) Minecraft'ın kendi worldborder komudu ile sınırınızı oluşturun
Aşağıdaki komutları kendinize göre değiştirebilirsiniz, detaylı bilgiler için

Yukarıda önyüklediğimiz haritaya dayanarak sırasıyla
/worldborder center 0.0 0.0
/worldborder set 70000
/worldborder damage amount 1 (buradaki sayıyı değiştirebilirsiniz, buraya 3 yazarsanız sınırı aşan kişiler aştıkları blok başına 3 hasar yiyecekler)
/worldborder damage buffer 3 (buradaki sayı oyuncunun sınırı 3 blok geçmesine izin verir, hasar almasını engeller ancak 4. blokta damage amount komutunda ayarladığınız hasar kadar hasar almasına neden olacaktır)


Şuanlık bu kadar, aklıma geldiğinde konuyu güncellemeye devam edeceğim. Hatalarımı yorum olarak belirtirseniz çok mutlu olurum, iyi forumlar.

KONU 1.18 SÜRÜMÜ İÇİN YETERİ KADAR GÜNCEL DEĞİLDİR, 1.16 VE 1.17 SUNUCULAR İÇİN TAVSİYE EDİLİR.
 

Ekler

  • 1620283896268.png
    1620283896268.png
    38,9 KB · Görünt.: 66
Son düzenleme:

Clouds

Koydum Çalışma Masasını

Discord:

Kugelbltz#0001

Katılım
6 Mayıs 2021
Mesajlar
57
Elmaslar
10
Puanlar
2.270
Yaş
19
Minecraft
Kugelbltz
Çok güzel ve açıklayıcı bir konu olmuş ellerinize sağlık. Bir kaç gündür bu tür işlerle uğraşıyorum ve purpur hakkında bilgi edindiğim iyi oldu :)
 

syrthez

Odunlara Vur Vur Vur!

Discord:

Onur#9264

Katılım
30 Aralık 2020
Mesajlar
39
Elmaslar
3
Puanlar
135
Minecraft
XenoRoss
Yüksek oyuncu hedeflediğim için airplane kullanıyorum demişsiniz bu göreceli bir kavramdır sizin hedeflediğiniz sayıları merak ettim söylerseniz sevinirim
 

Inxity

Owner @ ᴛʀᴇᴀsᴜʀᴇ
Emektar
Hosting Görevlisi

Discord:

Inxity#3240

Katılım
25 Ocak 2015
Mesajlar
534
Elmaslar
286
Puanlar
14.785
Yer
Treasure Inc.
Minecraft
Inxityy
Yüksek oyuncu hedeflediğim için airplane kullanıyorum demişsiniz bu göreceli bir kavramdır sizin hedeflediğiniz sayıları merak ettim söylerseniz sevinirim
Konuyu yazarken hedefimiz +40 yada +50 gibi bir şeydi. Aslında çok oyuncu oynatılmayacaksa bile Purpur'un sunduğu özelliklere ihtiyacınız yoksa yine airplane daha iyi kalıyor benim gözümde.
 

Inxity

Owner @ ᴛʀᴇᴀsᴜʀᴇ
Emektar
Hosting Görevlisi

Discord:

Inxity#3240

Katılım
25 Ocak 2015
Mesajlar
534
Elmaslar
286
Puanlar
14.785
Yer
Treasure Inc.
Minecraft
Inxityy
Konu güncellendi, forkların güncel listesinin fotoğrafı eklendi.
 

SansarReisOfficial

Tasarımcı
Yasaklandı

Discord:

Corrsy#7006

Katılım
22 Şubat 2019
Mesajlar
1.087
Elmaslar
424
Puanlar
12.285
Yaş
25
Yer
Dünya
Minecraft
CrazySansar
Hangi işsiz bu konuyu okudu :D Ben 7 mayısta okumaya başladım 16 haziranda bitirdim QrıQpoqrW. Bide o fotoğraf ne öyle o ok ona o ok ona giriyo falan AlşJŞAFJAfksajsfafLŞ
 

Nesna

çok haklısın

Discord:

Nesna#1002

Katılım
6 Ocak 2021
Mesajlar
243
Elmaslar
163
Puanlar
2.985
Yer
Ankara
Minecraft
iNesna
Hangi işsiz bu konuyu okudu :D Ben 7 mayısta okumaya başladım 16 haziranda bitirdim QrıQpoqrW. Bide o fotoğraf ne öyle o ok ona o ok ona giriyo falan AlşJŞAFJAfksajsfafLŞ
Konunun uzunluğu gayet normal bence. Tabii hiç kitap okumayıp tüm gün pc başında oturunca uzun geliyor olabilir orasını bilmiyorum.
 

ChiaX

xo xo Gossip Girl

Discord:

ChiaX#6271

Katılım
14 Temmuz 2019
Mesajlar
451
Elmaslar
363
Puanlar
7.625
Yer
London, UK
Discord İzni
Minecraft
ChiaX
Başarılı bir konu olmuş. Eminim bir çok kişinin işine yarayacaktır.
 

Hersscher

Fırında Isıttığım İlk Taş

Discord:

Hersscher#6473

Katılım
6 Ağustos 2021
Mesajlar
83
Elmaslar
29
Puanlar
2.280
Minecraft
Hersscher
Aşırı açıklayıcı ve mükkemel bir anlatım olmuş tebrik ederim ve teşekkür ederim
 

Inxity

Owner @ ᴛʀᴇᴀsᴜʀᴇ
Emektar
Hosting Görevlisi

Discord:

Inxity#3240

Katılım
25 Ocak 2015
Mesajlar
534
Elmaslar
286
Puanlar
14.785
Yer
Treasure Inc.
Minecraft
Inxityy
Aslında biraz güncellemem gerekli konuyu ama yine de teşekkür ederim yorumunuz için.
 
S

sooply

Ziyaretçi
1.17 için de hazırlamanı istiyorum :D Teşekkürler.
 

esat703

Somon Balığı Selam Vermeye Geldi

Discord:

pavi ᗐ#0079

Katılım
18 Ocak 2020
Mesajlar
17
Elmaslar
5
Puanlar
885
Yaş
20
Minecraft
esat703
Yazan kişinin eline sağlık, güzel bilgilendirici bir konu olmuş.
Çoğu kişinin işine yarayacaktır eminim ki.
 

Solar Network

Somon Balığı Selam Vermeye Geldi
Katılım
29 Kasım 2021
Mesajlar
12
Elmaslar
4
Puanlar
910
Yaş
23
Elinize sağlık, çok faydalı bir konu olmuş.
 

CihatY

Somon Balığı Selam Vermeye Geldi
Katılım
16 Kasım 2021
Mesajlar
10
Elmaslar
5
Puanlar
85
Yaş
20
Yazarın eline sağlık, çok faydalı ve bilgilendirici olmuş teşekkürler.
 
Neden altınlarını Discord sunucumuzda kazmıyorsun? TIKLA VE KATIL!
Yukarı