aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Metin2

Sıfırdan Metin2 PvP Server Nasıl Kurulur? (2026 Rehberi)

Kendi Metin2 PvP server'ını sıfırdan kurmak ilk bakışta korkutucu görünür: C++ ile derlenen bir oyun çekirdeği, MySQL veritabanı, Lua quest sistemi ve ayrı bir istemci… Ama mantığı bir kez oturduğunda her şey yerine oturur. Bu rehberde, kendi PvP sunucum Runa2'yi geliştirirken edindiğim deneyimle, bir Metin2 sunucusunun nasıl ayağa kaldırıldığını adım adım anlatıyorum.

Metin2 PvP server kurmak için neye ihtiyacın var?

Başlamadan önce elinde şunlar olmalı:

  • Bir sunucu (VPS veya kök sunucu) — Metin2 çekirdeği klasik olarak FreeBSD üzerinde çalışır. Başlangıç için 2 vCPU ve 4 GB RAM yeterlidir; oyuncu sayısı arttıkça yükseltirsin.
  • MySQL/MariaDB — hesaplar, karakterler, item'lar ve loglar burada tutulur.
  • Sunucu dosyaları (server files) — auth, db ve game çekirdekleri ile yapılandırma dosyaları.
  • İstemci (client) — oyuncuların indirip oynadığı, Python 2.7 tabanlı arayüze sahip oyun dosyaları.
  • Temel Linux/FreeBSD bilgisi — SSH, dosya izinleri ve derleme araçları.

Sunucu dosyalarının yapısı

Bir Metin2 sunucusu tek bir program değildir; birlikte çalışan birkaç çekirdekten oluşur:

  • auth — giriş ve hesap doğrulama.
  • db — veritabanı ile oyun arasındaki köprü; karakter ve item verisini yönetir.
  • game (ch1, ch2…) — asıl oyun mantığının çalıştığı kanallar. PvP, NPC, harita ve quest'ler buradadır.

Bu çekirdekler birbirleriyle portlar üzerinden konuşur, bu yüzden her birinin CONFIG dosyasındaki IP ve port ayarları tutarlı olmalıdır.

Adım adım kurulum

  1. Sistemi hazırla. FreeBSD'yi güncelle ve derleme için gerekli paketleri kur. Sunucuya ayrı bir kullanıcı açıp çekirdekleri root ile çalıştırmamak iyi bir alışkanlıktır.
  2. MySQL'i kur ve veritabanını içe aktar. Server files ile gelen .sql dökümlerini (account, player, common, log) içe aktar:
    mysql -u root -p account < account.sql
    mysql -u root -p player  < player.sql
  3. Çekirdekleri derle veya çalıştır. Kaynak kodun varsa gmake ile derle; hazır binary kullanıyorsan izinleri ayarla ve sırayla dbauthgame olacak şekilde başlat. Önemli: Metin2 çekirdekleri 32-bit'tir; 64-bit FreeBSD kullanıyorsan derlemeyi 32-bit bir jail/sanal makinede yapıp binary'leri sunucuya taşıman gerekir. Lua questlerini de qc derleyicisiyle derlemeyi unutma.
  4. Yapılandırmayı düzenle. Her çekirdeğin CONFIG dosyasında sunucu IP'sini, portları ve veritabanı bilgilerini gir. Yanlış bir port, "sunucu listede görünmüyor" hatasının bir numaralı sebebidir.
  5. İstemciyi bağla. İstemcideki serverinfo.py (veya benzeri) dosyasına sunucunun IP ve portunu yaz. Artık client, kendi sunucuna bağlanır.

PvP dengesi: 55–120 sunucu ayarları

Bir PvP sunucusunu özel kılan şey teknik kurulum değil, dengedir. Runa2'yi 55–120 seviye aralığında kurguladım. Bu aralıkta dikkat edilmesi gerekenler:

  • Deneyim (EXP) oranları — oyuncuların hızlıca PvP seviyesine ulaşmasını sağlayacak kadar yüksek, ama oyunu anlamsız kılmayacak kadar dengeli olmalı.
  • Item ve büyü değerleri — sınıflar arası denge için saldırı/savunma değerlerini test ederek ayarla. Tek bir sınıfın baskın olması sunucuyu hızla öldürür.
  • Quest'lerle yönlendirme — Lua quest sistemiyle oyuncuyu seviye atlarken doğru ekipmana yönlendir.

Yayına almadan önce: güvenlik ve performans

Sunucu açılmadan önce mutlaka şunları yap:

  • Veritabanı için güçlü parolalar ve yalnızca gerekli portları açan bir güvenlik duvarı kullan.
  • Düzenli yedek al — karakter ve hesap tablolarını otomatik yedekleyen bir cron işi kur.
  • MySQL'de index'leri kontrol et; yoğun anlarda yavaş sorgular sunucuyu kilitleyebilir.
  • Saldırılara karşı (DDoS, item dupe) logları aktif tut ve anormal davranışları izle.

Sık Sorulan Sorular

Metin2 PvP server kurmak için kodlama bilmek şart mı?

Temel kurulum için Linux/FreeBSD komutlarını bilmek yeterli. Ancak quest yazmak, item eklemek veya denge ayarı için Lua ve biraz C++ bilmek seni bağımsız kılar.

Hangi işletim sistemi gerekli?

Geleneksel olarak FreeBSD kullanılır çünkü çekirdekler bu sistemde derlenmiştir. Modern dağıtımlarla da çalışmak mümkündür ama FreeBSD en uyumlu seçenektir.

Sunucu kaç oyuncu kaldırır?

Donanıma ve optimizasyona bağlı. İyi index'lenmiş bir MySQL ve birkaç kanal ile orta ölçekli bir VPS yüzlerce eşzamanlı oyuncuyu rahatlıkla taşır.

Kendi oyununu mu kurmak istiyorsun? Metin2 sunucusu kurulumundan denge ayarına ve Discord botu entegrasyonuna kadar yardımcı olabilirim — benimle iletişime geç.

Bu kategorideki tüm yazılar →

Devamı için