- Moderatör
- #1
- Kayıtlı
- 1 Yıl 9 Ay 26 Gün
- Katılım
- 10 Ocak 2025
- Konular
- 163
- Mesajlar
- 257
- Tepkime puanı
- 36
- Online süresi
- 11h 19m
- Puan
- 53
- Konum
- Türkiye
- Web sitesi
- www.zyncra.shop
Konu İçeriği — Hızlı Bakış (
Metin2 • ⏱ ~3 dk okuma •
Kod: Bash)
01. CONFIG dosyası nerede durur, ne zaman okunur?
02. Yazım kuralları ve sık yapılan hatalar
03. Çekirdeğin açılması için hangi satırlar zorunlu?
04. Auth, kanal ve ch99 için örnek CONFIG
05. GENERAL_CONFIG ile bütün çekirdeklere ortak ayar
06. Oyun kurallarını değiştiren ayarlar
CONFIG, her game çekirdeğinin kendi klasöründe duran ve çekirdek açılırken okunan düz metin ayar dosyasıdır. Her satır
ANAHTAR: değer biçimindedir; çekirdeğin açılabilmesi için HOSTNAME, CHANNEL, COMMON_SQL, PLAYER_SQL ve LOG_SQL satırları ile sıfır olmayan bir DB_PORT gerekir.» CONFIG dosyası nerede durur, ne zaman okunur?
Sunucu klasöründe her çekirdeğin ayrı bir klasörü vardır: giriş çekirdeği
auth, kanal çekirdekleri chan/ch1/core1, chan/ch1/core2 gibi, ortak kanal chan/ch99/core99. Her klasörde çekirdeğin çalıştırılabilir dosyası, CONFIG ve birkaç küçük yardımcı dosya bulunur.» Yazım kuralları ve sık yapılan hatalar
CONFIG'in ayrıştırıcısı çok basittir ve hata bildirmez. Satırın iki noktaya kadar olan kısmını boşlukları atarak anahtar sayar, iki noktadan sonraki tek karakteri atlar ve kalanını değer olarak alır.
» Çekirdeğin açılması için hangi satırlar zorunlu?
| Satır | Yoksa ya da hatalıysa |
|---|---|
| HOSTNAME | "HOSTNAME must be configured." diyerek kapanır |
| CHANNEL | Eksik ya da 0 ise "CHANNEL not configured" |
| COMMON_SQL | LOAD_COMMON_SQL_INFO_FAILURE |
| PLAYER_SQL | LOAD_PLAYER_SQL_INFO_FAILURE |
| LOG_SQL | Log veritabanına bağlanamayınca "LogSQL.ConnectError" (auth dahil) |
| DB_PORT | Varsayılan 30000; 0 yazılırsa "DB_PORT not configured" |
| DB_ADDR | Varsayılanı boştur; boş kalırsa çekirdek db'ye bağlanamaz |
Bash:
COMMON_SQL: <sunucu> <kullanıcı> <parola> common 3306» Auth, kanal ve ch99 için örnek CONFIG
İncelenen sunucu paketindeki CONFIG dosyalarının her biri on satır. Oyun kurallarının hiçbiri bu dosyalarda değil, GENERAL_CONFIG'te duruyor.
Auth çekirdeği:
Bash:
DB_ADDR: 127.0.0.1
DB_PORT: 30000
COMMON_SQL: <sunucu> <kullanıcı> <parola> common 3306
LOG_SQL: <sunucu> <kullanıcı> <parola> log 3306
PLAYER_SQL: <sunucu> <kullanıcı> <parola> account 3306
AUTH_SERVER: master
HOSTNAME: srv1-auth
CHANNEL: 1
PORT: 30001
P2P_PORT: 30002Kanal 1'in ilk çekirdeği:
Bash:
DB_ADDR: 127.0.0.1
DB_PORT: 30000
COMMON_SQL: <sunucu> <kullanıcı> <parola> common 3306
LOG_SQL: <sunucu> <kullanıcı> <parola> log 3306
PLAYER_SQL: <sunucu> <kullanıcı> <parola> player 3306
HOSTNAME: srv1-ch1-core1
CHANNEL: 1
MAP_ALLOW: 1 3 4 21 23 24 41 43 44
PORT: 30003
P2P_PORT: 30004Ortak kanal (ch99) çekirdeğinde yalnız son beş satır değişir:
Bash:
HOSTNAME: srv1-ch99-core99
CHANNEL: 99
MAP_ALLOW: 81 110 113
PORT: 30009
P2P_PORT: 30010» GENERAL_CONFIG ile bütün çekirdeklere ortak ayar
İncelenen kaynakta GENERAL_CONFIG desteği açık. Çekirdek kendi CONFIG'ini okuduktan sonra
locale/turkey/conf/ klasöründe şu dosyaları sırayla arar ve bulduklarını okur:GENERAL_CONFIG: bütün çekirdekler.GENERAL_CONFIG_CHANNEL_1: yalnız CHANNEL değeri 1 olan çekirdekler.GENERAL_CONFIG_CHANNEL_1_HOSTNAME_srv1-ch1-core1: yalnız o çekirdek.
» Oyun kurallarını değiştiren ayarlar
MAX_LEVEL'i yükseltirken EXP tablosunun da yeni seviyeye kadar dolu olması gerekir; tablo common veritabanındaki exp_table'dan okunur (EXP tablosu). Statü sınırlarının oyuncu tarafındaki etkisi statü puanları yazısında anlatılıyor.
» Güvenlikle ilgili ayarlar
Çekirdeğin oyun portu, oyuncu paketlerinin yanında düz metin yönetim komutlarını da kabul eder: kullanıcı sayısı sorgusu, duyuru, kapatma gibi. ADMINPAGE_IP (ve ADMINPAGE_IP1, IP2, IP3) bu komutları gönderebilecek adresleri, ADMINPAGE_PASSWORD yönetici moduna geçiş parolasını belirler.
» Günlük ayarları: DB_LOG_LEVEL ve LOG_KEEP_DAYS
İncelenen paket 1 kullanıyor; bu seviyede hile kayıtları da tutulmaz. Hile şikâyetlerini incelemek için en az 2 gerekir.
» Etkisiz, tehlikeli ya da Kore'ye özgü satırlar
PASSES_PER_SEC, zamanlayıcıların bir saniyeyi kaç nabız saydığıdır ve 25 kalmalıdır. Çekirdek döngüsü kodda sabit 25 nabızla kurulur; CONFIG'teki değer değiştirilirse döngü hızlanmaz, yalnız bütün süreler orantısız kayar.
» Çekirdek klasöründeki diğer dosyalar
CMD dosyası GM komutlarının yetki seviyesini değiştirir. Her satır
<komut> <seviye> biçimindedir; seviye PLAYER, LOW_WIZARD, WIZARD, HIGH_WIZARD, GOD, IMPLEMENTOR ya da DISABLE olabilir ve tanınmayan bir seviye adı çekirdeği kapatır.Özet Değerlendirme: Game çekirdeğinin CONFIG dosyasının yazım kuralları, zorunlu satırlar, auth, kanal ve ch99 için örnek dosyalar, GENERAL_CONFIG ve oyun kuralı, güvenlik ve günlük ayarlarının kodda gerçekte ne yaptığı.
Sıkça Sorulan Sorular (SSS)
Soru 1: Metin2 CONFIG Ayarları: Game Çekirdeği Seçenekleri ve Anlamları rehberindeki ayarlar tüm sunucu yapılarında geçerli mi?
Evet, rehberde paylaşılan temel mekanikler hem emek (zor) hem de orta/vs'lik sunucu kurgularında doğrudan uygulanabilir; sunucu oranlarına göre küçük ince ayarlar yapılabilir.
Soru 2: En yüksek verim için hangi sıralama takip edilmeli?
Öncelikle karakter/sistem temel gereksinimlerini tamamlayıp ardından konu içerisindeki adım adım dizilim ve optimizasyon tavsiyelerini sırasıyla uygulamanız en yüksek performansı sağlar.
Evet, rehberde paylaşılan temel mekanikler hem emek (zor) hem de orta/vs'lik sunucu kurgularında doğrudan uygulanabilir; sunucu oranlarına göre küçük ince ayarlar yapılabilir.
Soru 2: En yüksek verim için hangi sıralama takip edilmeli?
Öncelikle karakter/sistem temel gereksinimlerini tamamlayıp ardından konu içerisindeki adım adım dizilim ve optimizasyon tavsiyelerini sırasıyla uygulamanız en yüksek performansı sağlar.

