İçeriğe geç

Mevcut bir sunucuyu güncelleme

Bu sayfa zaten çalışan bir sunucu içindir. Sıfırdan kurulum için Kurulum ya da txAdmin tarifi kullanılır. Yedekler ve geçişler hakkında genel bilgi Güncelleme ve veritabanı sayfasındadır.

  1. Sunucuyu durdur.
  2. Tüm sunucu klasörünün ve veritabanının yedeğini al. Kurduğun sürümün dokunulmamış bir kopyasını sakla.
  3. Yeni sürümü ayrı bir klasöre çıkar. Sunucunun üzerine asla çıkarma.

Değişiklikleri güncelleme aracıyla gözden geçir

Section titled “Değişiklikleri güncelleme aracıyla gözden geçir”

Python 3.10 veya daha yenisi ve Git gerekir. Sürümde update/bs_update.py bulunur.

python update/bs_update.py prepare --base OLD_RELEASE --local YOUR_SERVER --new NEW_RELEASE --review REVIEW_FOLDER
  • REVIEW_FOLDER/plan.json tam olarak hangi dosyaların değiştiğini listeler. Önerilen sürümler proposed/ içindedir.
  • Düzenlemediğin dosyalar temiz biçimde güncellenir. Düzenlediğin dosyalar üç yönlü birleştirme alır, çakışması olanlar elle bakılmalıdır. Yalnızca sende olan dosyalara dokunulmaz.
  • Config dosyaları da aynı incelemeden geçer, bu yüzden parolalarının ya da özel ayarlarının üzerine körlemesine yazma.

Yalnızca onayladığın yolları REVIEW_FOLDER/accept.txt içine satır başına bir tane olacak şekilde yaz. Önce tüm birleştirme işaretlerini çöz. Onaylanmış bir silme tam olarak o dosyayı kaldırır. Sonra:

python update/bs_update.py apply --review REVIEW_FOLDER

Başka bir şey düzenlemeden önce onaylanan dosya değişikliklerini geri almak için: python update/bs_update.py rollback --review REVIEW_FOLDER. Gerekirse veritabanı yedeğini ayrıca geri yükle.

Araç veritabanına asla dokunmaz. bs_core yeni geçişleri ilk başlatmada uygular ve sırayla, yalnızca bir kez olacak şekilde bs_migrations içine kaydeder. Yeniler 044_operations.sql, 045_darkzone.sql, 046_building_v2.sql ve 047_faction_emblems.sql olup Veritabanı geçişleri sayfasındaki öncekilere eklenir. Sıfırdan kurulumun veritabanını asla çalışan veritabanının üzerine içe aktarma.

server.cfg dosyanı yenisiyle karşılaştır ve eksikleri ekle. Yeni sistemlerin ihtiyaç duyduğu kaynaklar, canlı sunucunun çalıştırdığı sırayla şunlardır:

ensure bs_config
ensure bs_ui
ensure bs_building
ensure bs_zombies
stop pma-voice
setr voice_useNativeAudio true
setr voice_useSendingRangeOnly true
ensure bs_voice
ensure bs_radio
ensure bs_missions
ensure bs_traders
ensure bs_jobs
ensure bs_events
ensure bs_operations
ensure bs_darkzone # F1 > Dark Zone'da açana kadar kapalı kalır
ensure bs_guard
ensure bs_pushgates
ensure bs_pause
ensure bs_tutorial
ensure bs_pass
ensure bs_survivor

bs_voice, pma-voice yerini alır. Etkinleştirmeden önce pma-voice’u durdur ve onu çağıran özel betiklerini buna taşı.

Özel olarak başlat ve şunları kontrol et: karakter seçimi, envanter, veritabanına kayıtlar ve değişen her şey. Sonucu kabul edene kadar yedekleri sakla.

  • F1’de yeni sayfalar var: Operations, Dark Zone, Hunting, Tutorial & Pause Menu, Themes & UI, Voice & radio ve Building materials. Bkz. Dark Zone, Operasyonlar, Building v2 ve Ses, telsiz ve temalar.
  • Dark Zone kapalıdır. Baskınlar ve üs çürümesi kapalıdır. Sen açana kadar oyuncular için hiçbir şey değişmez.
  • F1 profillerin veritabanındadır ve güncellemeden etkilenmez. Artık var olmayan bir anahtar yok sayılır.
  • Güncellemeden sonra bir şey tuhaf görünürse cache/ klasörünü sil. Makineler arasında asla kopyalama.

server.private.cfg, yalnızca bu makineye ait olanı tutar. server.cfg onu başa yakın bir yerde şu satırla yükler:

exec server.private.cfg

İçine şunları koy:

  • sv_licenseKey ve mysql_connection_string
  • kullanıyorsan steam_webApiKey, VIP satıyorsan bs_vip_tebex_secret
  • Yönetici satırların, add_principal identifier.license:... group.superadmin
sv_licenseKey "anahtarın"
set mysql_connection_string "mysql://kullanici:[email protected]/beyondsurvival?charset=utf8mb4"
add_principal identifier.license:LISANSIN group.superadmin

Kurallar:

  • Git içinde değildir ve güncelleme aracı onu asla ezmez, yani güncelleme anahtarına, parolana ya da yönetici listene dokunmaz.
  • Asla paylaşma, başkaları için arşivleme, commit etme.
  • Convar’lar sırayla okunur ve son set kazanır. server.cfg aynı convar’ı exec satırından sonra tekrar ayarlarsa özel dosyanın önüne geçer. Makineye ait değerleri tek yerde tut ve server.cfg içindeki kopyayı kaldır.
  • Gizli değerler için set kullan, setr değil, çünkü setr değeri tüm oyunculara gönderir.