Merhaba değerli vSRO.ORG Ailesi, Metin2 geliştirici ve sunucu sahibi arkadaşlar!
Bu konuda sizlerle Metin2 geliştirme dünyasında en çok ihtiyaç duyulan ama bulması en zor araçlardan birini paylaşıyorum: FreeBSD 11.3 işletim sistemi üzerinde GCC 4.9 derleyici ile önceden yapılandırılmış VDI (Virtual Disk Image) dosyası. Bu sanal makine imajı, özellikle daha yeni bir GCC sürümüne yükseltilmemiş eski Metin2 serverfiles ve kaynak kodlarını derlemek için tasarlanmıştır.
Bu VDI Neden Önemli? Metin2 server geliştirme sürecinde, kaynak kodlarınızın (source) hangi GCC sürümü ile derlendiği kritik bir öneme sahiptir. Eski serverfiles'lar — örneğin Zearth2 Serverfiles gibi popüler paketler — genellikle GCC 4.9 veya daha eski sürümlerle derlenmiştir. Bu dosyaları newer GCC sürümleriyle (GCC 7+, GCC 8+, GCC 10+ vb.) derlemeye çalıştığınızda, C++ standardındaki değişiklikler ve breaking changes nedeniyle yüzlerce hata alırsınız:
- "register" anahtar kelimesi hataları — GCC 4.9 sonrası "register" desteği kaldırılmıştır
- Şablon (template) çözümleme hataları — Eski C++ standartları ile yeni standartlar arası uyumsuzluk
- Başlık dosyası (header) değişiklikleri — Yeni GCC sürümlerinde bazı standart kütüphane başlıkları değişmiştir
- Derin kopyalama ve taşıma semantiği hataları — C++11 ve sonrası getirilen değişiklikler
- Implicit declaration uyarıları ve hataları — Fonksiyon prototipleri ile ilgili uyumsuzluklar
Bu VDI dosyası, tüm bu sorunları ortadan kaldırarak sıfır hata ile derleme yapmanızı sağlar!
VDI Nedir? VDI (Virtual Disk Image), Oracle VirtualBox ve benzeri sanal makine platformlarında kullanılan disk imajı formatıdır. Hazır bir VDI dosyası, işletim sistemi kurulumu, derleyici kurulumu, kütüphane bağımlılıkları ve yapılandırma adımlarının tamamının önceden yapıldığı anlamına gelir. Sadece dosyayı indirip VirtualBox'a eklemeniz yeterlidir — tek bir komut dahi yazmadan derleme ortamına sahip olursunuz!
- İşletim Sistemi: FreeBSD 11.3-RELEASE
- Derleyici: GCC 4.9 (gcc49)
- Format: VDI (VirtualBox Disk Image)
- Hedef Kullanım: GCC 4.9 ile derlenmiş eski Metin2 serverfiles kaynak kodlarının derlenmesi
- Örnek Uyumlu Files: Zearth2 Serverfiles ve benzeri eski kaynak kod paketleri
- Önceden Yapılandırma: GCC49 kurulu, gerekli kütüphaneler yüklü, derleme ortamı hazır
- Kullanıcı Adı: root
- Şifre: dev
Kaynak kodlarınızın hangi GCC sürümü ile derlenmesi gerektiğini kontrol etmek çok basittir. Aşağıdaki adımları izleyin:
Adım 1: MAKEFILE Dosyasını Açın
Not: "sursata" kısmı, kullandığınız kaynak kod paketine göre değişiklik gösterebilir (örn: "source", "src", "game_src" vb.). Kendi dizin yapınıza göre uygun yolu bulun.
Adım 2: MAKEFILE İçinde GCC Sürümünü Arayın
MAKEFILE dosyasını bir metin editörü ile (nano, vim, ee vb.) açtıktan sonra şu satırları arayın:
Eğer MAKEFILE içinde "gcc49", "g++49", "GCC 4.9" veya benzeri ifadeler görüyorsanız, kaynak kodlarınız bu VDI ile uyumludur!
Adım 3: Diğer GCC Sürümleri İçin Karşılaştırma
- GCC 4.9: gcc49, g++49 → Bu VDI ile uyumlu

- GCC 7.4: gcc74, g++74 → Başka bir VDI gerekli
- GCC 8.3: gcc83, g++83 → Başka bir VDI gerekli
- GCC 9.3: gcc93, g++93 → Başka bir VDI gerekli
- GCC 10+: gcc10+, g++10+ → Başka bir VDI gerekli
- Clang: cc, c++ (FreeBSD varsayılan) → Farklı yapılandırma gerekli
VDI dosyasını VirtualBox'a ekledikten ve sanal makineyi başlattıktan sonra, internet bağlantısını yapılandırmanız gerekebilir. FreeBSD'de ağ yapılandırması için aşağıdaki komutu kullanın:
bsdconfig Networking Rehberi:
- Komutu terminalde yazın ve Enter'a basın
- Açılan menüde "Interfaces" seçeneğini seçin
- Ağ arayüzünüzü seçin (genellikle em0 — Intel kartlar için, veya re0 — Realtek kartlar için)
- "IPv4 Configuration" seçeneğini seçin
- DHCP ile otomatik IP almak için "DHCP" seçeneğini işaretleyin
- "OK" diyerek onaylayın ve yapılandırmayı kaydedin
- Test etmek için:
- DNS testi için:
Alternatif Manuel Ağ Yapılandırması:
Eğer bsdconfig çalışmazsa, manuel olarak yapılandırabilirsiniz:
Adım 1: VDI Dosyasını İndirin
Konu altındaki bağlantıdan VDI dosyasını indirin. Dosya boyutu oldukça büyük olabilir, sabırla bekleyin.
Adım 2: VirtualBox'ta Yeni Sanal Makine Oluşturun
- VirtualBox'u açın ve "Yeni" (New) butonuna tıklayın
- İsim: "FreeBSD 11.3 GCC49" (veya istediğiniz bir isim)
- İşletim Sistemi: BSD → FreeBSD (64-bit)
- RAM: Minimum 2048 MB (2 GB) önerilir — 4096 MB (4 GB) idealdir
- Disk: "Mevcut bir sanal disk dosyası kullan" (Use an existing virtual hard disk file) seçeneğini işaretleyin
- İndirdiğiniz .vdi dosyasını seçin
- "Oluştur" (Create) butonuna tıklayın
Adım 3: Sanal Makine Ayarlarını Optimize Edin
- İşlemci (CPU): En az 2 çekirdek, 4 çekirdek önerilir
- RAM: Derleme sırasında yüksek RAM kullanımı olur — 4 GB+ önerilir
- Ağ Bağlantısı: "Köprü" (Bridged Adapter) modunu seçin — internet erişimi için
- Paylaşılan Klasör (Shared Folders): Kaynak kodlarınızı sanal makineye aktarmak için paylaşılan klasör ekleyin
- Sürücü Denetleyicisi: SATA veya NVMe önerilir
Adım 4: Sanal Makineyi Başlatın
- Sanal makineyi başlatın
- FreeBSD boot ekranı görünecek — otomatik olarak önyükleme yapacak
- Login prompt geldiğinde:
- Username: root
- Password: dev
- Tebrikler! Derleme ortamına giriş yaptınız!
Yöntem 1: Paylaşılan Klasör (Shared Folder) — Önerilen
- VirtualBox ayarlarında "Paylaşılan Klasörler" (Shared Folders) bölümüne gidin
- Yeni bir klasör ekleyin, host makinedeki kaynak kod dizinini seçin
- "Otomatik Bağlama" (Auto-mount) işaretleyin
- "Kalıcı Yap" (Make Permanent) işaretleyin
- Sanal makinede bağlama noktası oluşturun:
- Klasörü bağlayın:
- Kaynak kodlarınız artık /mnt/shared altında erişilebilir
Yöntem 2: SCP ile Dosya Transferi
Yöntem 3: WinSCP ile Grafiksel Transfer (Windows)
- WinSCP programını indirin ve açın
- Protokol: SFTP
- Host: 127.0.0.1 (veya sanal makine IP'si)
- Port: 22 (VirtualBox port forwarding ayarlıysa 2222)
- Kullanıcı: root
- Şifre: dev
- Bağlanın ve dosyaları sürükleyip bırakın
Genel Derleme Komutları
Kaynak kodlarınızı sanal makineye aktardıktan sonra, kaynak kod dizinine gidin ve derleme işlemini başlatın:
Tam Server Derleme (Game + DB + Auth)
Eğer tüm server bileşenlerini derlemek istiyorsanız:
Derleme Çıktılarını Kontrol Etme
Host makinenizden sanal makineye SSH ile erişmek istiyorsanız:
- VirtualBox'ta sanal makine ayarlarını açın
- "Ağ" (Network) → "Gelişmiş" (Advanced) → "Port Yönlendirme" (Port Forwarding)
- İsim: SSH
- Protokol: TCP
- Host IP: Boş bırakın
- Host Port: 2222
- Konuk IP: Boş bırakın
- Konuk Port: 22
- SSH bağlantısı:
Bu VDI dosyası aşağıdaki tip serverfiles ve kaynak kod paketleriyle uyumludur:
- Zearth2 Serverfiles — Kesin uyumlu
(GCC 4.9 ile derlenmiş) - Eski tip source paketleri — MAKEFILE'da gcc49 tanımlı olanlar

- 2014-2017 arası yayınlanan files'ler — Genellikle GCC 4.9

- Bazı orta dönem files'ler — GCC sürümünü kontrol edin

- Yeni tip source paketleri — GCC 7+ gerektirenler
(farklı VDI kullanın) - Mainline/Up-to-date source'lar — GCC 10+ gerektirenler

S: Bu VDI VMware ile kullanılabilir mi?
C: VDI formatı doğrudan VMware ile uyumlu değildir. Ancak VBoxManage aracı ile VDI'yi VMDK'ye dönüştürebilirsiniz:
S: Derleme sırasında "gcc49: command not found" hatası alıyorum?
C: GCC49 kurulu olmayabilir. Kurmak için:
Veya paket olarak:
S: "libstdc++.so" hatası alıyorum?
C: GCC49 kütüphanelerini yükleyin:
S: Sanal makine çok yavaş çalışıyor?
C: VirtualBox Guest Additions'ı kurun ve aşağıdaki ayarları kontrol edin:
- RAM'i en az 4 GB yapın
- CPU çekirdek sayısını artırın (4+)
- "Nested Paging" ve "VT-x/AMD-V" etkin olduğundan emin olun
- Disk olarak SSD veya NVMe kullanın
S: FreeBSD 11.3 desteği devam ediyor mu?
C: FreeBSD 11.3, EOL (End of Life) durumundadır ve resmi güvenlik güncellemeleri almamaktadır. Ancak derleme ortamı olarak kullanılması tamamen uygundur — bu sanal makine production server olarak değil, yalnızca kaynak kod derlemek için tasarlanmıştır!
Host Makine (Sanal Makineyi Çalıştıran Bilgisayar) Minimum Gereksinimler:
- İşlemci (CPU): 64-bit desteği olan en az çift çekirdekli işlemci — VT-x/AMD-V desteği şart
- RAM: Minimum 8 GB (4 GB sanal makine + 4 GB host sistem)
- Disk Alanı: Minimum 15 GB boş alan (VDI dosyası + genişletilmiş disk)
- İşletim Sistemi: Windows 7/8/10/11, Linux veya macOS
- VirtualBox: En az VirtualBox 6.0+ (VirtualBox 7.x önerilir)
- İnternet Bağlantısı: İlk kurulum ve güncellemeler için gerekli
Sanal Makine İçin Önerilen Ayarlar:
- CPU Çekirdekleri: 4 çekirdek
- RAM: 4096 MB (4 GB)
- Video RAM: 128 MB
- Ağ: Bridged Adapter
- Disk: VDI (dinamik olarak genişleyen)
- Bu VDI dosyası yalnızca derleme (compilation) amacıyla tasarlanmıştır. Production server olarak kullanmayın!
- FreeBSD 11.3 EOL (End of Life) durumundadır — güvenlik güncellemeleri almaz. İnternete açık sunucularda kullanmayın!
- Varsayılan root şifresini mutlaka değiştirin — özellikle sanal makineyi ağa açacaksanız.
- Derleme öncesi kaynak kodlarınızın yedeğini alın — olası derleme hatalarında geri dönebilmeniz için.
- MAKEFILE dosyanızı kontrol edin — GCC sürümünün 4.9 olduğundan emin olun.
- VirtualBox Guest Additions'ı kurmanız performansı önemli ölçüde artıracaktır.
- Paylaşılan klasör kullanırken dosya izinleriyle ilgili sorunlar yaşayabilirsiniz — kullanın.
- Bu VDI dosyası topluluk paylaşımıdır — ticari kullanım için ilgili geliştirici ile iletişime geçin.
- Clang ile derleme bu VDI'nin kapsamı dışındadır — Clang kullanmak istiyorsanız farklı bir yapılandırma gerekir.
⚠ Sorumluluk Reddi
Bu paylaşım tamamen eğitim, araştırma ve geliştirme amaçlı hazırlanmıştır.
Dosyaların kullanımı, düzenlenmesi veya farklı sistemlerde çalıştırılması sonucunda oluşabilecek veri kayıpları, sistem hataları, güvenlik problemleri veya üçüncü taraf yazılımlarla yaşanabilecek uyumsuzluklardan paylaşımı yapan kişi sorumlu değildir.
Kurulum öncesinde gerekli yedeklemelerin alınması tavsiye edilir.
Dosyayı indirerek ve kullanarak bu şartları kabul etmiş sayılırsınız.
Herhangi bir kurulum yada teknik destek sağlamıyorum.
