Cara Memperbarui Docker Azerothcore dengan benar dengan penyesuaian untuk kode (skrip), modul, dan database (misi tambahan, vendor, item)
Saya menjalankan Azerothcore-WOLTK di dalam container Docker. Saya ingin memperbarui server karena saya membaca ada perbaikan keamanan yang penting.
Namun saya tidak pernah memperbarui server sejak saya pertama kali menginstalnya tahun lalu (Desember 2019). Sejak itu, saya telah menyesuaikan server dengan beberapa cara:
- Saya telah menyesuaikan beberapa skrip bos agar berfungsi dengan baik dengan dua pemain.
- Saya telah menginstal beberapa modul, termasuk yang juga membutuhkan beberapa kode tambahan untuk dikompilasi, dan beberapa kueri SQL untuk dijalankan.
- Saya telah memodifikasi database sendiri, menambahkan Quest, NPC, Vendor, dan Item
Karena itu, saya sangat khawatir saya akan mengacaukan semuanya. Saya memerlukan bantuan Anda tentang cara melanjutkan untuk memperbarui server ke versi terbaru sambil mempertahankan semua penyesuaian yang telah saya lakukan.
Saya sangat khawatir tentang perubahan basis data karena saya pikir saya dapat membuat cadangan skrip bos yang diperbarui, melakukan git pull dan menggantinya lagi sebelum membangun (saya harus melakukan percabangan setelah itu, saya tidak memikirkannya) ... Tapi Bagaimanapun saya akan sangat berterima kasih jika Anda dapat membimbing saya langkah demi langkah di sepanjang jalan, mengingat saya menggunakan instalasi buruh pelabuhan.
Untuk database apa pun yang terkait, saya menggunakan Heidi SQL, jadi saya bisa menggunakannya untuk semua prosedur Database. Saya tidak terlalu mahir dalam kueri SQL, tetapi saya harus dapat mengimpor file .sql sesuai kebutuhan.
Aku sadar aku banyak bertanya, jadi tolong jangan merasa tertekan untuk langsung menjawab. Saya akan sangat berterima kasih jika Anda dapat membantu saya kapan pun Anda memiliki kesempatan.
Terima kasih atas waktu Anda :)
Jawaban
Saya akan mencoba menjawab semua poin yang Anda sebutkan:
1. Skrip bos.
Hal terburuk yang dapat terjadi adalah Anda mendapatkan konflik gabungan saat menarik perubahan terbaru menggunakan git
. Jadi, Anda harus menyelesaikannya secara manual. Ini tidak selalu sulit, terutama dalam kasus Anda. Itu hanya skrip bos, jadi secara alami, mereka cukup mandiri dan Anda pasti tidak akan merusak apa pun saat mengotak-atiknya.
2. Modul
Modul seharusnya tidak menjadi masalah sama sekali. Modul ada persis karena alasan ini: diisolasi dan tidak menyebabkan masalah jika inti diperbarui atau serupa.
Satu-satunya perhatian saya di sini adalah modul yang membutuhkan perubahan inti. Saya tidak tahu modul apa yang Anda instal, biasanya ini tidak boleh terjadi. Modul AzerothCore yang tepat seharusnya tidak memerlukan perubahan inti apa pun. Namun, sekali lagi, hal terburuk yang dapat Anda alami adalah beberapa konflik git merge, saya harap tidak terlalu besar (tergantung pada seberapa besar dan invasif perubahan ini yang diperlukan oleh modul).
3. Perubahan database kustom.
Aturan utamanya adalah: selalu simpan kueri SQL kustom Anda di suatu tempat, dengan cara yang dapat dengan mudah diterapkan kembali. Misalnya, selalu gunakan DELETE
sebelumnya INSERT
, pilih UPDATE
jika memungkinkan, dll ...
Jadi yang Anda perlukan hanyalah sebuah file (atau sekumpulan file) yang berisi semua kode SQL Anda sesuai dengan perubahan kustom yang Anda buat. Jika Anda tidak memilikinya, Anda masih dapat mengekstraknya dari DB Anda.
Kemudian Anda selalu dapat menerapkannya kembali setelah Anda memperbarui inti Anda, jika Anda merasa itu diperlukan. Mungkin juga Anda tidak perlu menerapkannya kembali sama sekali. Atau mungkin Anda ingin memulai dari database dunia AzerothCore baru dan menerapkan ulang perubahan Anda. Ini benar-benar tergantung pada kasus tertentu, tetapi bagaimanapun Anda akan baik-baik saja (selama Anda menyimpan perubahan Anda dalam file SQL).
Anda dapat menggunakan Keira3 untuk mengedit database Anda, atau hanya mengekstrak perubahan Anda jika perlu. Misalnya, Anda dapat membuka entitas dan menyalin "kueri lengkap" -nya.
Cadangkan dulu
Sebelum memulai prosedur peningkatan, buat cadangan dari:
- DB Anda
- file sumber yang telah Anda modifikasi (mis. bos, dll ...)
Perbarui sesering mungkin!
Namun saya tidak pernah memperbarui server sejak saya pertama kali menginstalnya tahun lalu (Desember 2019).
Ini sama sekali tidak disarankan! Anda seharusnya sering memperbarui AzerothCore Anda (setidaknya sekali seminggu). Ada banyak alasan bagus untuk melakukannya, salah satunya adalah: jauh lebih mudah jika Anda sering melakukannya.
Cara memperbarui AzerothCore saat menggunakan Docker
Sebuah pertanyaan umum tentang memperbarui AC dengan Docker telah ditanyakan di sini: Bagaimana cara memperbarui kontainer buruh pelabuhan azerothcore-wotlk