El Cuartel
"Karargah — operasyon ilk kez kendi sahasında nefes alır"
- Üretim sunucusu canlıda: Türk VDS'inde ilk gerçek konuşlanma. Ubuntu 22.04.5 LTS üzerinde tam yığın ayakta — MariaDB 10.6 LTS, nginx, PHP-FPM 8.1, ufw, fail2ban, restic yedek — ve i386 multiarch açık (open.mp 1.5.8'in 32-bit ELF'i için zorunlu). 25 SQL migration ilk denemede temiz uygulandı; oyun sunucusu 0.0.0.0:7777'de bağlantı bekliyor, [ZEHIR] Schema OK: 24 migrations applied hattı boot logunda. Yazılan kod artık geliştirme makinesinde değil, gerçek bir Türk veri merkezinde nefes alıyor.
- Forum ve whitelist köprüsü uçtan uca: forum.zehir-rp.com Let's Encrypt sertifikasıyla canlı. MyBB 1.8.39 + dvzHash bcrypt (cost 12) + Form Creator + özel zehir_whitelist eklentisi kurulu; zehir_darkfire CSS overlay'i tema sistemine yedirildi. Forum UCP'sindeki "Oyun Tokeni Al" sayfası 6 haneli bir token üretiyor, 24 saat geçerli, sadece forum_uid · token · token_expires kolonlarına yazma izni olan ayrı bir MySQL kullanıcısıyla zehir_game.accounts'a düşürüyor. Oyun içi tüketim → bcrypt master şifre belirleme → spawn. Yetkilendirme zinciri uçtan uca ilk gerçek kullanıcıyla doğrulandı.
- İlk tester sahada: İlk whitelist'li hesap (apollo, forum_uid=2) Fort Carson newbie zone'da spawn oldu — 30 dakikalık başlangıç korumasıyla. Tüm onboarding akışı tek bir oyuncuyla zorlandı: forum kaydı → admin onayı (yeni scripts/approve-tester.sh ile tek komut) → UCP tokeni → oyun içi tek seferlik kullanım → master şifre → karakter oluşturma → ilk spawn. Beş ayrı bağlanma denemesinde üç farklı tıkanma noktası yüzeye çıktı, üçü de aynı seansta kapatıldı.
- Üç oyun-kıran karakter oluşturma hatası kapatıldı: Karakter Seçimi diyaloğunun gövdesindeki başlık satırları, DIALOG_STYLE_LIST'i fantom butonlara çeviriyordu — tester görünen "Slot 1" yerine "Hesap: ..." satırını tıklıyordu ve diyalog kendini sonsuza yeniden açıyordu. İsim Onayı popup'ı backstory diyaloğundan sonra ekrana hiç gelmiyordu — easyDialog'un 32700 dialogid'sini her diyalog için yeniden kullanması, INPUT→MSGBOX geçişinde open.mp client'ının yeni paketi sessizce düşürmesine yol açıyordu (SetTimerEx ile 150ms gecikmeyle çözüldü). Onayla'ya basıldığında karakter INSERT'i sessizce başarısız oluyordu — JSON şablonu üretildikten sonra kaçırma fonksiyonu çalışıyor, şablonun kendi tırnaklarını da kaçırıyor, metadata kolonundaki CHECK(json_valid) kısıtını tetikliyordu. Üçü de düzeldi; karakter oluşturma akışı uçtan uca çalışıyor.
- Konuşlanma alet kitabı sertleştirildi: scripts/install-vds.sh artık sıfırdan bir Türk VDS'sini production'a getiriyor — i386 libs, MariaDB yığını, ufw kuralları, systemd unit, 25 migration, debian-sys-maint auth yolu, migration 011 için zehir_mybb üzerinde geçici DDL grantı. Üç bug deploy boyunca yüzeye çıktı ve kapatıldı (paket adı, sha256sum paketi, GRANT-on-non-existent-table). Yeni scripts/approve-tester.sh aracıyla yeni tester'lar tek satırda cartel_whitelist ve Whitelisted grubuna ekleniyor. Yan değişiklik: varsayılan IC says formatı "Name says: text" yerine sade "Name: text" — Türk RP konvansiyonuna hizalandı. Geçici: Tester sahasını gezebilsin diye pozisyon-delta anti-cheat ve harita sınırları kapatıldı; oyun-kıran değil, lansman öncesi geri açılacak.
Sunucu canlı, ilk tester içeride, deployment alet kitabı sertleşti. Sıra Session 7 — Fraksiyonlar.