Onyx - Geliştirme Günlüğü

OnyxAlem

Çaylak Üye
Üye
Mesaj
12
Beğeni
35
Puan
18
Ticaret Puanı
0
onyx.webp


Merhaba MMO tutkunları! 🎮

Sizlere büyük bir heyecanla "Onyx" isimli Metin2 server projemizin geliştirme sürecini adım adım paylaşacağımız bu günlüğü tanıtmak istiyoruz.

Onyx, klasik Metin2 deneyimini modern dokunuşlarla harmanlayan, topluluğun isteklerini dikkate alarak hazırlanmış bir proje. Hedefimiz, hem nostalji rüzgarlarını hissettiren hem de yenilikçi mekanikleriyle oyunculara eşsiz bir deneyim sunan bir server oluşturmak.

Bu günlükte:

  • Server tasarımına dair detaylar,
  • Yeni özelliklerin tanıtımı,
  • Sorunlarla başa çıkma sürecimiz,
  • Görüş ve önerilerinize açık tartışma alanları gibi birçok konuyu ele alacağız.
Topluluğun katkılarıyla büyüyen ve gelişen bir yapı oluşturmayı hedefliyoruz. Görüşleriniz bizim için çok değerli! 🎯

İlk paylaşımımızda, projenin genel vizyonu ve temel özelliklerini sizlerle paylaşacağız. Şimdi hep birlikte "Onyx" dünyasını şekillendirmeye başlayalım!

Fırtınalı günlere,
OnyxAlem
 
Son düzenleme:
Onyx - Geliştirme Günlüğü


1. Güncelleme: Referans Altyapı ve İlk Teknik Değişiklikler



Merhaba MMO tutkunları,
Şu an Onyx için altyapımızı hazırlıyoruz ve bu süreçte birçok önemli adım attık. İşte işleri kolaylaştırmak ve daha sağlam bir temel oluşturmak için yapılan güncellemeler:


  1. Referans Altyapı:
    Altyapı olarak metin2.dev forumundan TMP4 isimli geliştiricinin "[40250] Reference Serverfile + Client + Src [15 Available Languages]" paketi kullanıldı.
  2. Sistem Uyarlamaları:
    • Altyapı FreeBSD 14.2 sürümüne başarıyla kuruldu.
    • Boost kütüphanesi sürümü 1.72'den 1.87'ye yükseltilerek daha yeni özellikler ve güvenlik iyileştirmeleri entegre edildi.
    • CryptoPP kütüphanesi sürümü 8.4'ten 8.9'a yükseltildi, bu da şifreleme performansını arttırdı.
    • Server kaynak kodları MySQL 8 uyumluluğuna uygun hale getirildi.

Bu ilk adımlar, Onyx'in teknik olarak güçlü bir altyapıya sahip olmasını sağlamak amacıyla atıldı. Sıradaki güncellemelerimizde daha fazla özellik ve geliştirme paylaşacağız. Takipte kalın, devamı gelecek!


Fırtınalı günlere,
OnyxAlem
 
onyx-2.webp


Onyx - Geliştirme Günlüğü


2. Güncelleme: RadminVPN ve Test Sunucu Erişimi



Bu güncellemede, RadminVPN için gerekli yapılandırmalar tamamlanmış ve RadminVPN ağı ile uyum sağlanmıştır. Test sunucusuna erişim sağlamak için aşağıdaki adımları takip edebilirsiniz:

  1. RadminVPN İndirme Linki:
    Linkleri görebilmek için giriş yap veya kayıt ol.
  2. Ağa Katılma: İndirilen RadminVPN uygulamasını çalıştırın ve "Ağa giriş yap" sekmesinden Onyx | Metin2 ağ ismini yazın.
  3. Parola: Ağa katılmak için herhangi bir parola gerekmez.
  4. Deneme Üyelikleri: Deneme üyelikleri talep üzerine DM aracılığıyla verilecektir.
Sunucuya bağlanmak için Onyx sunucu dosyalarını da indirebilirsiniz:


Takipte kalın, daha da devamı gelecek!


Fırtınalı günlere,
OnyxAlem
 
Son düzenleme:
Onyx - Geliştirme Günlüğü başlığında paylaştığım içeriklerin, sadece proje güncellemeleriyle sınırlı kalmayıp, aynı zamanda derslere de yer vereceğimi belirtmek isterim. Bu dersler, Onyx geliştirme sürecindeki teknik detayları, araçları ve metodolojileri daha iyi anlamanızı sağlayacak.

Geliştirme sürecinde her adımda, yeni bilgi ve beceriler edinebileceğiniz bir eğitim serisi oluşturulacak. Bu sayede hem teorik hem de pratik bilgilerle donanarak projenin her yönünü daha verimli bir şekilde takip edebileceksiniz.

Katılımınız ve geri dönüşleriniz için şimdiden teşekkür ederim.

Saygılarımla, başlıyoruz.


1. Ders: /etc/rc.conf Dosyasının Yapılandırılması

/etc/rc.conf, FreeBSD gibi sistemlerde başlangıç yapılandırmalarını içeren önemli bir dosyadır. Bu dosya, sistemin başlatılması sırasında çalışacak servislerin yapılandırmasını belirler. Aşağıda, örnek bir yapılandırma dosyasının nasıl düzenleneceğine dair açıklamalı bir rehber sunulmuştur.

1. Hostname Ayarı
Sistemin adı (hostname) belirlenir. Bu örnekte, sistemin adı Onyx olarak ayarlanmış:
Kod:
Genişlet Daralt Kopyala
hostname="Onyx"

2. Türkçe Klavye Düzeni
Eğer Türkçe klavye düzeni kullanmak istiyorsanız, aşağıdaki ayar yapılır:
Kod:
Genişlet Daralt Kopyala
keymap="tr.kbd"

3. Ağ Ayarları
Ağ yapılandırması, IP adresi, ağ maskesi, varsayılan yönlendirici (router) ve DNS sunucuları burada belirlenir:
Kod:
Genişlet Daralt Kopyala
# Ağ yapılandırması RadminVPN için tasarlanmıştır
ifconfig_em0="inet 26.152.163.100 netmask 255.0.0.0"
defaultrouter="26.0.0.1"
dns_servers="1.1.1.1 1.0.0.1" # Cloudflare DNS

Not: Bu yapılandırma, genellikle özel ağlar veya VPN bağlantıları için kullanılır ve doğru bağlantı ayarlarını sağlamak amacıyla dikkatle yapılandırılmalıdır.

4. SSH Hizmeti
Uzaktan bağlantı için SSH hizmetini etkinleştirmek ve bazı ekstra güvenlik ayarlarını yapmak için şu satırlar kullanılır:
Kod:
Genişlet Daralt Kopyala
sshd_enable="YES"               # SSH Sunucusunu etkinleştir
sshd_flags="-o Compression=yes"  # SSH bağlantısı için veri sıkıştırma
sshd_config="/etc/ssh/sshd_config"

5. Zaman Senkronizasyonu
Sistem saatinin doğru olması için NTP sunucusu etkinleştirilir:
Kod:
Genişlet Daralt Kopyala
ntpd_enable="YES"               # NTP Sunucusunu etkinleştir

6. Güvenlik Duvarı (IPFW)
IPFW güvenlik duvarı aktif hale getirilir ve güvenlik kurallarını içeren dosya belirtilir:
Kod:
Genişlet Daralt Kopyala
firewall_enable="YES"           # IPFW güvenlik duvarını etkinleştir
firewall_script="/etc/ipfw.rules" # IPFW kurallar dosyası

7. MySQL Veritabanı Sunucusu
Eğer MySQL veritabanı sunucusu kullanıyorsanız, onu da başlatmak için aşağıdaki satırları ekleyebilirsiniz:
Kod:
Genişlet Daralt Kopyala
mysql_enable="YES"              # MySQL hizmetini başlat
mysql_optimize_tables="YES"     # Otomatik tablo optimizasyonu (örn: cron ile)

Sonuç:

Yukarıda belirtilen ayarlarla, sistemin başlatılması sırasında gerekli servisler doğru şekilde yapılandırılacak ve çalışacaktır. Her bir servis, başlangıçta aktif olacak şekilde yapılandırılmıştır.
Bu yapılandırmalarla ilgili daha fazla yardıma ihtiyacınız varsa, lütfen sormaktan çekinmeyin!

Fırtınalı günlere,
OnyxAlem
 
Son düzenleme:
Gayet güzel bir işe giriştiğinizi gözlemledim, başarılar diliyorum. Hitabetinizden dolayı da ayrıca teşekkür ediyorum.
 
Gayet güzel bir işe giriştiğinizi gözlemledim, başarılar diliyorum. Hitabetinizden dolayı da ayrıca teşekkür ediyorum.

Merhaba! 😊

Çok naziksiniz, bu güzel sözleriniz için teşekkür ederim! Gerçekten çok heyecanlıyım çünkü üzerinde çalıştığım projeyi herkesin erişebilmesi ve faydalanabilmesi için GitHub üzerinde paylaşmayı planlıyorum. Böylece isteyen herkes projeyi inceleyebilir, katkı sağlayabilir ve belki de yeni fikirler ortaya çıkabilir. Bilginin yayılması ve topluluğa katkı sağlamak hepimiz için çok kıymetli. Ne kadar çok insan bu projeyi öğrenir ve gelişimine katkıda bulunursa, o kadar daha iyi bir hale gelir! 🌍🚀

Hep birlikte daha güzel şeyler yaratabileceğimize inanıyorum. Takipte kalın, çok yakında GitHub'da paylaşılıyor olacak! 🤩

Tekrar teşekkürler, başarılarınızın da devamını diliyorum! 🙌

Meraklandırdı başarılar :)

Teşekkürler! Başarılar daha da güzel olsun, hep birlikte başarmak dileğiyle. 😊

Fırtınalı günlere,
OnyxAlem
 
Son düzenleme:
5. Zaman Senkronizasyonu
Sistem saatinin doğru olması için NTP sunucusu etkinleştirilir:
Kod:

ntpd_enable="YES" # NTP Sunucusunu etkinleştir

daha önce ntpd aktif ettiğim bir BSD'yi geri dönemeyecek şekilde kaybetmiştim. Boot Loader bile yüklenmiyordu, üzerine çok düşmedim ama araştırdığımda benzer problemleri yaşayanlar var, bilgi vermek istedim. Bu arada güzel bir proje çıkacak gibi, keyifle takipteyim.

edit: Meraktan soruyorum neden mariadb değil de MYSQL tercih ettiniz?
 
Özellikle bu kadar detay vermeniz çok güzel yeni başlayanlar içinde biraz rehber niteliğinde olmuş gibi ellerinize sağlık. Şimdiden başarılar dilerim.
 
daha önce ntpd aktif ettiğim bir BSD'yi geri dönemeyecek şekilde kaybetmiştim. Boot Loader bile yüklenmiyordu, üzerine çok düşmedim ama araştırdığımda benzer problemleri yaşayanlar var, bilgi vermek istedim. Bu arada güzel bir proje çıkacak gibi, keyifle takipteyim.

edit: Meraktan soruyorum neden mariadb değil de MYSQL tercih ettiniz?

MySQL ve MariaDB, temelde aynı veritabanı motorlarından türemiş olsalar da, bazı kullanım senaryolarında farklı tercihler yapabiliyoruz. MySQL’i tercih etme nedenlerim birkaç faktöre dayanıyor:

Endüstri Standartı ve Yaygınlık: MySQL, özellikle büyük ölçekli projelerde yaygın olarak kullanılan, sağlam ve olgunlaşmış bir veritabanı yönetim sistemidir. Birçok hosting sağlayıcısı, uygulama ve kurumsal altyapı MySQL ile uyumlu olduğundan, projelerimizde bu uyumluluğun sağlanması önemli bir faktör olabiliyor.

Destek ve Dökümantasyon: MySQL, Oracle tarafından desteklenen bir ürün olduğundan, profesyonel destek ve dökümantasyon konusunda çok geniş bir kaynak yelpazesine sahip. Bu, büyük projelerde, kritik anlarda hızlı çözüm bulma açısından büyük bir avantaj sağlayabiliyor.

Uyumluluk ve Performans: Bazı uygulamalarda, MySQL’in sunduğu özel özellikler veya performans iyileştirmeleri, MariaDB’ye göre daha uyumlu veya daha verimli olabiliyor. Ayrıca, MySQL’in daha büyük bir topluluk desteği ve güvenlik yamalarıyla hızlı bir şekilde güncellenmesi de güvenlik açısından önemli.

Karar Vericilerin Tercihi ve Yönetim İhtiyaçları: Özellikle büyük organizasyonlar ve kurumsal projelerde, MySQL genellikle daha fazla tercih ediliyor. Çünkü çoğu zaman yöneticilerin, yazılım geliştirme ekibinin ve altyapı uzmanlarının MySQL üzerinde daha fazla deneyimi bulunuyor. Bu da proje sürekliliği açısından büyük bir avantaj sağlıyor.

Elbette MariaDB de çok güçlü bir veritabanı yönetim sistemi ve bazı projelerde büyük avantajlar sağlayabiliyor. Ancak şu anda tercihimi MySQL’den yana kullanmak, özellikle mevcut altyapı ve ihtiyaçlar doğrultusunda daha mantıklı görünüyordu.

Görsel olarak müthiş bi geliştirme günlügü olmuş umarım devam edersiniz.

Teşekkür ederim! Yorumunuzu çok beğendim ve bu tarz geri bildirimler gerçekten motive edici. Geliştirme günlüğünün devamını getirmek için elimden gelenin en iyisini yapacağım. Desteğiniz ve ilginiz için çok teşekkürler, umarım ilerleyen zamanlarda daha da faydalı içerikler paylaşabilirim! 😊

Başarılar. Takipteyim.

Çok teşekkür ederim! Desteklediğiniz için gerçekten minnettarım. Takipte kalmanız beni motive ediyor, umarım ilerleyen paylaşımlarım sizin için faydalı olur! 😊

Özellikle bu kadar detay vermeniz çok güzel yeni başlayanlar içinde biraz rehber niteliğinde olmuş gibi ellerinize sağlık. Şimdiden başarılar dilerim.

Çok teşekkür ederim! Yorumunuz gerçekten çok kıymetli. Yeni başlayanlar için rehber olabilmek gerçekten önemli bir amaçtı ve bunu başarmış olabilmek beni çok mutlu etti. Destekleriniz için teşekkürler, umarım ilerleyen paylaşımlar da aynı şekilde faydalı olur. Başarı dilekleriniz için de ayrıca teşekkür ederim! 😊

Fırtınalı günlere,
OnyxAlem
 
Geri
Üst