From aeaad08a024756fad8e831c71e58c03b0d8ef2e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefano=20Borz=C3=AC?= Date: Sat, 24 Aug 2024 10:39:52 +0200 Subject: [PATCH 1/2] ci: github action to update AoWoW db using acore-docker (#50) * ci: generate aowow db wip * ci: run docker-compose * ci: wip * ci: wip * ci: add bash script to generate aowow db (wip) * ci: wip * ci: add token * ci: update release commands * ci: make release together with sql data zipped * ci: wip * ci: wip * ci: wip * ci: alpha final script --- .github/workflows/generate-aowow-database.yml | 28 +++++++++ setup/generate-db.sh | 60 +++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 .github/workflows/generate-aowow-database.yml create mode 100644 setup/generate-db.sh diff --git a/.github/workflows/generate-aowow-database.yml b/.github/workflows/generate-aowow-database.yml new file mode 100644 index 00000000..8507f677 --- /dev/null +++ b/.github/workflows/generate-aowow-database.yml @@ -0,0 +1,28 @@ +name: generate-aowow-database +on: + workflow_dispatch: + +jobs: + generate-aowow-db: + permissions: write-all + runs-on: ubuntu-24.04 + steps: + - name: checkout + uses: actions/checkout@v4 + + - name: "run scripts" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git clone https://github.com/azerothcore/acore-docker + cd acore-docker + docker compose up -d + cd ../setup/ + + bash generate-db.sh + + cd .. + + release_name=$(date '+%Y-%m-%d_%H-%M-%S') + gh release create $release_name + gh release upload $release_name "aowow_db.sql.zip" diff --git a/setup/generate-db.sh b/setup/generate-db.sh new file mode 100644 index 00000000..d0625842 --- /dev/null +++ b/setup/generate-db.sh @@ -0,0 +1,60 @@ +# acore-docker credentials +echo " + '127.0.0.1:63306', + 'user' => 'root', + 'pass' => 'password', + 'db' => 'tmp_aowow', + 'prefix' => 'aowow_', +); + +\$AoWoWconf['world'] = array ( + 'host' => '127.0.0.1:63306', + 'user' => 'root', + 'pass' => 'password', + 'db' => 'acore_world', + 'prefix' => '', +); + +\$AoWoWconf['auth'] = array ( + 'host' => '127.0.0.1:63306', + 'user' => 'root', + 'pass' => 'password', + 'db' => 'acore_auth', + 'prefix' => '', +); + +\$AoWoWconf['characters']['1'] = array ( + 'host' => '127.0.0.1:63306', + 'user' => 'root', + 'pass' => 'password', + 'db' => 'acore_characters', + 'prefix' => '', +); + +?> +" >> ../config/config.php + +mysql -u root -ppassword -h 127.0.0.1 -P 63306 -e "CREATE DATABASE tmp_aowow;" +mysql -u root -ppassword -h 127.0.0.1 -P 63306 tmp_aowow < db_structure.sql +mysql -u root -ppassword -h 127.0.0.1 -P 63306 acore_world < spell_learn_spell.sql + +cd .. + +mkdir -p setup/mpqdata/enus/DBFilesClient/ + +wget https://github.com/wowgaming/client-data/releases/download/v16/data.zip +unzip data.zip "dbc/*" -d ./ +mv dbc/* "setup/mpqdata/enus/DBFilesClient/" + +php aowow --sql + +mysqldump -u root -ppassword -h 127.0.0.1 -P 63306 tmp_aowow --ignore-table=tmp_aowow.aowow_config > aowow_update.sql +mysqldump -u root -ppassword -h 127.0.0.1 -P 63306 acore_world > acore_world.sql +zip aowow_db.sql.zip aowow_update.sql acore_world.sql From a62698da9cdd027862396579640a314dcd72d729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefano=20Borz=C3=AC?= Date: Sat, 24 Aug 2024 10:49:32 +0200 Subject: [PATCH 2/2] chore: support creature_template_model, closes #49 --- setup/tools/sqlgen/creature.func.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/setup/tools/sqlgen/creature.func.php b/setup/tools/sqlgen/creature.func.php index 797355aa..107f6973 100644 --- a/setup/tools/sqlgen/creature.func.php +++ b/setup/tools/sqlgen/creature.func.php @@ -22,7 +22,7 @@ public function generate(array $ids = []) : bool IF(ie.entry IS NULL, 0, ?d) AS cuFlags, -- cuFlags difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, - 0 AS modelid1, 0 AS modelid2, 0 AS modelid3, 0 AS modelid4, + IFNULL(ctm1.CreatureDisplayID, 0), IFNULL(ctm2.CreatureDisplayID, 0), IFNULL(ctm3.CreatureDisplayID, 0), IFNULL(ctm4.CreatureDisplayID, 0), "" AS textureString, -- textureString 0 AS modelId, -- modelId 0 AS humanoid, -- uses creaturedisplayinfoextra @@ -118,6 +118,14 @@ public function generate(array $ids = []) : bool creature_template_resistance ctr5 ON ct.entry = ctr5.CreatureID AND ctr5.School = 5 LEFT JOIN creature_template_resistance ctr6 ON ct.entry = ctr6.CreatureID AND ctr6.School = 6 + LEFT JOIN + creature_template_model ctm1 ON ct.entry = ctm1.CreatureID AND ctm1.Idx = 0 + LEFT JOIN + creature_template_model ctm2 ON ct.entry = ctm2.CreatureID AND ctm2.Idx = 1 + LEFT JOIN + creature_template_model ctm3 ON ct.entry = ctm3.CreatureID AND ctm3.Idx = 2 + LEFT JOIN + creature_template_model ctm4 ON ct.entry = ctm4.CreatureID AND ctm4.Idx = 3 WHERE ct.entry > ?d {